Doc fixes.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
b3700ae7
JR
12001-11-13 Jason Rumney <jasonr@gnu.org>
2
3 * w32fns.c: Doc fix.
4
eae936e2
PJ
52001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6
4bb962be
PJ
7 * xfaces.c (Fface_attributes_as_vector): Doc fix.
8
0a332240
PJ
9 * w32fns.c (Fx_synchronize): Reindent.
10
ddb67bdc
PJ
11 * fns.c: Doc fix.
12
3467c402
PJ
13 * emacs.c: Doc fix.
14
15 * coding.c: Doc fix.
16
6e1b91d7
PJ
17 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
18 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
19 `new style' [w/`doc:' keyword].
20
f6e34773
PJ
21 * xmenu.c (x-popup-menu): Reindent.
22 (x-popup-dialog): Likewise.
23
c71f3632
PJ
24 * xfaces.c (Finternal_set_alternative_font_family_alist):
25 Reindent.
26
c2552f79
PJ
27 * xdisp.c (Fdump_tool_bar_row): Reindent.
28
94c7167b
PJ
29 * minibuf.c (Fminibuffer_complete_word): Reindent.
30 (Fminibuffer_complete_and_exit): Likewise.
31 (Fminibuffer_completion_help): Likewise.
32 (Fminibuffer_message): Likewise.
33
462a5e3a
PJ
34 * fns.c (Freverse): Reindent.
35
b8de5714
PJ
36 * eval.c (Fif): Reindent.
37 (Fand): Likewise.
38
deb8e082
PJ
39 * editfns.c (Fuser_real_login_name): Reindent.
40 (Finsert_buffer_substring): Likewise.
41 (Fcompare_buffer_substrings): Likewise.
42 (Fsubst_char_in_region): Likewise.
43
bacf09b4
PJ
44 * dispnew.c (Fsit_for): Reindent.
45 (Fframe_or_buffer_changed_p): Likewise.
46 (Finternal_show_cursor_p): Likewise.
47 (syms_of_display): Likewise.
48
eae936e2
PJ
49 * alloc.c (Flist): Reindent.
50 (Fvector): Likewise.
51
1c1d3d69
RS
522001-11-12 Richard M. Stallman <rms@gnu.org>
53
54 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
55 LeaveNotify events. Only FocusIn and FocusOut do that now.
56 (x_display_and_set_cursor): Do display hollow cursors in active
57 minibuffer windows when they are not selected.
58
b6f4c7ba
JR
592001-11-12 Jason Rumney <jasonr@gnu.org>
60
61 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
62 * w32term.c: Change doc-string comments to `new style'.
63 [w/`doc:' keyword]. Doc fixes.
64
65 * w32fns.c: Don't define max.
66 (Fx_open_connection): Only execute once.
67
a89f435d
PJ
682001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
69
70 * ccl.c: Change macros to use do-while block instead of if-else.
71 Use braces to follow GNU Coding Standards.
72
a4cd0cd7
RS
732001-11-11 Richard M. Stallman <rms@gnu.org>
74
eafb659a
RS
75 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
76
77 * lread.c (read_escape): Use end_of_file_error for reporting eof.
78
a4cd0cd7
RS
79 * insdel.c (replace_range): Use adjust_markers_for_replace
80 instead of adjust_markers_for_delete and adjust_markers_for_insert.
81
82 * intervals.h: Declare set_text_properties and set_text_properties_1.
83
84 * textprop.c (set_text_properties_1): New subroutine
85 broken out of set_text_properties.
86 (set_text_properties): Use set_text_properties_1.
87
88 * intervals.c (graft_intervals_into_buffer):
89 Use set_text_properties_1 to clear out properties.
90
91 * search.c (Freplace_match): Use replace_range to insert
92 and delete. Don't request property inheritance from
93 surrounding text.
94
91823618
JR
952001-11-10 Jason Rumney <jasonr@gnu.org>
96
97 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
98 vertical fonts. Allow them if face name is explicitly specified.
99 Do not give up if we find a font that cannot be converted to an
100 xlfd.
101
86928dfb
GM
1022001-11-10 Gerd Moellmann <gerd@gnu.org>
103
104 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
105 instead of malloc/free.
106
40ef1eda
PJ
1072001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
108
ab8469eb
PJ
109 * xfaces.c (merge_face_vectors): Use braces to follow GNU
110 Coding Standards.
111 (Finternal_set_lisp_face_attribute): Likewise.
112
a78e0303
PJ
113 * buffer.c (Fbury_buffer): Likewise.
114
40ef1eda
PJ
115 * indent.c (current_column_1): Remove unused variable `prev_col'.
116
fabf4a91
PJ
117 * coding.c (encode_coding): Use precomputed value of `src'.
118 (encode_coding): Remove unused variable `src_end'.
119 (code_convert_region): Remove unused variables `count'.
120
0c99b139
JR
1212001-11-07 Jason Rumney <jasonr@gnu.org>
122
123 * w32term.c (x_display_and_set_cursor): Do not move system caret
124 if cursor_glyph is NULL.
125
830ddd77
PJ
1262001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
127
128 * keymap.c (access_keymap): Fix compilation error.
129
55c6d645
MB
1302001-11-07 Miles Bader <miles@gnu.org>
131
132 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
133
5de38842
PJ
1342001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
135
7a4564a4
PJ
136 * intervals.c (graft_intervals_into_buffer):
137 Remove #ifdef'd-out code.
138 (graft_intervals_into_buffer): Remove unused variable `middle'.
139
5de38842
PJ
140 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
141 code (eval-current-buffer).
142 Change doc-string comments to `new style' [w/`doc:' keyword].
143
4fa23df5
RS
1442001-11-06 Richard M. Stallman <rms@gnu.org>
145
146 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
147
7a6a97d7
SM
1482001-11-06 Stefan Monnier <monnier@cs.yale.edu>
149
c191d13c
SM
150 * lread.c (read1): Fix behavior with nested backquoting.
151
7a6a97d7
SM
152 * keyboard.c (make_lispy_event): Check integerness and fix
153 Lisp_Object/int mixup.
154
44dc78e0
PJ
1552001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
156
157 * fns.c (copy_hash_table): Remove unused variable `v'.
158
17893c65
PJ
159 * fontset.c (fontset_font_pattern): Remove unused variable
160 `family_registry'.
161
4d994a79
PJ
162 * indent.c (current_column_1): Remove unused variable `prev_col'.
163
d5360cc7
RS
1642001-11-05 Richard M. Stallman <rms@gnu.org>
165
166 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
167
168 * buffer.c (Fkill_buffer): Don't delete auto save file
169 if buffer is modified.
170
96238a5a
AI
1712001-11-05 Andrew Innes <andrewi@gnu.org>
172
173 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
174 CHECK_NUMBER_CDR.
175
d9d54213
RS
1762001-11-05 Richard M. Stallman <rms@gnu.org>
177
178 * unexelf.c (unexec): Minor changes; clean up comments.
179
b116830b
SS
1802001-11-05 Sam Steingold <sds@gnu.org>
181
182 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
183
3297e2a1
AS
1842001-11-05 Andreas Schwab <schwab@suse.de>
185
186 * sound.c (sound_perror): Save errno from being clobbered.
187
9212319f 1882001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
189
190 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
191 the program image directly.
192
7dd73b78
PJ
1932001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
194
195 * buffer.h (Fbuffer_local_value): Add prototype.
196
982f6c7e
RS
1972001-11-04 Richard M. Stallman <rms@gnu.org>
198
d31053f9
RS
199 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
200 and CHECK_BUFFER.
201
202 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
203 (record_char): Likewise.
204
205 * keyboard.c (make_lispy_event): Don't insist a drag event must
206 move to a different buffer position. Instead, check for moving at
207 least double_click_fuzz.
208
209 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
210
211 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
212
982f6c7e
RS
213 * indent.c (current_column_1, Fmove_to_column): Separate the code
214 for display-table glyphs from the code buffer text, to fix
215 bugs in the former.
216
830047fd
RS
2172001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
218
219 * buffer.c (Fbuffer_local_value): New function.
c191d13c 220 (syms_of_buffer): Defsubr it.
b116830b 221
830047fd
RS
222 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
223 value of `cursor-in-non-selected-windows'.
224
225 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
226 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
227 (syms_of_xdisp): Initialize it.
b116830b 228
2df5238c
PJ
2292001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
230
4e397688
PJ
231 * xfns.c (Fx_create_frame): Doc fix.
232
48b0f3ae
PJ
233 * coding.c: Change doc-string comments to `new style' [w/`doc:'
234 keyword].
235
2df5238c
PJ
236 * eval.c (top_level_value, top_level_set): Remove commented and
237 #ifdef'd-out code.
238 (Fdefvar): Fix usage in doc-string.
239
3ecaf7e5
RS
2402001-11-03 Richard M. Stallman <rms@gnu.org>
241
242 * xfns.c: Include unistd.h, if it exists.
243
244 * editfns.c: Move the include of ctype.h after unistd.h.
245
246 * gmalloc.c: Test BROKEN_PROTOTYPES.
247
8db2e33b
KR
2482001-11-03 Ken Raeburn <raeburn@gnu.org>
249
250 * lisp.h (CHECK_STRING_CAR): New macro.
251 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
252 treating XCAR and XCDR as lvalues.
253 (openp): Use CHECK_STRING_CAR.
254 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
255
aed29b97
EZ
2562001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
257
258 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 259 (SIGMASKTYPE): Define.
aed29b97
EZ
260
261 * syssignal.h (sigunblock): Don't define if already defined.
262
6cb16f95
PJ
2632001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
264
16b45be4
EZ
265 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
266 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
267 Fix typos in comments.
268
020f9b38
PJ
269 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
270 and #ifdef'd-out code.
271 Fix and reindent comments.
272
c191d13c 273 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 274
6cb16f95
PJ
275 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
276 argument `i' in macros.
277
278 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
279 `i' in macros.
280
16b45be4
EZ
281 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
282 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
283 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
284 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
285 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
286 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
287 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
288 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
289 in macros.
290
291 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
292 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
293 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
294 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
295 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
296 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
297 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
298 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
299 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
300 (remove unused second argument).
301
7e9d3c2f
SM
3022001-11-02 Stefan Monnier <monnier@cs.yale.edu>
303
304 * syntax.c (describe_syntax): New wrapper.
305 (Finternal_describe_syntax_value): Rename from describe_syntax.
306 Don't insert space at front and \n at the end.
307 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
308
309 * regex.c (re_wctype): Try to fix some warnings.
310 (regcomp, regexec): Don't forget the __restrict.
311
e6bff182
RS
3122001-11-02 Richard M. Stallman <rms@gnu.org>
313
314 * textprop.c (Fget_char_property): Doc fix.
315
9ba48103
PJ
3162001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
317
318 * process.c (Fstart_process): Add usage to doc-string.
319
320 * data.c (Fsetq_default): Ditto.
321
322 * callint.c (Finteractive): Ditto.
323
c22e59e1
SM
3242001-11-01 Stefan Monnier <monnier@cs.yale.edu>
325
326 * macros.c: Don't include keymap.h any more.
327
9271ed2c
RS
3282001-11-01 Richard M. Stallman <rms@gnu.org>
329
e6bff182
RS
330 * data.c (Fmake_local_variable): Doc fix.
331
332 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
333 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
334
9271ed2c
RS
335 * keymap.c (Fdescribe_buffer_bindings): Print character property
336 bindings along with or instead of the buffer local map.
337 Make the overriding maps override what they should.
338
8b8bd9c6
PJ
3392001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
340
341 * window.c (grow_mini_window): Fix typo in comment.
342
27188d11
GM
3432001-11-01 Gerd Moellmann <gerd@gnu.org>
344
7b49b9d2
GM
345 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
346 (XTset_vertical_scroll_bar): Likewise.
347
43f7c3ea
GM
348 * xfns.c (x_build_heuristic_mask): Use four_corners_best
349 instead of IMAGE_BACKGROUND.
c22e59e1 350
b350c2e5
GM
351 * xfns.c (four_corners_best): Reindent.
352
c22e59e1 353 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
354 Handle :box so that it is possible to specify sexprs.
355
d576358b
PJ
3562001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
357
358 * xfaces.c (Finternal_merge_in_global_face): Reindent.
359 (Fface_font): Ditto.
360 (Finternal_set_alternative_font_registry_alist): Ditto.
361 (Ftty_suppress_bold_inverse_default_colors): Ditto.
362
363 * xfns.c (x-get-resource): Reindent.
364
bf00d461
EZ
3652001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
366
367 * s/hpux11.h: New file.
368
4e10df59
PJ
3692001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
370
2b209b97
PJ
371 * emacs.c (USAGE1): Show command line option --no-window-system
372 instead of --no-windows in usage.
373 (standard_args): Rename --no-windows to --no-window-system.
374 (bug_reporting_address): Follow Emacs coding conventions.
375
9dbc9081
PJ
376 * eval.c (Fcommandp): Doc fix.
377 Change doc-string comments to `new style' [w/`doc:' keyword].
378
4e10df59
PJ
379 * frame.c (Fframe_live_p): Doc fix.
380
381 * buffer.c (selective-display-ellipses): Doc fix.
382
dd387b25
GM
3832001-10-31 Gerd Moellmann <gerd@gnu.org>
384
fe957e65
GM
385 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
386
dd387b25
GM
387 * xfaces.c (realize_x_face): If C is not a single-byte character,
388 set the face's colors_copied_bitwise_p instead of the defaulted_p
389 members which have a different meaning.
390 (free_face_colors): Do nothing for a face whose colors have been
391 copied bitwise.
392
c22e59e1 393 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 394
2e1280f8
PJ
3952001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
396
687784e8
PJ
397 * marker.c, mocklisp.c: Change doc-string comments to `new style'
398 [w/`doc:' keyword].
2e1280f8 399
b9d9a9b9
GM
4002001-10-31 Gerd Moellmann <gerd@gnu.org>
401
402 * fns.c (require_unwind): Return Lisp_Object.
403
48400103
PJ
4042001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
405
fa1361cb
PJ
406 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
407 (last-input-char): Revert doc-string to be the same as the
408 doc-string of `last-input-event'.
409
48400103
PJ
410 * xdisp.c: Fix typos in comments.
411
eafa3196
GM
4122001-10-31 Gerd Moellmann <gerd@gnu.org>
413
414 * window.c (grow_mini_window): Handle case that the root
415 window is already smaller than the nominal mininum height.
416
747d3f2a
SM
4172001-10-30 Stefan Monnier <monnier@cs.yale.edu>
418
bf9bb76f
SM
419 * emacs.c (main): Don't call keys_of_macros any more.
420
421 * lisp.h (keys_of_macros): Remove.
422
423 * macros.c (keys_of_macros): Remove.
424
747d3f2a
SM
425 * xfaces.c (Fface_attribute_relative_p): Declare args.
426
5e905a57
JR
4272001-10-30 Jason Rumney <jasonr@gnu.org>
428
429 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
430 (enum_font_cb2): Ignore fonts with vertical orientation.
431
3a426197
RS
4322001-10-30 Richard M. Stallman <rms@gnu.org>
433
434 * keyboard.c (Finput_pending_p): Doc fix.
435
a742d646
GM
4362001-10-30 Gerd Moellmann <gerd@gnu.org>
437
259cf6bc
GM
438 * xterm.c (x_after_update_window_line): Don't run the code
439 clearing in borders for rows whose visible height is 0.
440
3f99f948
GM
441 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
442 resized_p flag is set. If not set, use the much less flickering
443 method previously used.
444
445 * dispnew.c (change_frame_size_1): Set frame's resized_p.
446
447 * frame.h (struct frame) <resized_p>: New member.
448
b4a3be43
GM
449 * lread.c (to_multibyte): Ensure read_buffer is at least twice
450 as large as the number of bytes to convert.
747d3f2a 451
a742d646
GM
452 * lread.c (to_multibyte): New function.
453 (read1): Use it.
454
cacbb9e9
EZ
4552001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
456
457 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
458
99cb6b2f
GM
4592001-10-30 Gerd Moellmann <gerd@gnu.org>
460
327f42ee 461 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
462 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
463 if the row's fill_line_p is set and drawing the last glyph with
464 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 465
99cb6b2f
GM
466 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
467
8e8223e2
SM
4682001-10-29 Stefan Monnier <monnier@cs.yale.edu>
469
470 * xmenu.c: Include coding.h and charset.h.
471 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
472 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
473 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
474 Explicitly set wv->help. Use `TRUE' rather than `True'.
475 (menu_help_callback): Use empty_string.
476
477 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
478 (Fx_popup_dialog): Explicitly init f.
479 (w32_menu_display_help): Use empty_string.
480
4d083a8f
RS
4812001-10-29 Richard M. Stallman <rms@gnu.org>
482
b2304472
RS
483 * fns.c (Frequire): Detect recursive try to require the same
484 feature 3 or more levels deep, and get error.
485 (require_unwind): New subroutine.
486 (require_nesting_list): New variable.
487 (syms_of_fns): Init and staticpro it.
488
4d083a8f
RS
489 * print.c (print_object): Clarify indication of insertion type.
490
2fe41216
EZ
4912001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
492
90480000
EZ
493 * coding.c (syms_of_coding): Document that locale-coding-system is
494 used for decoding input on X.
495
2fe41216
EZ
496 * window.c (Fscroll_left, Fscroll_right): Doc fix.
497
74e79967
PJ
4982001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
499
500 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
501 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
502
60ebcfe8
GM
5032001-10-29 Gerd Moellmann <gerd@gnu.org>
504
9a7bdceb
GM
505 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
506 use NO_CURSOR if cursor_in_non_selected_windows is false.
507
3f08fcd2
GM
508 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
509 the slant attribute if FRAME is t.
510
0ccfdad2
GM
511 * xfns.c (x_set_internal_border_width): Set frame garbaged
512 when X window doesn't exist yet.
513
ef253080
GM
514 * xterm.c (x_after_update_window_line): Clear internal border
515 in different circumstances.
b116830b 516
60ebcfe8
GM
517 * xterm.c (XTread_socket) <KeyPress>: Don't use
518 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
519 <handa@etl.go.jp>.
520
73d25f9c
EZ
5212001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
522
523 * m/ibms390.h: New file. From Adam Thornton
524 <athornton@sinenomine.net>.
525
cac1daf0
GM
5262001-10-28 Gerd Moellmann <gerd@gnu.org>
527
053b3256 528 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 529
cac1daf0
GM
530 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
531 a loop counter.
532
13b1a09c
PJ
5332001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
534
186486eb
PJ
535 * emacs.c: Use argv[0] instead of emacs when -t was specified.
536
4707d2d0
PJ
537 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
538 keyword].
539 Fix typos in comments.
b116830b 540
d883731c
PJ
541 * emacs.c (bug_reporting_address): New function.
542 Use it when displaying usage message.
543
04012254
PJ
544 * minibuf.c (read_minibuf): Remove unused external declaration of
545 variable `Qread_only'.
546
13b1a09c
PJ
547 * keymap.c (access_keymap): Remove unused variable `charset'.
548
5bbf4378
MB
5492001-10-28 Miles Bader <miles@gnu.org>
550
551 * xfaces.c (merge_face_heights): Handle TO being relative as well.
552 Remove #ifdef'd-out code.
553 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
554 (syms_of_xfaces): Initialize them.
555
1ce1e4ee
JR
5562001-10-27 Jason Rumney <jasonr@gnu.org>
557
558 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
559 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
560 position using the system caret.
561
562 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
563 (w32_system_caret_height, w32_system_caret_x)
564 (w32_system_caret_y): New variables for tracking system caret.
565 (w32_initialize): Initialize them.
c2d53558 566 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 567
c2d53558
SM
568 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
569 New messages types.
1ce1e4ee
JR
570
571 * w32term.c (note_mouse_highlight): Clear old help_echo.
572
4e30ce42
PJ
5732001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
574
bb4600a4
PJ
575 * xterm.c: Fix typo in a comment.
576
7db35a48
PJ
577 * emacs.c: Fix typos in comments.
578 Remove unnecessary spaces.
579 Change doc-string comments to `new style' [w/`doc:' keyword].
580 (USAGE2): Fix typos in usage string.
581
a7248e4f
PJ
582 * xterm.c: Fix typo in a comment.
583
4e30ce42
PJ
584 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
585 emacs.c.
586
62725a92
GM
5872001-10-27 Gerd Moellmann <gerd@gnu.org>
588
798dbe1f 589 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 590 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
591 farther backward when target_y was not reached.
592
62725a92
GM
593 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
594 Display errno only if non-zero.
595 (sound_warning): New function.
596 (vox_configure): Don't treat failing to set sample rate as error.
597 (various places): Improve error messages.
598
d4e34d24
EZ
5992001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
600
944e6f60
EZ
601 * fileio.c (Faccess_file): Run the argument filename through
602 Fexpand_file_name, before using it.
603
d4e34d24
EZ
604 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
605 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
606
38d2af0c
GM
6072001-10-26 Gerd Moellmann <gerd@gnu.org>
608
da80a8d5
GM
609 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
610
38d2af0c
GM
611 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
612 Fix clearing in the case of scroll bars on the right.
c2d53558 613
56f508dd
EZ
6142001-10-26 Juanma Barranquero <lektu@terra.es>
615
616 * w32gui.h (XImage): Add a dummy typedef.
617
fbd5ceb2
GM
6182001-10-26 Gerd Moellmann <gerd@gnu.org>
619
c2d53558 620 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 621
b23236fb
EZ
6222001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
623
624 * frame.c (Fframe_parameter): Fix last change.
625
5d991fc4
EZ
626 * fileio.c: Revert last change (which removed old commented-out
627 version of expand-file-name). Add a comment that explains why
628 this old version should not be removed.
629
879eadc3
GM
6302001-10-25 Gerd Moellmann <gerd@gnu.org>
631
75700ff2
GM
632 * frame.c (Fframe_parameter): Fix a bug whereby some
633 ``artificial'' frame parameters, like `minibuffer' were not
634 obtained by calling Fframe_parameters.
635
dfe92a6a
GM
636 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
637 cursor differently.
638
879eadc3
GM
639 * xdisp.c (move_it_vertically_backward): Compute line height
640 differently. Add heuristic to try to be more compatible to 20.x.
641
e1010ebe
SM
6422001-10-25 Stefan Monnier <monnier@cs.yale.edu>
643
d73a471b
SM
644 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
645
d6da5a06
GM
646 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
647 boolean.
e1010ebe 648
f66bd220
MB
6492001-10-25 Miles Bader <miles@gnu.org>
650
651 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
652 BG is a pointer to a structure, not a structure.
653 (gif_format, png_format): Add missing commas.
654
d436d538
RS
6552001-10-24 Richard M. Stallman <rms@gnu.org>
656
657 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 658 (syms_of_xfaces): Defsubr it.
d436d538 659
075c507b
PJ
6602001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
661
662 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
663 variable `area'.
664
d492b584
PJ
6652001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
666
c2d53558 667 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 668
e2a57b34
MB
6692001-10-25 Miles Bader <miles@gnu.org>
670
671 * dispextern.h (struct image): Add `background',
672 `background_valid', and `background_transparent' fields.
673 (image_background, image_background_transparent): New declarations.
674 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
675 * xfns.c (image_background, image_background_transparent)
676 (four_corners_best): New functions.
c2d53558 677 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
678 (gs_format): Add `:background' entry.
679 (lookup_image): Set IMG's background color if specified.
680 (pbm_load, xbm_load_image, png_load): Set IMG's background field
681 when appropriate.
682 (x_clear_image_1): Reset `background_valid' and
683 `background_transparent_valid' fields.
684 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
685 calculating it here. Set IMG's background_transparent field.
686 (enum xpm_keyword_index): Add XPM_BACKGROUND.
687 (enum png_keyword_index): Add PNG_BACKGROUND.
688 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
689 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
690 (enum gif_keyword_index): Add GIF_BACKGROUND.
691 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 692 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
693 Pre-calculate image background color where necessary.
694 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
695 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
696 color to use for image glyph reliefs.
697
b547b6e8
GM
6982001-10-24 Gerd Moellmann <gerd@gnu.org>
699
d9e3b8c6
GM
700 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
701 in full-width rows.
c2d53558 702
b547b6e8
GM
703 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
704 Fix clearing of area not covered by scroll bar.
705
2beb36f9
PJ
7062001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
707
708 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
709 and `real_start'.
c2d53558 710 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
711 (glyph_rect): Remove unused variable `area'.
712
76cb5e06
GM
7132001-10-24 Gerd Moellmann <gerd@gnu.org>
714
bdbdebff 715 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
716
717 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
718 (row_containing_pos): Take additional argument DY.
719 Treat rows ending in middle of char differently.
62e33982
GM
720 (display_line): Handle tabs on window systems differently.
721
722 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
723 with additional argument.
724
725 * dispextern.h (row_containing_pos): Adjust prototype.
726
76cb5e06
GM
727 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
728 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
729 (try_window_id, try_window_reusing_current_matrix)
730 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
731 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
732
996fee11
PJ
7332001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
734
c9e60620
PJ
735 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
736 gnuemacs).
737 (HAVE_BOXES): Fix typo in comment.
738 (push_menu_pane): Fix typo in comment.
739
3b552d56
PJ
740 * xdisp.c: (display_prop_string_p): Remove unused local declaration
741 of `Qwhen'.
742 (single_display_prop_string_p): Remove unused local declarations
743 of `Qwhen' and `Qmargin'.
744 (string_buffer_position): Remove unused variable `around'.
745 (store_frame_title): Remove unused variable `width'.
746
15c565ac
PJ
747 * window.c: Don't define max.
748 (coordinates_in_window): Remove unused variable `uy'.
749
a8818eb9
PJ
750 * widget.c: Don't define max.
751
996fee11
PJ
752 * process.c: Don't define max.
753 (create_process): Remove unused variable `buffer'.
754
496e1a5b
GM
7552001-10-23 Gerd Moellmann <gerd@gnu.org>
756
c2d53558 757 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 758
5905ae8b
EZ
7592001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
760
761 * xfaces.c (Finternal_set_lisp_face_attribute)
762 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
763 frame is on a windowed display.
764
24db49fb
GM
7652001-10-23 Gerd Moellmann <gerd@gnu.org>
766
c2d53558
SM
767 * dispnew.c (sync_window_with_frame_matrix_rows):
768 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
769 of marginal areas.
770
c2d53558 771 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 772
f0487f05
EZ
7732001-10-23 Andreas Schwab <schwab@suse.de>
774
775 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
776 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
777
f0a48a01
GM
7782001-10-23 Gerd Moellmann <gerd@gnu.org>
779
c2d53558 780 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
781 REAL_END. Notice if cursor gets overwritten.
782 (notice_overwritten_cursor): Take X positions as parameters.
783 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
784 around call to x_draw_glyphs.
785
a50a10a0
PJ
7862001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
787
fc11dff0
PJ
788 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
789 instead of C) and usage.
a50a10a0 790
fc11dff0
PJ
791 * editfns.c (char-to-string): Fix argument names (use CHAR instead
792 of C) and usage.
a50a10a0
PJ
793
794 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
795 `left', `max_width' and `max_height'.
796
8738febd
GM
7972001-10-23 Gerd Moellmann <gerd@gnu.org>
798
799 * xdisp.c (display_line): For a tab continued to the next line,
800 set row's ends_in_middle_of_char_p.
801
653c329b
GM
8022001-10-22 Gerd Moellmann <gerd@gnu.org>
803
804 * xdisp.c (display_line): Fix computation of continuation lines
805 width for TABs.
806
f958c5ac
PJ
8072001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
808
7ba51063
PJ
809 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
810 `Qlaplace'.
811
f958c5ac
PJ
812 * fileio.c: Remove unused code.
813
eb360291
MB
8142001-10-22 Miles Bader <miles@gnu.org>
815
816 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
817 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
818 Remove `DOC_STRINGS_IN_COMMENTS' cases.
819
98515cf0
JR
8202001-10-21 Jason Rumney <jasonr@gnu.org>
821
822 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
823
93026d88
EZ
8242001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
825
826 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
827 (Finsert_string): Avoid the multi-line string literals warning.
828
c9a95b79
MB
8292001-10-22 Miles Bader <miles@gnu.org>
830
831 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
832 (Fdocumentation): Don't use it.
833 (syms_of_doc): Don't initialize it.
834
835 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
836 * print.c (Fwith_output_to_temp_buffer): Likewise.
837 * window.c (Fsave_window_excursion): Likewise.
c2d53558 838 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 839 (Fsave_restriction): Likewise.
c2d53558
SM
840 * eval.c (Frun_hooks, Frun_hook_with_args)
841 (Frun_hook_with_args_until_failure)
842 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
843 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
844 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
845 (Funwind_protect, Fcondition_case): Likewise.
846 * coding.c (Ffind_operation_coding_system): Likewise.
847 * keyboard.c (Ftrack_mouse): Likewise.
848
a3b10252
MB
8492001-10-21 Miles Bader <miles@gnu.org>
850
c2d53558 851 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
852 (Fmake_hash_table): Add usage: string to doc string.
853 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 854 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
855 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
856 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
857 (Fml_prefix_argument_loop): Likewise.
858
c6f73eec
PJ
8592001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
860
c2d53558 861 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 862
c6f73eec
PJ
863 * sysdep.c (init_sys_modes): Change doc-string comments to `new
864 style' [w/`doc:' keyword].
865
866 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
867 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
868 comments to `new style' [w/`doc:' keyword].
869
3cf3436e
JR
8702001-10-21 Jason Rumney <jasonr@gnu.org>
871
872 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
873
c169b8f1
JR
874 * w32term.c (remember_mouse_glyph): New function.
875 (w32_mouse_position): Use it.
876 (note_mouse_movement): If the mouse moved off the glyph, remember
877 its new position.
c2d53558 878
4fdd691b
JR
879 * w32term.h (struct w32_output): Correct spelling of x_compatible.
880 (w32_display_info): Add mouse_face_overlay.
881
c169b8f1
JR
882 * w32term.c (notice_overwritten_cursor): Renamed from
883 note_overwritten_text_cursor. Rewritten to take glyph widths into
884 account.
885 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
886 (fast_find_string_pos): New function.
887 (fast_find_position): Return the correct vpos. Add parameter
888 STOP. In the final row, stop before glyphs having STOP as object.
889 Don't consider glyphs that are not from a buffer.
890 (fast_find_position) [0]: Add a presumably more correct version
891 for after 21.1.
892 (expose_window_tree, expose_frame): Don't compute intersections here.
893 (expose_window): Do it here instead.
894 (expose_window_tree, expose_window, expose_line): Return 1 when
895 overwriting mouse-face.
896 (expose_window): If W is the window currently being updated, mark
897 the frame garbaged.
898 (expose_frame): If mouse-face was overwritten, redo it.
899 (x_use_underline_position_properties): New variable.
900 (syms_of_xterm): DEFVAR_BOOL it.
901 (x_draw_glyph_string): Add comment to use it in future.
902 (x_draw_glyph_string): Restore clipping after drawing box.
903 Fix a computation of the underline position.
904 (w32_get_glyph_string_clip_rect): Minor cleanup.
905 (x_fill_stretch_glyph_string): Remove an assertion.
906 (x_produce_glyphs): Don't convert multibyte characters
907 to unibyte characters in unibyte buffers.
908 (cursor_in_mouse_face_p): New function.
909 (x_draw_stretch_glyph_string): Use it to choose a different GC
910 when drawing a cursor within highlighted text. Don't draw
911 background again if it has already been drawn.
912 (x_draw_glyph_string_box): Don't draw a full-width
913 box just because the glyph row's full_width_p flag is set.
914 (x_draw_glyphs): Fix computation of rightmost x for
915 full-width rows.
916 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
917 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
918 change bottom shadow accordingly. Some cleanup.
919 (x_update_window_end): Handle overwritten mouse face
920 also for tool bar windows.
921 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
922 DRAW is DRAW_IMAGE_RAISED.
923 (clear_mouse_face): Return 1 if text with mouse face was
924 actually redrawn. Make the function static. Reset
925 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
926 optimize away highlighting if we pass over that same overlay again.
927 (note_mouse_highlight): Call mouse_face_overlay_overlaps
928 to detect a case where we have to highlight a different region
929 despite not having left the currently highlighted region.
930 Set mouse_face_overlay in the x_display_info. Avoid changing the
931 mouse pointer shape when show_mouse_face has already done it, or
932 there is no need. Handle mouse-face and help-echo in strings.
933 (glyph_rect): New function.
934 (w32_mouse_position): Use it to raise the threshold for mouse
935 movement event generation.
936 (w32_initialize_display_info): Initialize the x_display_info's
937 mouse_face_overlay.
938 (w32_set_vertical_scroll_bar): Don't clear a zero height
939 or width area.
940 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
941 a widget to zero height.
942
3cf3436e 943 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 944 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
945 equivalents in menu_items.
946 (w32_menu_show): Don't overwrite an item's name with its key
947 description in case the description is a multibyte string.
948 (single_submenu): Some cleanup.
949
950 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
951 (postprocess_image): New function.
952 (lookup_image): Call it for all image types except PostScript.
953 (x_kill_gs_process): Call postprocess_image.
954 (tiff_error_handler, tiff_warning_handler): New functions.
955 (tiff_load): Install them as handlers.
956 (x_kill_gs_process): Recognize if someone has cleared the image
957 cache under us.
958 (valid_image_p): Protect better against invalid image
959 specifications. Previous code could signal an error.
960 (Fx_hide_tip, Fshow_tip): Doc fix.
961 (Fv_max_tooltip_size): New variable.
962 (syns_of_xfns): DEFVAR_LISP it.
963 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
964 window buffer to *tip* right after creating the frame. Set frame's
965 window_width. Use a maximum tooltip size specified by
966 Vx_max_tooltip_size, if that has valid contents.
967 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
968 Make sure the tooltip is completely visible.
969 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
970 (Fx_create_frame): Adjust the frame's height for presence
971 of the tool bar before calling x_figure_window_size.
972 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
973 when the window gets smaller.
974 (x_set_foreground_color): Set frame's cursor_pixel.
975 (x_set_foreground_color, x_set_background_color): Cleaned up.
976 (x_set_font): Handle case of x_new_fontset returning the same name
977 as before, although there was a change in fontsets.
978
386ca361
MB
9792001-10-21 Miles Bader <miles@gnu.org>
980
c2d53558 981 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
982 (Flogxor): Add usage: string to doc string.
983 * charset.c (Fstring): Likewise.
984 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
985 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
986
14ff1ee0
PJ
9872001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
988
03be2694
PJ
989 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
990
991 * alloc.c: Reindent DEFUNs with doc: keywords.
992
993 * abbrev.c (Finsert_abbrev_table_description): Reindent.
994
14ff1ee0
PJ
995 * frame.c: Change doc-string comments to `new style' [w/`doc:'
996 keyword].
997
71431a0e
GM
9982001-10-20 Gerd Moellmann <gerd@gnu.org>
999
6aa97356 1000 * (Version 21.1 released.)
71431a0e 1001
39f624fa
PJ
10022001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1003
c2d53558 1004 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1005
1006 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1007 0 because unused.
1008
1009 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1010 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1011 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1012
abcce93a
MB
10132001-10-20 Miles Bader <miles@gnu.org>
1014
1015 The following changes remove the glyph_row `inverse_p' field,
1016 which is never set anymore, due to other changes:
1017
1018 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1019 (reassert_line_highlight, change_line_highlight): Declarations removed.
1020 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1021 (line_hash_code, row_equal_p, fake_current_matrices)
1022 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1023 (update_frame_line, update_frame_line, update_frame_line):
1024 Don't use `inverse_p' field.
1025 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1026 change_line_highlight_hook.
1027 (XTreassert_line_highlight, x_change_line_highlight):
1028 Functions removed.
c2d53558 1029 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1030 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1031 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1032 `inverse_p' field.
c2d53558 1033 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1034 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1035 (w32_reassert_line_highlight, x_change_line_highlight):
1036 Functions removed.
1037 * w32console.c (reassert_line_highlight, change_line_highlight):
1038 Functions removed.
1039 (initialize_w32_display): Don't set reassert_line_highlight_hook
1040 or change_line_highlight_hook.
1041 (hl_mode): Function removed.
c2d53558
SM
1042 (reset_terminal_modes, set_terminal_modes, update_begin)
1043 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1044 (clear_frame, ins_del_lines): Don't call it.
1045 * termhooks.h (reassert_line_highlight_hook)
1046 (change_line_highlight_hook): Declarations removed.
1047 * term.c (reassert_line_highlight_hook)
1048 (change_line_highlight_hook): Variables removed.
1049 (reassert_line_highlight, change_line_highlight): Functions removed.
1050 * msdos.c (IT_reassert_line_highlight)
1051 (IT_change_line_highlight): Functions removed.
1052 (internal_terminal_init): Don't set reassert_line_highlight_hook
1053 or change_line_highlight_hook.
1054 (highlight): Variable removed.
c2d53558 1055 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1056 (IT_set_terminal_modes): Don't set or use it.
1057
1058 The following changes remove inverse-video support for terminals
1059 that use a `magic cookie' standout mode. Due to changes in the
1060 way mode-lines are displayed, such support no longer works
1061 anyway, and it's probable that almost no one uses such terminals
1062 anymore:
1063
1064 * term.c (standout_requested): Variable removed.
1065 (update_end, highlight_if_desired): Don't use it.
1066 (chars_wasted, copybuf): Variables removed.
1067 (write_standout_marker): Function removed.
c2d53558 1068 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1069 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1070 Don't use `chars_wasted' or `copybuf'.
1071 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1072 Set `costs_set' to true.
1073 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1074 `chars_wasted'.
1075 (clear_end_of_line): Function removed.
1076 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1077 (clear_to_end): Call `clear_end_of_line' instead of
1078 `clear_end_of_line_raw'.
54800acb
MB
1079 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1080 (term_init): Don't set them.
1081 Turn off any standout/underline modes that require magic cookies.
c2d53558 1082 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1083 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1084 Remove special processing for magic-cookie standout modes.
1085 (turn_off_face, turn_on_face): Remove special processing for
1086 underline magic-cookie glitch.
abcce93a 1087
0b5f679f
RS
10882001-10-19 Richard M. Stallman <rms@gnu.org>
1089
1090 * eval.c (syms_of_eval): Doc fixes.
1091
5a4a5bd4
GM
10922001-10-19 Gerd Moellmann <gerd@gnu.org>
1093
1094 * xdisp.c (redisplay_internal): Don't clear echo area if the
1095 mini-window is selected.
1096
79f1f96c
MB
10972001-10-19 Miles Bader <miles@gnu.org>
1098
b57c2708
MB
1099 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1100 doesn't take precedence if the affected property's value is nil.
1101
1102 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1103
79f1f96c
MB
1104 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1105 with fields and suggest using `forward-line' to avoid them.
1106 * editfns.c (Fline_beginning_position, Fline_end_position):
1107 Clarify documentation.
1108
ef879104
SM
11092001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1110
1111 * keymap.c (current_minor_maps): `override' only shadows its
1112 correspondent in minor-mode-map-alist, not the whole tail.
1113
97f4db8c
AI
11142001-10-18 Andrew Innes <andrewi@gnu.org>
1115
1116 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1117 optimization. The fontp->encoding array was not being initialized
1118 correctly when compiled with optimizations by MSVC.
1119
e6b70fd8
GM
11202001-10-18 Gerd Moellmann <gerd@gnu.org>
1121
30903479 1122 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1123
0e804d38
AI
11242001-10-17 Andrew Innes <andrewi@gnu.org>
1125
1126 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1127
1128 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1129 font_info.charset field.
1130
1131 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1132 rather than working it out by calling w32_codepage_for_font for
1133 every glyph.
1134
66e5868a
AI
11352001-10-17 Andrew Innes <andrewi@gnu.org>
1136
1137 * w32term.c (w32_read_socket): Determine clipping rectangle for
1138 the entire frame, including areas covered by scrollbars and the
1139 menubar. This avoids internal arguments about whether a frame is
1140 fully obscured or not.
1141
15b00083
GM
11422001-10-17 Gerd Moellmann <gerd@gnu.org>
1143
23e8bd86
GM
1144 * xdisp.c (try_window_id): Undo last change. Give up if
1145 window ends in strings.
30903479 1146
9c6ba6d1 1147 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1148 end if the rest of the window after the window end was already blank.
23e8bd86 1149
30903479 1150 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1151 for the release of 21.1.
1152
30903479 1153 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1154
945220bd
MB
11552001-10-17 Miles Bader <miles@gnu.org>
1156
1157 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1158 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1159 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1160 Change doc-string comments to `new style' [w/`doc:' keyword].
1161 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1162 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1163 out make-docfile.
1164
14242528
MB
11652001-10-16 Miles Bader <miles@gnu.org>
1166
1167 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1168
3ddf952f
GM
11692001-10-16 Gerd Moellmann <gerd@gnu.org>
1170
1171 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1172 *scratch*.
1173
f3fbd155
KR
11742001-10-16 Ken Raeburn <raeburn@gnu.org>
1175
1176 Avoid the assumption that car and cdr slots of cons cells are
1177 addressable lvalues; this allows for easier experimentation with
1178 other lisp implementations that may not permit such accesses for
1179 various reasons. Not quite complete -- buffer.c still needs some
1180 work, and w32/mac files need rechecking -- so compile-time
1181 enforcement is left disabled for now.
1182
1183 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1184 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1185 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1186 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1187 (XSETCAR, XSETCDR): New macros.
1188 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1189 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1190 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1191 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1192 XSETCDR.
1193 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1194 * buffer.c (record_buffer, Fbury_buffer)
1195 (swap_out_buffer_local_variables, recenter_overlay_lists)
1196 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1197 fields of a cons cell respectively.
1198 * callint.c (quotify_args, Fcall_interactively): Likewise.
1199 * ccl.c (Fregister_code_conversion_map): Likewise.
1200 * coding.c (detect_coding_system): Likewise.
1201 * composite.c (get_composition_id, make_composition_value_copy):
1202 Likewise.
30903479
SM
1203 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1204 (swap_in_symval_forwarding, set_internal, Fset_default)
1205 (Fmake_variable_buffer_local, Fmake_local_variable)
1206 (Fmake_variable_frame_local): Likewise.
f3fbd155 1207 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1208 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1209 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1210 * minibuf.c (get_minibuffer): Likewise.
1211 * search.c (Fmatch_data): Likewise.
1212 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1213 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1214 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1215 Likewise.
1216 * w32term.c (x_delete_display): Likewise.
1217 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1218 Likewise.
c2d53558 1219 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1220 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1221 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1222 (Fread_file_name): Use XSETCAR.
1223 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1224 CHECK_NUMBER_CDR.
1225 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1226 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1227 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1228 CHECK_NUMBER_CDR.
1229 * keyboard.c (read_char): Alter list traversal to avoid taking the
1230 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1231 (parse_menu_item): Use XSETCAR and XSETCDR.
1232 (reach_char_x_menu_prompt): Use XSETCAR.
1233 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1234 (Fcommand_execute): Use XSETCDR.
1235 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1236 (openp): Change list traversal to avoid using XCAR as lvalue.
1237 (read_list): Use XSETCDR.
1238 * process.c (wait_reading_process_input): Change wait_for_cell
1239 handling to avoid taking addresses of cons cell slots.
30903479
SM
1240 * xselect.c (x_own_selection, x_handle_selection_clear)
1241 (x_clear_frame_selections): Use XSETCDR.
1242 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1243 (x_handle_property_notify, x_get_foreign_selection)
1244 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1245
502150e5
PJ
12462001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1247
018ba359
PJ
1248 * buffer.c: Put doc strings in comments.
1249
30903479 1250 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1251
b56ba8de
SS
12522001-10-15 Sam Steingold <sds@gnu.org>
1253
1254 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1255
6a0b793a
PJ
12562001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1257
30903479
SM
1258 * process.c (process-inherit-coding-system-flag)
1259 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1260 in comment.
1261
a1f17501 1262 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1263 arguments. Put doc strings in comments.
a65da641
PJ
1264
1265 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1266
aa601ad0
GM
12672001-10-15 Gerd Moellmann <gerd@gnu.org>
1268
30903479 1269 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1270
aa601ad0
GM
1271 * window.c (select_window_1): Unfreeze window start. Remove a
1272 doubled test for WINDOW being live.
1273
288148a1
PJ
12742001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1275
dd8d1e71
PJ
1276 * fns.c (Fmapconcat): Fix typo in a doc string.
1277
288148a1
PJ
1278 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1279
9f5eb4a3
GM
12802001-10-15 Gerd Moellmann <gerd@gnu.org>
1281
1282 * xterm.c (x_draw_glyph_string): Restore clipping after
1283 drawing box.
1284
dbae44c8
PJ
12852001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1286
30903479 1287 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1288
0c88c937
SM
12892001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1290
56378db4
GM
1291 * indent.c (skip_invisible): Use new retval of
1292 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1293
845e4cf4
SM
1294 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1295 If a parent is reached and noinherit is set, exit immediately.
1296 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1297
0c88c937
SM
1298 * s/ms-w32.h (EXEC_SUFFIXES):
1299 * s/msdos.h (EXEC_SUFFIXES):
1300 * process.h (EXEC_SUFFIXES): Remove.
1301
1302 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1303 (decode_suffixes): Remove.
1304
1305 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1306 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1307 (invisible_ellipsis_p): Remove.
0c88c937
SM
1308
1309 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1310 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1311 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1312 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1313 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1314
d19be8a9
PJ
13152001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1316
04d7d066
PJ
1317 * lisp.h (Ftop_level): Add prototype.
1318
d624284c
PJ
1319 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1320 (XTread_socket): Improve style of comments to follow other
1321 comments.
1322
a87414f9
PJ
1323 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1324 is already prototyped in included lisp.h).
1325
d19be8a9
PJ
1326 * frame.c (Fset_mouse_position): Improve style of comment to
1327 follow other comments.
1328 (Fset_mouse_pixel_position): Improve style of comment to follow
1329 other comments.
1330 (Fmake_frame_visible): Doc fix and typo in comment.
1331 (Fmake_frame_invisible): Doc fix and typo in comment.
1332 (Ficonify_frame): Fix typo in comment.
1333
c061c855
GM
13342001-10-14 Gerd Moellmann <gerd@gnu.org>
1335
37f6b5b6 1336 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1337 * term.c, alloc.c: Put doc strings in comments.
c061c855 1338
e641b454
GM
13392001-10-13 Gerd Moellmann <gerd@gnu.org>
1340
1341 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1342 Provide definitions for doc strings in comments.
1343
1344 * fns.c: Put doc strings in comments.
1345
51724e26
EZ
13462001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1347
1348 * dired.c (file_name_completion): Ignore a candidate directory if
1349 it matches an element in completion-ignored-extensions that ends
1350 in a slash.
1351 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1352 feature in the doc string.
1353 (Ffile_name_completion): Ditto.
1354
be5fc59b
SM
13552001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1356
5a1373f3
SM
1357 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1358
1359 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1360
1361 * lisp.h (Fprovide): Update prototype.
1362 (Ffeaturep, invisible_p): Remove.
1363
bbc4a3d3 1364 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1365 (DOLIST, LOOP_PROPVAL): New macros.
1366 (invisible_p, invisible_ellipsis_p): Use them.
1367 (invisible_noellipsis_p): New function.
1368 (syms_of_xdisp): Use empty_string.
1369
1370 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1371
1372 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1373 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1374
1375 * print.c (Fwith_output_to_temp_buffer): Align with
1376 internal_with_output_to_temp_buffer.
1377 (print_preprocess): Use traverse_intervals_noorder.
1378 (print_object): Update call to traverse_intervals.
1379
1380 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1381 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1382
1383 * intervals.c (traverse_intervals_noorder): New function.
1384 (search_for_interval, count_intervals): Use it.
1385 (traverse_intervals): Use less stack space and drop `depth' arg.
1386
1387 * fns.c (Ffeaturep): Add new `subfeature' arg.
1388 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1389 (Qsubfeatures): New var.
1390 (syms_of_fns): Initialize it.
1391
026f408d
SM
1392 * keymap.c (Fkey_description): Use empty_string.
1393 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1394 (syms_of_keymap): Setup inheritance between maps.
1395 Don't export Sdescribe_bindings_internal any more.
1396
be5fc59b
SM
1397 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1398
3365175e
GM
13992001-10-12 Gerd Moellmann <gerd@gnu.org>
1400
1401 * xterm.c (notice_overwritten_cursor): Renamed from
1402 note_overwritten_text_cursor. Rewritten to take glyph widths into
1403 account.
1404
2ab7765c
EZ
14052001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1406
1407 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1408 multi-line strings without a trailing "\n\".
1409
311346bb
PJ
14102001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1411
1412 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1413 defined.
1414
2168e04d
SM
14152001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1416
026f408d
SM
1417 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1418
c0ec53ad
SM
1419 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1420 * w32proc.c (sys_spawnve):
1421 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1422 * w32.c (check_windows_init_file):
1423 * sound.c (Fplay_sound):
026f408d 1424 * emacs.c (init_cmdargs):
c0ec53ad
SM
1425 * process.c (Fstart_process): Update calls to openp.
1426
1427 * callproc.c (Vexec_suffixes): New var.
1428 (Fcall_process): Update call to openp.
1429 (decode_suffixes): New function.
1430 (syms_of_callproc): Init exec-suffixes.
1431
1432 * lread.c (Vload_suffixes, default_suffixes): New vars.
1433 (openp): Take a lisp list of suffixes.
1434 Check for file-name-handlers even if the file was absolute already.
1435 (syms_of_lread): Declare load-suffixes.
1436 (Fload): Fix up call to openp.
1437 Don't bother checking for file-name-handler at the very beginning.
1438
f6333468
SM
1439 * keymap.h (Fcopy_keymap): Don't export.
1440
1441 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1442 (Vload_suffixes, Vexec_suffixes): Declare.
1443 (openp): Update prototype.
f6333468
SM
1444
1445 * emacs.c (empty_string): New var.
1446 (syms_of_emacs): Initialize it.
1447
1448 * search.c (wordify): Use it.
1449
1450 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1451 selected window if it's not displayed there. Handle the case
1452 when the window is dedicated.
1453 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1454
1455 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1456
2168e04d
SM
1457 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1458 Remove left_ok and right_ok.
1459 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1460 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1461 new meaning of b_property.
1462
1463 * syntax.c (update_syntax_table): Simplify.
1464 (Fforward_comment): Don't skip quoted chars when going backward.
1465
13d95cc0
GM
14662001-10-11 Gerd Moellmann <gerd@gnu.org>
1467
beb0990f
GM
1468 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1469 in case I is of some unsigned type, in which case
1470 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1471 comparison becomes bogus.
1472
cb938d46
GM
1473 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1474 (Fuser_full_name): Fix bug treating a float as a fixnum.
1475
1476 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1477
1478 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1479
13d95cc0
GM
1480 * lisp.h (circular_list_error): Add prototype.
1481
1482 * data.c (Qcircular_list): New variable.
1483 (circular_list_error): New function.
1484 (syms_of_data): Initialize it Qcircular_list.
1485
e35f6ff7
SM
14862001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1487
1488 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1489 casefiddle.c, buffer.c: Include keymap.h.
1490
619632ac
GM
14912001-10-10 Gerd Moellmann <gerd@gnu.org>
1492
1493 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1494 options. From Dave Love <d.love@dl.ac.uk>.
1495
5e5388f6
GM
14962001-10-09 Gerd Moellmann <gerd@gnu.org>
1497
1498 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1499 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1500
14a3dff7
GM
1501 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1502 unsigned char.
1503 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1504
76ba8daf
AI
15052001-10-08 Andrew Innes <andrewi@gnu.org>
1506
1507 * lisp.h [max]: Undef min and max before redefining them.
1508
1509 * w32gui.h: Do not undef min and max.
1510
1511 * w32heap.h: Do not undef min and max.
1512
1513 * s/ms-w32.h: Do not undef min and max.
1514
166253cb
SM
15152001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1516
1517 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1518
0c4d9527
SS
15192001-10-08 Sam Steingold <sds@gnu.org>
1520
1521 * keymap.c (current-active-maps): Quote newlines (compilation error).
1522
14bfa771
EZ
15232001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1524
1525 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1526 bindings.elc, since otherwise doc strings in bindings.el get wrong
1527 offsets in etc/DOC.
1528
bdb7aa47
SM
15292001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1530
9985827f
SM
1531 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1532
1533 * keyboard.h (map_prompt): Remove.
1534
1535 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1536 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1537
bdb7aa47
SM
1538 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1539
1540 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1541
1542 * keyboard.c (map_prompt): Remove.
1543 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1544 Use Fkeymap_prompt.
1545
1546 * keymap.h: New file. Extracted from lisp.h.
1547
9985827f
SM
1548 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1549 (accessible_keymaps_1): New function.
1550 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1551 (Fwhere_is_internal): Use Fcurrent_active_maps.
1552 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1553 Insert in current buffer rather than standard-output.
1554 Don't call `help-mode'. Export to elisp.
1555 (describe_buffer_bindings): New wrapper.
1556 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1557 and Sdescribe_buffer_bindings.
1558
402c9a51
GM
15592001-10-08 Gerd Moellmann <gerd@gnu.org>
1560
9985827f 1561 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1562 Remove code setting signal handler.
1563
9985827f 1564 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1565 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1566
3fe81fdf
PJ
15672001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1568
1569 * keyboard.c: Don't define min/max.
1570
55fa7820
GM
15712001-10-08 Gerd Moellmann <gerd@gnu.org>
1572
9985827f 1573 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1574 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1575 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1576 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1577 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1578 Don't define min/max.
1579
1580 * lisp.h (min, max): New macros.
1581
55fa7820
GM
1582 * puresize.h (BASE_PURESIZE): Increase to 725000.
1583
1aad31e4
PJ
15842001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1585
9180dc8c
PJ
1586 * xfaces.c (free_frame_menubar): Add prototype.
1587
01f67d2c
PJ
1588 * lisp.h (init_window): Add prototype.
1589
1590 * editfns.c: Include ctype.h.
1591
1592 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1593 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1594 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1595 variable `sb'.
1596
5f351ff1
PJ
1597 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1598 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1599 `popup_activated_flag' and `title'.
1600
479dfe87
PJ
1601 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1602
dff49fc8
PJ
1603 * emacs.c (main): Remove extra `;'.
1604
248ac615
PJ
1605 * atimer.h (struct atimer): Fix typos in a comment.
1606
1607 * atimer.c: Fix typo.
1608
af232c7d
PJ
1609 * Makefile.in: Fix typo.
1610
1611 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1612
d876f455
MB
16132001-10-07 Miles Bader <miles@gnu.org>
1614
1615 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1616
0037e2f2
KR
16172001-10-07 Ken Raeburn <raeburn@gnu.org>
1618
b056f36d
KR
1619 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1620 Lisp_Object.
1621
0037e2f2
KR
1622 * lisp.h (Ffield_end): Declare.
1623
1a4372ef
GM
16242001-10-07 Gerd Moellmann <gerd@gnu.org>
1625
a4a74e8c
GM
1626 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1627
1628 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1629
1630 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1631
1632 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1633
1a4372ef
GM
1634 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1635 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1636
1637 * alloc.c (inhibit_garbage_collection): Simplify.
1638 (Fmemory_use_counts): Ditto.
1639
9985827f 1640 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1641 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1642 most-negative-fixnum.
1643
9985827f 1644 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1645 (FIXNUM_OVERFLOW_P): New macros.
1646
4650e362
MB
16472001-10-06 Miles Bader <miles@gnu.org>
1648
1649 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1650 scroll_bar_bottom_shadow_pixel fields.
1651 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1652 for the shadows, and tell the toolkit about them if we succeed.
1653 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1654 Free scroll-bar shadow colors.
1655 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1656 Free scroll-bar shadow colors when the background color changes.
1657 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1658 Initialize scroll-bar shadow-color fields.
1659
ace64e0a
GM
16602001-10-05 Gerd Moellmann <gerd@gnu.org>
1661
1662 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1663
ec66bdc7
MB
16642001-10-05 Miles Bader <miles@gnu.org>
1665
9985827f
SM
1666 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1667 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1668 New functions (were in simple.el).
9985827f 1669 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1670 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1671 (syms_of_minibuf): Initialize them.
1672
a0fb4492
GM
16732001-10-05 Gerd Moellmann <gerd@gnu.org>
1674
1675 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1676 (tiff_load): Install them as error and warning handler.
1677
0bcf87c1
AI
16782001-10-04 Andrew Innes <andrewi@gnu.org>
1679
1680 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1681 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1682 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1683 (x_to_w32_charset): Handle private format for unknown charsets.
1684 Handle wildcards in charset spec, by ignoring them.
1685 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1686 "*-" prefix from charset.
1687 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1688 handle the truncated font spec form constructed by font_list_1, so
1689 that we correctly identify the charset fields. Don't remove "*-"
1690 prefix from charset.
1691 (w32_list_synthesized_fonts): Fix argument to alloca.
1692
c89e4bc5
GM
16932001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1694
1695 * window.h (MINI_WINDOW_P): Use NILP.
1696
1697 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1698
1699 * termhooks.h (struct input_event): Use proper type for `kind'.
1700
17012001-10-04 Gerd Moellmann <gerd@gnu.org>
1702
1703 This handles unknown keysyms better than before. For example,
1704 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1705 Emacs formerly completely ignored F5. With the change, it derives
1706 a key symbol from the name of the X keysym, `ccaron' in this case.
1707 Reported by Martin Buchholz.
1708
1709 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1710 unknown keysyms.
1711
1712 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1713 that EVENT->code isn't a function key, use the keysym's name.
1714
17152001-10-04 Gerd Moellmann <gerd@gnu.org>
1716
1717 FOREACH is a macro that should make it easier to loop over Lisp
1718 lists with checks for cycles and proper lists.
1719
1720 * lisp.h (LIST_END_P, FOREACH): New macros.
1721
17222001-10-04 Gerd Moellmann <gerd@gnu.org>
1723
1724 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1725 called for a lost connection. Prevent dumping core in this case.
1726 Instead print the X error, and exit. On user request.
1727
1728 * xterm.c (error_msg): New variable.
1729 (x_fatal_error_signal): New function.
1730 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1731 as fatal_error_signal_hook around the call to XtCloseDisplay.
1732
1733 * emacs.c (fatal_error_signal_hook): New variable.
1734 (fatal_error_signal): Call that function.
1735
17362001-10-04 Gerd Moellmann <gerd@gnu.org>
1737
1738 With this, Emacs prints how much pure storage it will
1739 approximately need in case pure storage overflows while dumping.
1740
1741 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1742 New variables.
1743 (init_alloc_once): Initialize new variables.
1744 (PURE_POINTER_P): Use new variables.
1745 (pure_alloc): If pure storage overflows, allocate from the heap.
1746 (check_pure_size): New function.
1747 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1748
1749 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1750 (check_pure_size): Add prototype.
1751
1752 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1753
17542001-10-04 Gerd Moellmann <gerd@gnu.org>
1755
1756 This adds a post-gc-hook that's run with GC inhibited.
1757 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1758
1759 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1760 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1761 (Fgarbage_collect): Run post-gc-hook.
1762
17632001-10-04 Gerd Moellmann <gerd@gnu.org>
1764
1765 This adds `defvaralias' and `indirect-variable'. Changes not
1766 directly related to this feature are there to gain the same
1767 performance again as before variable aliases.
1768
1769 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1770 code to get and set symbol values, to take defvaralias into account.
1771
1772 (Note: the new `constant' bit-flag in symbols would make it
1773 possible to define arbitrary read-only variables, e.g. with
1774 `defconst'.)
1775
1776 Documentation is in lispref/variables.texi. Added to NEWS.
1777
1778 * lisp.h (enum symbol_interned): New enumeration.
1779 (struct Lisp_Symbol): Remove member `obarray', add
1780 `indirect_variable', `constant', and `interned'.
1781 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1782 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1783 (indirect_variable): Add prototype.
1784
1785 * print.c (print_preprocess, print_object): Test internedness of
1786 symbols differently.
1787
1788 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1789 bit-fields.
1790 (init_obarray): Likewise for t and nil.
1791
1792 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1793 (Fdefvaralias): New function.
1794 (specbind): Simplify the test if symbol is a constant.
1795 (syms_of_eval): Defsubr Fdefvaralias.
1796
1797 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1798 (Qcyclic_variable_indirection): New variable.
1799 (Fkeywordp): Check for internedness differently.
1800 (Fmakunbound): Simplify the test if symbol is a constant.
1801 (indirect_variable, Findirect_variable): New functions.
1802 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1803 aliased symbol.
1804 (let_shadows_buffer_binding_p): Check for variable aliases.
1805 (set_internal): Simplify the test if SYMBOL is a constant.
1806 If SYMBOL has a buffer-local value and is an alias, use the aliased
1807 symbol instead.
1808 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1809 Sindirect_variable.
1810
1811 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1812 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1813 set directly.
1814
1815 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1816
1817 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1818 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1819 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1820
ab952a4f
GM
18212001-10-04 Gerd Moellmann <gerd@gnu.org>
1822
1823 * Branch for 21.1.
b56ba8de 1824
ba88ff28
MB
18252001-10-03 Miles Bader <miles@gnu.org>
1826
1827 * callproc.c (syms_of_callproc): Explicitly state in the
1828 documentation for `process-environment' that earlier entries take
1829 precedence over later ones.
1830
ae1a9581
MB
18312001-10-02 Miles Bader <miles@gnu.org>
1832
1833 * textprop.c (Fnext_char_property_change)
1834 (Fprevious_char_property_change): Remove reference to non-existant
1835 argument OBJECT from doc-string.
1836
257e3f57
GM
18372001-10-01 Gerd Moellmann <gerd@gnu.org>
1838
1839 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1840 (try_window_id): Skip back over lines ending in a newline from a
1841 string.
1842
1843 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1844 New bit flag
1845
c1f29759
RS
18462001-10-01 Richard M. Stallman <rms@gnu.org>
1847
1848 * search.c (Freplace_match): Doc fix.
1849
c30dce3d
AI
18502001-09-28 Andrew Innes <andrewi@gnu.org>
1851
1852 * w32menu.c (set_frame_menubar): Take into account that
1853 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1854 <raeburn@gnu.org>.
1855
03be5931
EZ
18562001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1857
1858 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1859
75bec752
PJ
18602001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1861
1862 * s/gnu-linux.h: Fix a typo in comment.
1863
83100e0a
AS
18642001-09-28 Andreas Schwab <schwab@suse.de>
1865
1866 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1867 nocombreloc, in case -z combreloc is the default.
1868
a74b48cf
GM
18692001-09-28 Gerd Moellmann <gerd@gnu.org>
1870
1871 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1872 really going on here.
1873
09c4719e
SM
18742001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1875
1876 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1877
f7d5d963
EZ
18782001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1879
1880 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1881 utf-8, menu-bar, and latin-N.
1882 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1883 unconditionally now.
1884 (lisp): Add latin-N, since they are preloaded.
1885
9240e746
GM
18862001-09-27 Gerd Moellmann <gerd@gnu.org>
1887
14531065
GM
1888 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1889 to the left. Some cleanup.
1890
9240e746
GM
1891 * xdisp.c (display_mode_element): One more case where a string's
1892 multibyteness should be used for display.
1893
edd1e654
GM
18942001-09-26 Gerd Moellmann <gerd@gnu.org>
1895
b02439c8
GM
1896 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1897 reading at EOF.
1898
032906b1 1899 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1900 of the only temporarily set echoing flag for deciding when
032906b1
GM
1901 the cancel echoing.
1902
1903 * keyboard.c (echo_kboard): Make externally visible.
1904
1905 * lisp.h (echo_kboard): Declare extern.
1906
cb617e7c 1907 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1908 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1909 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1910 this round of redisplay if make_cursor_line_fully_visible fails.
1911 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1912 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1913
1914 * dispextern.h (required_matrix_width, required_matrix_height):
1915 Add prototypes.
1916
09c4719e
SM
1917 * dispnew.c (required_matrix_width, required_matrix_height):
1918 New functions.
cb617e7c 1919 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1920 (allocate_matrices_for_frame_redisplay: Use them.
1921 Remove parameters CH_DIM.
cb617e7c 1922
edd1e654
GM
1923 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1924 and selected_window to the frame of the window whose mode-lines
1925 are displayed, and to the window itself.
1926 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1927 here.
edd1e654 1928
924b604c
GM
19292001-09-25 Gerd Moellmann <gerd@gnu.org>
1930
daba7643
GM
1931 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1932 the image cache under us.
1933
b7a22712 1934 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1935 with a string value, use that string's multibyteness for displaying.
b7a22712 1936
ad648212
GM
1937 * keyboard.c (read_char): Don't clear a message for a switch-frame
1938 event. From Stefan Monnier <monnier@cs.yale.edu>.
1939
9f8531e5
GM
1940 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1941 version for after 21.1.
1942
1943 * xdisp.c (row_containing_pos): Make externally visible.
1944
1945 * dispextern.h (row_containing_pos): Add prototype.
1946
924b604c
GM
1947 * process.c (send_process): Disable composition if from_byte < 0.
1948 From Kenichi Handa <handa@etl.go.jp>.
1949
6f3f0db4
GM
19502001-09-24 Gerd Moellmann <gerd@gnu.org>
1951
c69c0ebc
GM
1952 * xterm.c (refreshicon): Function removed.
1953
d1182bc4
GM
1954 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1955
1956 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1957
1958 * xterm.c (toplevel): Remove includes in #if 0.
1959
6f3f0db4
GM
1960 * process.c (sigchld_handler) [LINUX]: Don't return from
1961 the signal handler at the end of the loop.
1962
59957f85
GM
19632001-09-21 Gerd Moellmann <gerd@gnu.org>
1964
09c4719e
SM
1965 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1966 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1967
a0528984
EZ
19682001-09-21 Markus Rost <rost@math.ohio-state.edu>
1969
1970 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1971
db92b288
GM
19722001-09-20 Gerd Moellmann <gerd@gnu.org>
1973
3fed8ad5
GM
1974 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1975 since this function can be called during GC.
1976
db92b288
GM
1977 * callproc.c (Fcall_process): Handle errors from pipe(2).
1978 (child_setup): Delete code in #ifdef vipc.
1979
7121b85a
GM
19802001-09-19 Gerd Moellmann <gerd@gnu.org>
1981
72f62cb5
GM
1982 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1983 (display_mode_element): Display the string from decode_mode_spec
1984 depending on its multibyteness.
1985
a2697022
GM
1986 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1987
7121b85a
GM
1988 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1989
bfc97351
GM
19902001-09-18 Gerd Moellmann <gerd@gnu.org>
1991
c9063433
GM
1992 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1993 recursive_edit_unwind.
1994 (recursive_edit_unwind): Set kboard state according to
1995 SINGLE-KBOARD.
1996
3fbdba3e
GM
1997 * buffer.c (modify_overlay): Don't do nothing if START == END;
1998 This can still be a modification, for example when an overlay has
1999 a before-string or after-string.
2000 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2001 an overlay with before-string or after-string.
2002
1270031d
GM
2003 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2004 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2005
bfc97351
GM
2006 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2007 first_unchanged_at_end_row is in front of
2008 last_unchanged_at_beg_row. This code should be removed after the
2009 release of 21.1.
2010
d8a973aa
GM
20112001-09-17 Gerd Moellmann <gerd@gnu.org>
2012
e18c8b8d
GM
2013 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2014 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2015
d8a973aa
GM
2016 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2017 versions >= 2.95.
2018
ed7d6ba4
EZ
20192001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2020
2021 * dired.c (Ffile_attributes): Doc fix.
2022
551629f9
GM
20232001-09-14 Gerd Moellmann <gerd@gnu.org>
2024
2025 * fileio.c (Ffile_symlink_p): Fix last change.
2026
2027 * filelock.c (current_lock_owner): Fix last change.
2028
4c8c7926
GM
20292001-09-13 Gerd Moellmann <gerd@gnu.org>
2030
620c4704
GM
2031 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2032 take that to mean that the buffer is too small.
2033
81c3310d
GM
2034 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2035 that to mean that the buffer is too small.
2036
06fd3792
GM
2037 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2038 current buffer's multibyteness when discarding the iterator's
2039 stack.
2040
4c8c7926
GM
2041 * xfns.c (Fx_window_property): Handle case that property gets
2042 deleted between the two calls to XGetWindowProperty.
2043
9a72e4c1
GM
20442001-09-11 Gerd Moellmann <gerd@gnu.org>
2045
bd819d14 2046 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2047
a41edd99
GM
2048 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2049 in addition to read-only.
2050
2051 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2052 to t in addition to read-only.
2053
2054 * lisp.h (Qinhibit_modification_hooks): Declare.
2055
2056 * insdel.c (Qinhibit_modification_hooks): New variable.
2057 (syms_of_insdel): Initialize and staticpro it.
2058
d4881c6a
GM
2059 * textprop.c (verify_interval_modification): Don't run
2060 modification-hooks if inhibit_modification_hooks.
2061
2062 * dispnew.c (set_window_cursor_after_update): Fix code
2063 finding glyph row containing cursor when cursor_in_echo_area
2064 is >= 0.
2065
9a72e4c1
GM
2066 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2067 (add_to_log): Use bcopy instead of strcpy.
2068 (init_from_display_pos): Use an explicit loop over bytes in
2069 overlay strings instead of calling index.
2070
f4a374a1
GM
20712001-09-10 Gerd Moellmann <gerd@gnu.org>
2072
300e57bd
GM
2073 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2074
2075 * dispnew.c (direct_output_for_insert): Don't change IT's
2076 stop_charpos to something in front of its current position.
2077
f4a374a1
GM
2078 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2079 `format'.
2080
7e4cbc91
RS
20812001-09-10 Richard M. Stallman <rms@gnu.org>
2082
2083 * frame.c (Fmouse_position): Doc fix.
2084
6afad91e
GM
20852001-09-07 Gerd Moellmann <gerd@gnu.org>
2086
2087 * xdisp.c (init_from_display_pos): Don't compare the result
2088 of calling index with NULL.
2089
f76e0368
GM
20902001-09-06 Gerd Moellmann <gerd@gnu.org>
2091
2092 * xfns.c (x_set_background_color): Don't change the colors
2093 of the X window of scroll bar widgets.
2094
9ead1b60
AI
20952001-09-05 Andrew Innes <andrewi@gnu.org>
2096
2097 * w32fns.c (w32_createwindow): Undo last change.
2098
c3b497b3
GM
20992001-09-05 Gerd Moellmann <gerd@gnu.org>
2100
08e1d6df
GM
2101 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2102
c3b497b3
GM
2103 * xdisp.c (string_buffer_position): Use *single_char_property*
2104 functions instead of the *single_property* functions.
b56ba8de 2105
8f860180
AI
21062001-09-04 Andrew Innes <andrewi@gnu.org>
2107
9a72e4c1
GM
2108 * w32term.c (w32_read_socket): Add more information to debugging
2109 output.
8f860180
AI
2110
2111 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2112 from Emacs frames, so that calls to GetClipBox in w32term.c
2113 correctly report when part of a frame is visible (including
2114 scrollbars, etc). This prevents repeated redrawing of frames when
2115 only a scrollbar is visible.
2116 (w32_wnd_proc): Add more frame information to debugging output.
2117
2ee1aa00
SM
21182001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2119
2120 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2121
e3b22517
GM
21222001-09-03 Gerd Moellmann <gerd@gnu.org>
2123
7e376260
GM
2124 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2125 help-echo for a string which doesn't have help-echo itself, use
2126 get-char-property to obtain the help-echo from the string's buffer
2127 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2128 have mouse-face, look ``under'' the string for mouse-face from an
2129 overlay.
2130 (fast_find_position): Add parameter STOP. In the final row, stop
2131 before glyphs having STOP as object. Don't consider glyphs that
2132 are not from a buffer.
2133
e3b22517
GM
2134 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2135
9a249bba
EZ
21362001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2137
2138 * fns.c (Fmd5): Doc fix.
2139
c9979669
GM
21402001-08-31 Gerd Moellmann <gerd@gnu.org>
2141
2142 * composite.c (update_compositions): Do nothing if
2143 inhibit-modification-hooks is set.
2144
9584e63a
GM
21452001-08-30 Gerd Moellmann <gerd@gnu.org>
2146
986ec8f2 2147 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2148 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2149 glyph matrices etc. in a core dump.
2150
92a25631
GM
2151 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2152 (syms_of_xdisp): Initialize them.
2153 (handle_single_display_prop): Don't change point, bind `object',
2154 `position', and `buffer-position' instead to the object having the
2ee1aa00 2155 `display' property, position in the object and position in the buffer.
92a25631 2156
9584e63a
GM
2157 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2158 of the buffer if REPLACE is non-nil.
2159
d38633a3
GM
21602001-08-29 Gerd Moellmann <gerd@gnu.org>
2161
2162 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2163
f4fccc1e
EZ
21642001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2165
2166 * w32term.c (x_set_glyph_string_background_width)
2167 (show_mouse_face): Track the last changes in xterm.c.
2168
eaaa65b0
GM
21692001-08-28 Gerd Moellmann <gerd@gnu.org>
2170
7b0870b2
GM
2171 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2172 string's background width so that multi-line mouse-face is drawn
2173 to the right edge of the window.
2174 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2175 glyphs.
2176
6b6e2422 2177 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2178 before inserting/writing glyphs.
6b6e2422 2179
eaaa65b0
GM
2180 * xdisp.c (display_mode_element): Use string_byte_to_char to
2181 determine character positions in strings, use chars_in_text
2182 instead of strwidth.
2183 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2184 a matrix as parameter; this is easier to use from GDB.
2185
9ad62cf8
MB
21862001-08-28 Miles Bader <miles@gnu.org>
2187
2ee1aa00
SM
2188 * textprop.c (Fprevious_single_char_property_change)
2189 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2190
32171635
GM
21912001-08-27 Gerd Moellmann <gerd@gnu.org>
2192
47d57b22
GM
2193 * fileio.c (Finsert_file_contents): Allocate, restore, and
2194 free composition data in the case of REPLACE not being nil.
2195
2196 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2197 there exist overlay strings with newlines at POS.
2198 (text_outside_line_unchanged_p): Return 0 if changes start at
2199 START and overlays exist at START. Likewise for END.
2200 (try_window_id): Give up if init_to_row_end returns 0.
2201
32171635
GM
2202 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2203 unconditionally.
2204
e1249666
GM
22052001-08-24 Gerd Moellmann <gerd@gnu.org>
2206
33954c45
GM
2207 * keymap.c (access_keymap): Return the cdr of the binding of
2208 a generic character instead of its definition (KEY . BINDING).
2209
e1249666
GM
2210 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2211 to 0 also in the REPLACE case.
2212
fb4c6c96
AC
22132001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2214
2215 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2216 open to determine whether file is readable (as for DOS_NT).
2217
59ecf80b
GM
22182001-08-23 Gerd Moellmann <gerd@gnu.org>
2219
2220 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2221 coding.type is coding_type_no_conversion or coding_type_raw_text,
2222 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2223 non-nil instead of just setting enable_multibyte_characters in the
2224 buffer to nil.
2225
40e33037
GM
22262001-08-22 Gerd Moellmann <gerd@gnu.org>
2227
374388c3
GM
2228 * dispextern.h (struct face_cache): Add member
2229 menu_face_changed_p.
2230
2231 * xfaces.c (menu_face_changed_default): New variable.
2232 (menu_face_changed_count): Variable removed.
2233 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2234 the menu_face_changed_default flag, otherwise set the FRAME's
2235 menu_face_changed_p flag if the `menu' face has been changed.
2236 Prevent calling set_font_frame_param if FRAME is t.
2237 (make_face_cache): Initialize cache's menu_face_changed_p
2238 from menu_face_changed_default.
2239 (realize_basic_faces): Look into the frame's face cache to
2240 determine if the menu appearance needs updating.
2241
40e33037
GM
2242 * keymap.c (access_keymap): Fix last change to not consider
2243 IDX when it has modifiers.
2244
859ea4b8
GM
22452001-08-21 Gerd Moellmann <gerd@gnu.org>
2246
2247 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2248 . BINDING) exists, where GENERIC-CHAR is the generic character of
2249 the charset of IDX, return BINDING unless there exists a binding
2250 for IDX itself.
2251
e8660d73
GM
22522001-08-16 Gerd Moellmann <gerd@gnu.org>
2253
cca1b1d7
GM
2254 * xrdb.c (SYSV): Don't define on Solaris 2.
2255 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2256
e8660d73 2257 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2258 of the screen line, not text line, containing IT's current position.
e8660d73 2259
93aba6fc
GM
22602001-08-15 Gerd Moellmann <gerd@gnu.org>
2261
288d4e06
GM
2262 * window.c (window_scroll_pixel_based): Don't recenter if
2263 PT is partially visible in the window.
2264
3452efc2
SM
2265 * xterm.c (expose_window_tree, expose_window, expose_line):
2266 Return 1 when overwriting mouse-face.
82f053ab
GM
2267 (expose_frame): If mouse-face was overwritten, redo it.
2268
93aba6fc
GM
2269 * xfaces.c (x_update_menu_appearance): Don't call
2270 set_frame_menubar, let the next redisplay do it.
2271
858a55c1
AI
22722001-08-14 Andrew Innes <andrewi@gnu.org>
2273
2274 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2275 drawing glyph string.
2276
3a990b67
EZ
22772001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2278
2279 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2280 running HI-UX/MPP.
2281
04386463
GM
22822001-08-14 Gerd Moellmann <gerd@gnu.org>
2283
2284 * xfaces.c (x_update_menu_appearance): Save and restore value of
2285 interrupt_input_blocked.
2286
3e6385a4
GM
22872001-08-13 Gerd Moellmann <gerd@gnu.org>
2288
b0e619b4
GM
2289 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2290 a line start, move back to the line start.
3452efc2 2291
0de73d5a
GM
2292 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2293 exactly when a mini-buffer is active.
2294
3e6385a4
GM
2295 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2296 in units of 1/8 character on non window-system frames.
2297 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2298
d1b5f629
EZ
22992001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2300
2301 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2302 a doc string.
2303
eaa2319f
GM
23042001-08-09 Gerd Moellmann <gerd@gnu.org>
2305
8e3189f0
GM
2306 * keyboard.c (Vpre_help_message): New variable.
2307 (syms_of_keyboard): Initialize and staticpro it.
2308 (show_help_echo): Record current message before displaying a
2309 help-echo, and restore that message when clearing the help.
2310
eaa2319f
GM
2311 * xfns.c (x_create_im): Remove prototype.
2312
2313 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2314
2315 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2316
eaa2319f
GM
23172001-08-08 Gerd Moellmann <gerd@gnu.org>
2318
2319 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2320 windows whose height has changed, disable partially visible lines.
eaa2319f 2321
17fdcfc8
GM
23222001-08-07 Gerd Moellmann <gerd@gnu.org>
2323
22d01aed 2324 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2325 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2326
17fdcfc8
GM
2327 * xdisp.c (start_display): Don't try to determine the continuation
2328 lines width if lines are truncated. It's superfluous and leads to
2329 incorrect results if POS is not visible in the window after
2330 reseating the iterator at the previous line start.
2331
8e3fe78e
GM
23322001-08-06 Gerd Moellmann <gerd@gnu.org>
2333
2334 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2335
98a8938c
GM
23362001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2337
2338 * alloc.c (init_stack): Remove declaration.
2339
18f9986a
GM
23402001-08-03 Gerd Moellmann <gerd@gnu.org>
2341
5e1f85e0
GM
2342 * keyboard.c (read_key_sequence): Check that key is an integer
2343 before comparing it with quit_char.
2344 (add_command_key): Use larger_vector.
2345 (read_char_x_menu_prompt): Instead of converting symbol and
2346 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2347 which cannot be confused with valid events.
5e1f85e0
GM
2348 (read_char): When reading from Vunread_command_events, check for
2349 events of the form (EVENT . disabled) instead of
2350 (EVENT . nil).
2351
18f9986a
GM
2352 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2353 a float, determine the max height from the frame's height.
2354
fbc7f2a6
GM
23552001-08-02 Gerd Moellmann <gerd@gnu.org>
2356
2357 * xdisp.c (redisplay_internal): Take message_cleared_p into
2358 account only if minibuf_level == 0.
2359
81b1a79d
GM
23602001-08-01 Gerd Moellmann <gerd@gnu.org>
2361
e5c60873
GM
2362 * xdisp.c (redisplay_internal): Add a check for the last
2363 displayed message.
3452efc2 2364
6e019995
GM
2365 * xdisp.c (message_cleared_p): New variable.
2366 (clear_message): Set message_cleared_p when clearing the current
2367 message.
2368 (redisplay_internal): Look at message_cleared_p to capture
2369 the case that the echo area should be cleared.
2370
308a74d8
GM
2371 * keyboard.c (command_loop_1): Fix spelling of
2372 resize_echo_area_exactly.
2373
3452efc2 2374 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2375
2376 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2377
81b1a79d
GM
2378 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2379 current matrix when the window gets smaller.
2380
ada329e6
EZ
23812001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2382
2383 * print.c (strout): Cast the character passed to insert_char to
2384 unsigned char, to avoid sign extension when it is promoted to int.
2385
ed86208c
GM
23862001-07-31 Gerd Moellmann <gerd@gnu.org>
2387
2388 * fileio.c (Finsert_file_contents): Don't treat a return value
2389 of 0 from emacs_read as an IO error.
2390
6594ac22
GM
23912001-07-30 Gerd Moellmann <gerd@gnu.org>
2392
cef68af5
GM
2393 * keyboard.c (abs): New macro.
2394 (double_click_fuzz): New variable.
2395 (make_lispy_event): Use it to determine what makes a double-click.
2396 (syms_of_keyboard): DEFVAR_INT it.
2397
6594ac22
GM
2398 * xmenu.c (set_frame_menubar): Take into account that
2399 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2400 <raeburn@gnu.org>.
2401
75c5350a
GM
24022001-07-27 Gerd Moellmann <gerd@gnu.org>
2403
2404 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2405
2406 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2407 of row's visible height.
2408
2409 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2410 deal with the first overlay string having an image `display' property.
2411 (try_window_reusing_current_matrix, compute_line_metrics):
2412 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2413 row is invisible above and part of the row is at the same time
2414 invisible below the window.
2415
ac49effe
GM
24162001-07-26 Gerd Moellmann <gerd@gnu.org>
2417
2418 * xfns.c (x-show-tip): Doc fix.
3452efc2 2419
ac49effe
GM
2420 * xfns.c (Vx_max_tooltip_size): New variable.
2421 (syms_of_xfns): DEFVAR_LISP it.
2422 (Fx_show_tip): Set frame's window_width to the width of the
2423 window. Use a maximum tooltip size specified by
2424 Vx_max_tooltip_size, if that has valid contents.
2425 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2426
8c3b00cb
AI
24272001-07-26 Andrew Innes <andrewi@gnu.org>
2428
2429 * w32term.c (x_display_list): New variable.
2430 (w32_term_init): Set it.
2431
2432 * w32term.h (x_display_list): New extern.
2433
16098288
GM
24342001-07-26 Gerd Moellmann <gerd@gnu.org>
2435
2436 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2437 is non-nil, instead of when redisplaying_p is non-zero.
2438 See comment there.
16098288
GM
2439 (mark_window_display_accurate_1): Add an assertion.
2440
64c5be50
GM
24412001-07-25 Gerd Moellmann <gerd@gnu.org>
2442
e743f599
GM
2443 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2444
563b384d
GM
2445 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2446 events so that we get a chance of processing expose events.
2447
64c5be50
GM
2448 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2449
296808a5
GM
24502001-07-24 Gerd Moellmann <gerd@gnu.org>
2451
2452 * xfns.c (valid_image_p): Protect better against invalid image
2453 specifications. Previous code could signal an error.
2454
5247262a
GM
24552001-07-23 Gerd Moellmann <gerd@gnu.org>
2456
3452efc2 2457 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2458 presence of display table entries.
2459 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2460
dd42b31a
GM
2461 * dispnew.c (adjust_glyph_matrix): In the optimization for
2462 windows whose height has changed, use the new window height
2463 to compute which rows to invalidate.
2464
9e5a7f2a
GM
2465 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2466 (MAX_10_EXP): New macro.
2467 (Fformat): Use it.
2468
5247262a
GM
2469 * coding.c (code_convert_region): Handle the multibyte case if
2470 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2471
177ab8ce
GM
24722001-07-20 Gerd Moellmann <gerd@gnu.org>
2473
6e07c0a5
GM
2474 * dispextern.h (struct face): Change type of `stipple' to
2475 int; it's an ID.
2476
177ab8ce
GM
2477 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2478
b5b80599
GM
24792001-07-19 Gerd Moellmann <gerd@gnu.org>
2480
4e2a256b
GM
2481 * dispnew.c (update_window): Don't set the cursor at the end
2482 of the update if display update has been paused.
2483
3452efc2 2484 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2485
c1fd9232
KR
24862001-07-18 Ken Raeburn <raeburn@gnu.org>
2487
2488 * fns.c (Fset_char_table_default): Check that a charset is defined
2489 before checking its dimension.
2490
928a85c1
KR
24912001-07-17 Ken Raeburn <raeburn@gnu.org>
2492
2493 * coding.c (setup_coding_system): Don't do any designation based
2494 on reg_bits if charset is not yet defined.
2495
fb4c6c96 2496 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2497 pointer, using eassert.
2498
de11c1ea
GM
24992001-07-17 Gerd Moellmann <gerd@gnu.org>
2500
3452efc2
SM
2501 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2502 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2503
467f1209
GM
25042001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2505
2506 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2507
c3d6be34
GM
25082001-07-16 Gerd Moellmann <gerd@gnu.org>
2509
c1d61a7d
GM
2510 * fileio.c (unwind_read): Function removed.
2511 (read_non_regular, read_non_regular_quit): New functions.
2512 (Finsert_file_contents): When reading from non-regular files,
2513 arrange to catch a `quit' and terminate the loop. Rearrange
2514 code so that a `quit' when reading from a regular file doesn't
2515 insert text in the buffer.
2516
c3d6be34
GM
2517 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2518 Clear faces afterwards.
2519 (clear_font_table): Take a x_display_info parameter. Don't free
2520 fonts being the default font of any frame on the given display.
2521
e06aa1f9
GM
25222001-07-13 Gerd Moellmann <gerd@gnu.org>
2523
2524 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2525 instead of CHAR_STRING which can signal an error.
2526
2527 * charset.c (char_to_string_1): Extracted from char_to_string.
2528 Return -1 instead of signaling an error.
2529 (char_to_string): Use it.
2530
2531 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2532
176c92e6
SM
25332001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2534
2535 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2536 is t, don't try to append anything to it.
2537
1c56232f
EZ
25382001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2539
2540 * dired.c (file_name_completion): Pass dp->d_name to
2541 Fstring_match, not elt, which is always nil here.
2542
1d2b2268
GM
25432001-07-12 Gerd Moellmann <gerd@gnu.org>
2544
2545 * xselect.c (x_decline_selection_request): Handle errors
2546 caused by receivers that have vanished.
2547
2548 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2549 ignoring events on foreign windows in #if 0. Always dispatch
2550 the event after checking it with x_handle_property_notify.
2551
2552 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2553 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2554 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2555 (toplevel): Add prototypes for file-local functions.
2556 (x_atom_to_symbol): Remove DPYINFO parameter.
2557
fe5a0162
SM
25582001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2559
2560 * w32menu.c (menubar_selection_callback, w32_menu_show):
2561 Initialize `entry' to nil.
2562 (w32_dialog_show): Remove unused `save_wv' variable.
2563 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2564
a777242c
GM
25652001-07-11 Gerd Moellmann <gerd@gnu.org>
2566
8ee5b6a3
GM
2567 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2568
d0e2444e
GM
2569 * fileio.c (unwind_read): Print a message when discarding inserted
2570 text or switching the buffer to unibyte. Change parameter.
2571 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2572
a777242c
GM
2573 * fileio.c (unwind_read): New function.
2574 (Finsert_file_contents): Record it as unwind-function for
2575 the case that reading is interrupted by C-g.
2576
ae794295
GM
25772001-07-10 Gerd Moellmann <gerd@gnu.org>
2578
fe5a0162 2579 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2580 update when scrolling_window returns 0.
2581
6b05fae3
GM
2582 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2583
2584 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2585 for the case that x_decode_color signals an error.
6b05fae3 2586
ae794295
GM
2587 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2588
bb6e8cee
GM
25892001-07-09 Gerd Moellmann <gerd@gnu.org>
2590
2591 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2592 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2593 around ioctls.
2594
36b40a8a
EZ
25952001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2596
24b97d4b
EZ
2597 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2598 doc string line for dos-timezone-offset.
2599
36b40a8a
EZ
2600 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2601 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2602 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2603 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2604
2605 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2606
0967b4b0
GM
26072001-07-05 Gerd Moellmann <gerd@gnu.org>
2608
f25cfe53
GM
2609 * sound.c: Include Emacs' header files with #include "...".
2610
0967b4b0
GM
2611 * eval.c (specbind): Additionally record the buffer that was
2612 current when a buffer-local or frame-local variable was bound.
2613
c347a1c3
GM
26142001-07-04 Gerd Moellmann <gerd@gnu.org>
2615
2616 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2617 to unibyte characters in unibyte buffers.
2618
6332ca8a
GM
26192001-07-03 Gerd Moellmann <gerd@gnu.org>
2620
38472d44
GM
2621 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2622 the frame on the binding stack. Change format of entries for
2623 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2624 (unbind_to): Handle unbinding a frame-local variable.
2625
6332ca8a 2626 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2627 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2628 (dump_glyph_row): Print row's continuation_lines_width.
2629 (try_window_id): Take the shortcut if ZV is visible in the
2630 window, but there are actually no changes at ZV.
2631
63d1b174
GM
26322001-07-02 Gerd Moellmann <gerd@gnu.org>
2633
4c175203
GM
2634 * xterm.h (x_free_dpy_colors): Add prototype.
2635
2636 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2637 right number of arguments.
2638
0b54ce28
GM
2639 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2640 ($(lwlibdir)TAGS): New target.
4c175203 2641 (TAGS): Fix dependency list.
0b54ce28 2642
63d1b174
GM
2643 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2644 with input blocked.
2645
d827466c
GM
26462001-06-30 Gerd Moellmann <gerd@gnu.org>
2647
2648 * emacs.c (main): Remove extern declaration for sys_nerr, which
2649 isn't used and causes a compilation error with GCC 3.0 on
2650 FreeBSD 4.3.
2651
b5cb1ada
GM
26522001-06-27 Gerd Moellmann <gerd@gnu.org>
2653
a5d3ec3f 2654 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2655 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2656 (toplevel): Include <signal.h> and syssignal.h.
2657
b5cb1ada
GM
2658 * sound.c (vox_configure, vox_close): Turn off atimers
2659 around ioctls.
2660
d9bad487
GM
26612001-06-26 Gerd Moellmann <gerd@gnu.org>
2662
fdbb67fe
GM
2663 * keyboard.c (read_char) <non_reread>: Record the previous idle
2664 start time before calling timer_stop_idle.
2665 (read_char) <reread_first>: After processing a help-echo event,
2666 restore the previous idle start time.
2667
d9bad487
GM
2668 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2669 the start of invisible text.
2670 (setup_for_ellipsis): New function.
2671 (next_overlay_string): After all overlay strings have been
2672 processed, display an ellipsis if necessary.
2673 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2674 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2675
2676 * dispextern.h (struct iterator_stack_entry): Add member
2677 display_ellipsis_p.
2678
2b9c25e0
GM
26792001-06-25 Gerd Moellmann <gerd@gnu.org>
2680
80de57df
GM
2681 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2682 on the value of the wait-for-wm frame parameter.
2683
2684 * xterm.h (struct x_output): Add member wait_for_wm.
2685
2686 * xfns.c (Qwait_for_wm): New variable.
2687 (x_frame_parms): Add entry for `wait-for-wm".
2688 (x_set_wait_for_wm): New function.
2689 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2690 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2691
2b9c25e0
GM
2692 * xdisp.c (try_window_id) <all changes below window end>: Don't
2693 take this shortcut if ZV is visible in the window.
2694 (try_window_id): When checking for window start being in changed
2695 text, don't check that the buffer's size has changed.
2696
f772775c
RS
26972001-06-23 Richard M. Stallman <rms@gnu.org>
2698
2699 * minibuf.c (Fcompleting_read): Doc fix.
2700
fa9090b8
GM
27012001-06-19 Gerd Moellmann <gerd@gnu.org>
2702
2703 * composite.c (Ffind_composition_internal): Accept ZV
2704 and a string's end position as POS.
2705
f6f1beba
GM
27062001-06-18 Gerd Moellmann <gerd@gnu.org>
2707
2708 * composite.c (Ffind_composition_internal): Check POS
2709 for validity.
2710
0ae83348
EZ
27112001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2712
2713 * editfns.c (Fmessage_box): If the frame is not under a window
2714 system, output the message in the echo area.
2715
e4cdc335
RS
27162001-06-14 Richard M. Stallman <rms@gnu.org>
2717
2718 * xdisp.c (try_window_id): When EOB is visible, don't treat
2719 insertion at EOB as if it were "off the bottom of the screen."
2720
a55a5f3c
AI
27212001-06-11 Andrew Innes <andrewi@gnu.org>
2722
2723 * w32proc.c (create_child): Add new parameter is_gui_app.
2724 (w32_executable_type): Add new parameter is_gui_app.
2725 (sys_spawnve): Use it.
2726 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2727 SIGQUIT. This matches better how the signals are interpreted by
2728 MSVC compiled programs.
2729 (syms_of_ntproc): Update docstring.
2730
1b85dc1c
SM
27312001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2732
2733 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2734 well otherwise note_mouse_highlight might optimize away highlighting
2735 if we pass over that same overlay again.
2736
b75f8eab
EZ
27372001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2738
2739 * lread.c (Fload): Document that the argument is run via
2740 substitute-in-file-name.
2741
94843cc1
GM
27422001-05-31 Gerd Moellmann <gerd@gnu.org>
2743
b14659e6
GM
2744 * Makefile.in (bootstrap-doc): New target.
2745 (bootstrap-emacs): Depend on it.
2746
0894672f
GM
2747 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2748 auto-save-list-file-name when shutting down Emacs, because
2749 creating the directory might signal an error, and leaves
2750 Emacs in a strange state.
2751
94843cc1
GM
2752 * term.c: (tty_cursor_hidden): New variable.
2753 (update_begin): Don't call tty_hide_cursor. Clean up.
2754 (update_end, set_terminal_window, set_scroll_region): Clean up.
2755 (ring_bell, reset_terminal_modes): Clean up.
2756 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2757 on tty_cursor_hidden.
2758 (write_glyphs): Call tty_hide_cursor.
2759
db3a49a6
SM
27602001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2761
2762 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2763
8bd189fb
GM
27642001-05-30 Gerd Moellmann <gerd@gnu.org>
2765
6f1be3b9
GM
2766 * xfns.c (enum image_value_type): New enumerator
2767 IMAGE_STRING_OR_NIL_VALUE.
2768 (parse_image_spec): Handle it.
2769 (xbm_format, pbm_format): Use it for :foreground and :background.
2770 (xbm_load, pbm_load): Check for nil color names.
2771
8bd189fb
GM
2772 * xterm.c (note_mouse_highlight): If an overlapping overlay
2773 exists, but we find that we highlight the same overlay as before,
2774 don't do the highlighting again.
2775
7bdba03c
GM
27762001-05-29 Gerd Moellmann <gerd@gnu.org>
2777
4c329aa8
GM
2778 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2779 Protect unibyte strings created by replacing their multibyte
2780 equivalents in menu_items.
2781
e15e2828
GM
2782 * keymap.c (Fsingle_key_description): NUL-terminate the string
2783 buffer before calling build_string.
2784
7bdba03c
GM
2785 * callproc.c (Fcall_process): Deal with decode_coding returning
2786 CODING_FINISH_INCONSISTENT_EOL.
2787
89c8dc6c
GM
27882001-05-28 Gerd Moellmann <gerd@gnu.org>
2789
db3a49a6 2790 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2791 an item's name with its key description in case the description
2792 is a multibyte string.
2793
2794 * keymap.c (Fsingle_key_description): Create a multibyte string
2795 only if necessary.
2796
eb04d6cd
GM
2797 * macros.c (Fstart_kbd_macro): Doc fix.
2798
8bd6307f
GM
2799 * xterm.c (cursor_in_mouse_face_p): New function.
2800 (x_draw_stretch_glyph_string): Use it to choose a different GC
2801 when drawing a cursor within highlighted text.
2802
e26c4089
GM
2803 * editfns.c (char_property_eq): Put in #if 0.
2804
2805 * indent.c (string_display_width): Put in #if 0.
2806
2807 * lread.c (Fload): Remove unused label.
2808
89c8dc6c
GM
2809 * termcap.c (speeds): Put in #if 0.
2810
9a1211f2
GM
28112001-05-18 Gerd Moellmann <gerd@gnu.org>
2812
29148a3f
GM
2813 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2814
9a1211f2
GM
2815 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2816 transformation matrix by 10.
2817
09393d07
GM
28182001-05-16 Gerd Moellmann <gerd@gnu.org>
2819
2820 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2821 only if it's equal to the former foreground pixel color.
db3a49a6 2822 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2823 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2824
460e6bae
GM
28252001-05-16 Dave Love <fx@gnu.org>
2826
2827 * insdel.c (signal_before_change, signal_after_change): Consider a
2828 local change hook which changes the buffer.
99c78ce8
GM
2829
2830 * process.c (read_process_output): Don't call signal_after_change
2831 and update_compositions after insert_from_string_before_markers.
2832
dbcf3c03
GM
28332001-05-16 Gerd Moellmann <gerd@gnu.org>
2834
a90b3d3c
GM
2835 * xfaces.c (split_font_name): Use the right field when
2836 checking for `[...]' syntax.
2837
1b7818b4
GM
2838 * buffer.c (copy_overlays): New function.
2839 (clone_per_buffer_values): Use it.
2840
2841 * buffer.h (OVERLAY_PLIST): New macro.
2842
9bae8781
GM
2843 * keymap.c (Fsingle_key_description): Replace a build_string with
2844 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2845
dbcf3c03
GM
2846 * fontset.c (Ffontset_info): Check that face is non-null
2847 before accessing its fields.
2848
8a1ae4dd
GM
28492001-05-15 Gerd Moellmann <gerd@gnu.org>
2850
18a0a39e
GM
2851 * keyboard.c (read_key_sequence): Prevent generating a fake
2852 prefix key twice.
2853
e335b66a
GM
2854 * xfaces.c (split_font_name): Handle `[...]' for the right
2855 font name fields.
2856
8a1ae4dd
GM
2857 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2858 of CCL_STAT_INVALID_CMD.
2859
3cf80731
SM
28602001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2861
33568849
SM
2862 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2863 in <var> has no default value yet.
2864
3cf80731
SM
2865 * xfaces.c (try_alternative_families): First try the FAMILY.
2866 And if nothing is found in the end, try again with scalable fonts.
2867 (try_font_list): Let try_alternative_families do a bit more of
2868 the work. Only use FAMILY if it is not nil.
2869 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2870
933b0249
GM
28712001-05-14 Gerd Moellmann <gerd@gnu.org>
2872
58e5af83
GM
2873 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2874 pointer shape when show_mouse_face has already done it.
33568849 2875
58e5af83 2876 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2877 full-width rows.
2878
7b16a6bf
GM
2879 * xfaces.c (split_font_name): Make sure to leave the loop
2880 with the right value of `i'.
3cf80731 2881
933b0249
GM
2882 * xfaces.c (split_font_name): Handle matrix transformations
2883 in the pixel and point size fields of XLFD font names.
2884 (xlfd_point_size): Likewise.
2885
dddcbf00
EZ
28862001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2887
3cf80731 2888 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2889 (x_to_w32_font): Add prototype.
2890
7689ef0b
EZ
2891 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2892 redefining, to avoid compiler warnings.
2893
e7c15bba
EZ
2894 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2895
dddcbf00
EZ
2896 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2897 (w32_get_bdf_glyph): Cast between unsigned char and char when
2898 passing arguments to subroutines, to shut up compiler warnings.
2899 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2900 GET_HEX_VAL.
2901
2902 * xfaces.c: Include keyboard.h before frame.h, not after it.
2903
2904 * widget.c: Include keyboard.h before frame.h.
2905
2906 * w32term.h (struct image, struct face): Forward declaration, to
2907 avoid compiler warnings.
2908
7bd2d083
GM
29092001-05-11 Gerd Moellmann <gerd@gnu.org>
2910
47e72862
GM
2911 * keyboard.c (read_key_sequence): Don't modify events when
2912 generating fake prefix keys (mode-line, scroll-bar, ...) since
2913 this prevents proper processing of such events when pushed back
2914 into unread-command-events.
2915
dd5f324b
GM
2916 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2917 actually redrawn. Make the function static.
2918 (note_mouse_highlight): Fix a case where the mouse cursor
2919 was changed back to the text cursor.
2920
2921 * xterm.h (clear_mouse_face): Remove prototype.
2922
d88a79d4
GM
2923 * xdisp.c (try_window_id): Fix the fix and set the right
2924 window_end_vpos.
2925
2926 * xdisp.c (try_window_id): Fix computation of window end in the
2927 case that lines were deleted at the end of the window. Add some
2928 more debug_method_adds.
0416532f 2929
7bd2d083
GM
2930 * xfaces.c (try_alternative_families): New function.
2931 (try_font_list): Use it. If ATTRS specifies a family, check
2932 fonts from that family first.
2933 (choose_face_font): Remove code setting the family part of
2934 the pattern to nil.
2935
23fca891
GM
29362001-05-10 Gerd Moellmann <gerd@gnu.org>
2937
ff9aa2ca
GM
2938 * xdisp.c (try_window_id): Fix case of all changes before
2939 the window start.
7b2654b5 2940
23fca891
GM
2941 * xdisp.c (try_window_id): Add some xasserts.
2942
e9726794
GM
29432001-05-09 Gerd Moellmann <gerd@gnu.org>
2944
2945 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2946
9e53a675
GM
29472001-05-09 Dave Love <fx@gnu.org>
2948
2949 * xdisp.c (GIVE_UP): Fix for K&R C.
2950
0d487c52
GM
29512001-05-09 Gerd Moellmann <gerd@gnu.org>
2952
fe88d421
GM
2953 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2954
0d487c52
GM
2955 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2956 back to the text cursor shape without need.
2957
1e9fc92e
GM
29582001-05-07 Gerd Moellmann <gerd@gnu.org>
2959
a2a6232e
GM
2960 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2961
2962 * dispextern.h (inverse_video): Declare extern.
2963
1e9fc92e
GM
2964 * keyboard.c (delete_kboard): Handle the case that selected_frame
2965 has been deleted in the course of x_connection_closed.
2966
12949a7f
EZ
29672001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2968
7b2654b5
SM
2969 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2970 Fix the change from 2001-04-30.
12949a7f 2971
2fa2f461
GM
29722001-05-03 Gerd Moellmann <gerd@gnu.org>
2973
a779d213
GM
2974 * xfns.c (file_dialog_unmap_cb): New function.
2975 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2976 where a dialog is closed via the window manager.
2977
7b2654b5 2978 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2979 the window start or all below the window end mostly rewritten.
2980 (redisplay_window): Move the tests if try_window_id is
2981 applicable to try_window_id.
2982 (GIVE_UP): New macro.
2983
3356df63
GM
29842001-05-02 Gerd Moellmann <gerd@gnu.org>
2985
a39202f6 2986 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2987 currently being updated, mark the frame garbaged.
2988 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2989 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2990
3356df63
GM
2991 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2992 again if it has already been drawn.
2993
a9d2fd1d
SM
29942001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2995
2996 * syntax.c (update_syntax_table): Check that oldi has the same
2997 properties as old_prop before deciding not to invalidate.
2998
c95fc5f1
GM
29992001-04-30 Gerd Moellmann <gerd@gnu.org>
3000
a9793e45
GM
3001 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3002 read-only text that is so because of text properties.
3003
c95fc5f1 3004 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3005 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3006 windows that are components of a Lucid menu bar.
3007
5a5d9185
GM
30082001-04-27 Gerd Moellmann <gerd@gnu.org>
3009
3010 * term.c (turn_on_face): Fix reverse video handling on terminals
3011 that don't support colors.
3012
ba973f7a
GM
30132001-04-26 Gerd Moellmann <gerd@gnu.org>
3014
3015 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3016 a non-buffer.
3017
8c56a983
GM
30182001-04-25 Gerd Moellmann <gerd@gnu.org>
3019
a728644c
GM
3020 * term.c (toggle_highlight): New function.
3021 (turn_on_face): Change handling of reverse video.
3022
7b2654b5
SM
3023 * process.c (wait_reading_process_input):
3024 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3025
bfd8410f
GM
3026 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3027 of the number of overlays to check.
3028
be2488ca
GM
3029 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3030
8c56a983
GM
3031 * xdisp.c (try_window_id): Fix a case where window_end_pos
3032 and window_end_bytepos were not adjusted.
3033
522d42f7
GM
30342001-04-23 Gerd Moellmann <gerd@gnu.org>
3035
3036 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3037 zero instead of -1.
3038
78c1afb6
EZ
30392001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3040
a9d2fd1d
SM
3041 * process.c (wait_reading_process_input) [!subprocesses]:
3042 Don't reference waiting_for_user_input_p, it's not defined in the
3043 branch without async subprocesses support.
78c1afb6 3044
a2fab450
GM
30452001-04-19 Gerd Moellmann <gerd@gnu.org>
3046
a122a38e
GM
3047 * keyboard.c (delete_kboard): Prevent a dangling reference
3048 from current_kboard to KB, which is freed.
3049
a9d2fd1d
SM
3050 * process.c (wait_reading_process_input):
3051 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3052 read_key_sequence aware of buffer changes from under it.
3053
0f8d6dc7
GM
30542001-04-18 Gerd Moellmann <gerd@gnu.org>
3055
eeffb293
GM
3056 * xfaces.c (Qscalable_fonts_allowed): New variable.
3057 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3058 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3059 removed.
eeffb293 3060 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3061 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3062 for scalable-fonts-allowed to t.
eeffb293 3063
0f8d6dc7
GM
3064 * fileio.c (Finsert_file_contents): If the file size returned from
3065 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3066 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3067
eec2d1de
EZ
30682001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3069
3070 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3071 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3072 (__memalign_hook): Make the two prototypes consistent.
3073
f4f480bd
GM
30742001-04-17 Gerd Moellmann <gerd@gnu.org>
3075
3076 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3077 matrix of mini-windows.
3078
52283633
SM
30792001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3080
3081 * intervals.c (find_interval): Don't rebalance during signal handling.
3082
ec2423c9
GM
30832001-04-11 Gerd Moellmann <gerd@gnu.org>
3084
30cb0001 3085 * fns.c: Include blockinput.h.
52283633 3086
ec2423c9
GM
3087 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3088
719d83ad
GM
30892001-04-10 Gerd Moellmann <gerd@gnu.org>
3090
60f8d735
GM
3091 * fns.c (Fcompare_strings): Fix return values.
3092
afffeb57
GM
3093 * window.c (window_scroll): Change the meaning of N to mean
3094 N screen-fulls or N lines.
3095 (window_scroll_pixel_based, window_scroll_line_based)
3096 (scroll_command, Fscroll_other_window): Change accordingly.
3097
52283633
SM
3098 * window.c (window_scroll_pixel_based, Frecenter):
3099 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3100 height of the window.
3101
3102 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3103 instead of using it.last_visible_y for the height of the window.
52283633 3104
719d83ad 3105 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3106 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3107
3108 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3109 able to write to hidden and system files. From Dan Holmsand
3110 <dan@eyebee.com>.
719d83ad 3111
8ddf3ee1
GM
3112 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3113 Holmsand <dan@eyebee.com>.
719d83ad 3114
522ed7fb
GM
31152001-04-09 Gerd Moellmann <gerd@gnu.org>
3116
9170e5d4
GM
3117 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3118
522ed7fb
GM
3119 * window.c (window_internal_height): Return 1 less if the
3120 window has a header line.
3121
3122 * xdisp.c (try_window_id): When scrolling on a terminal, take
3123 the change of window_internal_height into account.
3124
ceeb3d7d
EZ
31252001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3126
3127 * gmalloc.c (align): If the argument SIZE would overflow
3128 __malloc_ptrdiff_t, fail right away.
3129
63685b9d
GM
31302001-04-06 Gerd Moellmann <gerd@gnu.org>
3131
3132 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3133 Make sure the tooltip is completely visible.
3134 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3135
3136 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3137
3138 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3139
3ffb33bb
DL
31402001-04-06 Dave Love <fx@gnu.org>
3141
52283633
SM
3142 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3143 Fix test of `from'.
3ffb33bb 3144
869fb12c
GM
31452001-04-06 Gerd Moellmann <gerd@gnu.org>
3146
52283633 3147 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3148
869fb12c
GM
3149 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3150
441bf856
GM
31512001-04-05 Gerd Moellmann <gerd@gnu.org>
3152
4d664b04
GM
3153 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3154
52283633 3155 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3156
30ca89f5
GM
3157 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3158 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3159
3160 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3161 shell widget's position only if it is non-null.
3162
52283633
SM
3163 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3164 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3165
81a81c0f
GM
3166 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3167 FILENAME to bring it in synch with the documentation.
3168
441bf856
GM
3169 * xfaces.c (realizing_basic_faces_p): Renamed from
3170 realize_default_face_p.
3171 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3172 (realize_default_face): Don't set the flag.
3173
702a1e8e
GM
31742001-04-04 Gerd Moellmann <gerd@gnu.org>
3175
1013f4e3
GM
3176 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3177
52283633
SM
3178 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3179
1013f4e3
GM
3180 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3181 the buffer that was used for echoing.
3182
702a1e8e
GM
3183 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3184 (first_font_matching): Removed unused function.
3185 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3186 (may_use_scalable_font_p): Remove parameter FONT; rename
3187 parameter NAME to FONT.
3188 (x_face_list_fonts): Fix missing bounds check.
3189 (realizing_default_face_p): New variable.
3190 (realize_default_face): Set and clear that flag.
3191 (x_face_list_fonts): When called during the realization of the
3192 default face, and no matching fonts are found when ignoring
3193 scalable fonts and fonts matching a regexp from
3194 face-ignored-fonts, try without ignoring fonts.
3195
f9dbcda4
GM
31962001-04-03 Gerd Moellmann <gerd@gnu.org>
3197
ad18ffb1
GM
3198 * xfns.c (postprocess_image): New function.
3199 (lookup_image): Call it for all image types except PostScript.
3200 (x_kill_gs_process): Call postprocess_image.
3201
f9dbcda4
GM
3202 * xterm.c (x_use_underline_position_properties): New variable.
3203 (x_draw_glyph_string): Use it.
3204 (syms_of_xterm): DEFVAR_BOOL it.
3205
651f03b6
GM
32062001-04-02 Gerd Moellmann <gerd@gnu.org>
3207
3208 * xterm.c (x_alloc_nearest_color_1): New function.
3209 (x_alloc_nearest_color): Use it.
3210 (x_color_cells): Take a Display as argument, instead of a frame.
3211 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3212 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3213 (x_initialize): Register cvt_string_to_pixel as resource converter
3214 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3215
73d75a62
GM
32162001-03-30 Gerd Moellmann <gerd@gnu.org>
3217
b2046df8
GM
3218 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3219 (set_iterator_to_next): If a string from a display property ends,
3220 consider the case that this might also be the end of an
3221 overlay string having the display property.
3222
52283633 3223 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3224
87d8eba4
GM
3225 * xdisp.c (reseat_to_string): Undo last change.
3226
73d75a62
GM
3227 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3228 matrix of a window when the header line changes, when
3229 new rows are allocated, or when the width changes.
3230
911a2406
EZ
32312001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3232
52283633 3233 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3234
aea51abe
EZ
32352001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3236
3237 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3238 deprecated.
3239
176bc847
GM
32402001-03-29 Gerd Moellmann <gerd@gnu.org>
3241
ed31fabf
GM
3242 * data.c (Fsubr_interactive_form): New function.
3243 (syms_of_data): Defsubr it.
3244
176bc847
GM
3245 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3246 (live_float_p, live_misc_p): Return 1 only if the offset of the
3247 pointer in its block is >= 0.
3248
e59d0e9d
GM
32492001-03-28 Paul Eggert <eggert@twinsun.com>
3250
3251 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3252 microseconds calcuation. Avoid double-rounding problem.
3253 In doc string, warn that the result is approximate.
3254
f827b862
GM
32552001-03-28 Gerd Moellmann <gerd@gnu.org>
3256
30a3f61c
GM
3257 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3258 bind `inhibit-eval-during-redisplay' to t.
3259
3260 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3261
3262 * xdisp.c (inhibit_eval_during_redisplay)
3263 (Qinhibit_eval_during_redisplay): New variables.
3264 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3265 don't eval, return nil instead.
3266 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3267 Initialize Qinhibit_eval_during_redisplay.
3268
e719f5ae
GM
3269 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3270 the iterator's multibyte_p flag.
3271
deb2613a
GM
3272 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3273 instead of setting it to zero; it's incremented for each frame
3274 where the menu face is changed.
3275
52283633
SM
3276 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3277 change bottom shadow accordingly.
3278
3279 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3280 intersections here.
3281 (expose_window): Do it here instead.
52283633 3282 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3283
f827b862
GM
3284 * bytecode.c (BYTE_CODE_QUIT): New macro.
3285 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3286
4bde0ebb
GM
32872001-03-27 Gerd Moellmann <gerd@gnu.org>
3288
607ec83c
GM
3289 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3290 Give up if matrix starts in an ellipsis.
3291 (init_from_display_pos): Do nothing if POS doesn't specify
3292 a dpvec_index but the iterator has such a position.
3293
0245398f
GM
3294 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3295
aba25348
GM
3296 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3297 x/y position is (0, 0) after destroying the menu bar, restore
3298 its original position.
3299
4bde0ebb
GM
3300 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3301 (init_from_display_pos): Use it.
3302 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3303
8cdb267e
GM
33042001-03-26 Gerd Moellmann <gerd@gnu.org>
3305
3306 * xdisp.c (try_window_id): Undo last change.
3307
9948db79
EZ
33082001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3309
3310 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3311
3312 * buffer.c (syms_of_buffer): Doc fix.
3313
2eddf899
GM
33142001-03-26 Gerd Moellmann <gerd@gnu.org>
3315
3316 * xfaces.c (x_update_menu_appearance): Use local variable
3317 popup_path for setting font resources.
3318
6c145d35
EZ
33192001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3320
6a65b1b5
EZ
3321 * frame.c (Fframe_list): Don't reference tip_frame if
3322 HAVE_WINDOW_SYSTEM is not defined.
3323
6c145d35
EZ
3324 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3325 <wl@gnu.org>.
3326
d74c1900
GM
33272001-03-25 Gerd Moellmann <gerd@gnu.org>
3328
20fbd925
GM
3329 * xdisp.c (init_from_display_pos): Test invisible property
3330 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3331
927c5b3b
GM
3332 * xdisp.c (redisplay_internal) <update one window>: Make sure
3333 last_arrow_position and last_arrow_string are set.
3334
d74c1900
GM
3335 * frame.c (Fframe_list): Don't return a tooltip frame.
3336
091f8878
GM
33372001-03-23 Gerd Moellmann <gerd@gnu.org>
3338
52283633
SM
3339 * xdisp.c (mark_window_display_accurate_1): New function,
3340 extracted from mark_window_display_accurate.
3341 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3342 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3343 (mark_window_display_accurate): Use it.
3344 (redisplay_internal): Use it for the selected window.
3345 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3346 for the selected frame.
3347
ac90c44f
GM
3348 * xdisp.c Use make_number, for readability.
3349 (try_window_id): Disable rows below the window end.
3350 (try_window_reusing_current_matrix): Use cursor_row_p.
3351 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3352 of rows.
3353 (init_from_display_pos): If POS specifies a position in a display
3354 vector, maybe get the iterator set up for that ellipsis.
43c09969 3355
091f8878
GM
3356 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3357
991786dd
EZ
33582001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3359
3360 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3361
6c29b43c
GM
33622001-03-23 Gerd Moellmann <gerd@gnu.org>
3363
3364 * xfaces.c (x_update_menu_appearance): Use a different path
3365 for Lucid popup menus.
3366
d8731202
SM
33672001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3368
3369 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3370
3371 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3372 (string_buffer_position): Use `make_number'.
3373
f61a541b
GM
33742001-03-22 Gerd Moellmann <gerd@gnu.org>
3375
3c9e997b
GM
3376 * xfaces.c (x_update_menu_appearance): Renamed from
3377 x_set_menu_face_resources. Use different resources for popups.
3378
3379 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3380 (GC_CHECK_STRING_BYTES): Don't define.
3381
364cd450
GM
3382 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3383 Removed, together with subroutines.
3384 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3385 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3386
d8731202
SM
3387 * dispextern.h (x_set_menu_resources_from_menu_face):
3388 Remove prototype.
364cd450 3389
d8731202 3390 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3391 Remove calls to x_set_menu_resources_from_menu_face.
3392
d8731202
SM
3393 * xfaces.c (xm_set_menu_resources_from_menu_face):
3394 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3395
3396 * xmenu.c: Include widget.h.
3397 (single_submenu): Return int. Some cleanup.
3398 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3399
140330de
GM
34002001-03-21 Gerd Moellmann <gerd@gnu.org>
3401
3402 * xterm.c (x_update_window_end): Handle overwritten mouse face
3403 also for tool bar windows.
3404 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3405 DRAW is DRAW_IMAGE_RAISED.
3406
1741905c
GM
34072001-03-20 Gerd Moellmann <gerd@gnu.org>
3408
fa88947e
GM
3409 * print.c (syms_of_print): Doc fixes.
3410
1741905c
GM
3411 * fns.c (Fmd5): Doc fix.
3412
ade0bee1
GM
34132001-03-19 Gerd Moellmann <gerd@gnu.org>
3414
357e7376
GM
3415 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3416 Clear area of the frame not occupied by the scroll bar.
3417
c2c097cc
GM
3418 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3419 tip frame's root window buffer to *tip* right after creating
3420 the frame.
3421
ade0bee1
GM
3422 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3423 is an integer don't have to be for space characters.
3424
88c6e37e
GM
34252001-03-16 Gerd Moellmann <gerd@gnu.org>
3426
52283633
SM
3427 * indent.c (current_column, current_column_1, Fmove_to_column)
3428 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3429
c62eed76
KH
34302001-03-15 Kenichi Handa <handa@etl.go.jp>
3431
3432 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3433 drawing glyph string.
3434
c899e7e6
GM
34352001-03-15 Gerd Moellmann <gerd@gnu.org>
3436
d0bbfc99
GM
3437 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3438 (command_loop_1): Undo last change.
3439
03d1a189
GM
3440 * xterm.c (fast_find_position): Return the correct vpos.
3441
c899e7e6 3442 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3443 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3444 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3445 Call store_symval_forwarding with BUF null.
3446 (set_internal): Call store_symval_forwarding with the BUF
3447 parameter passed to set_internal. Formerly, the value was always
3448 set in the current buffer; the buffer recorded in specbind for
3449 this case wasn't used.
3450 (arith_driver): Reindent.
3451
52283633
SM
3452 * buffer.c (swap_out_buffer_local_variables):
3453 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3454
3455 * lisp.h (store_symval_forwarding): Change prototype.
3456
3457 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3458
57ac7c81
GM
34592001-03-14 Gerd Moellmann <gerd@gnu.org>
3460
697617d9
GM
3461 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3462 FOR_DELETION. Avoid resizing the mini-window of the selected
3463 frame if FOR_DELETION is set.
3464 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3465 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3466 signature.
3467
3468 * window.c (Fset_window_configuration): Change call to
3469 do_switch_frame to new format.
3470
3471 * keyboard.c (quit_throw_to_read_char): Change call to
3472 do_switch_frame to new format.
3473
3474 * lisp.h (do_switch_frame): Change prototype.
3475
819dce0f
GM
3476 * frame.c (Fframe_parameters): In the `buffer-list' frame
3477 parameter, store the buffer list of FRAME, not the list of the
3478 selected frame.
3479
57ac7c81
GM
3480 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3481 box just because the glyph row's full_width_p flag is set.
3482
65008712
GM
34832001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3484
3485 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3486 skip the padding blanks inserted in extend_face_to_end_of_line,
3487 before checking for trailing whitespace.
3488
159cf431
GM
34892001-03-13 Gerd Moellmann <gerd@gnu.org>
3490
52283633 3491 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3492 Remove special handling for LessTif/Motif.
3493 (toplevel): Don't include Xm/Xm.h.
3494
52283633
SM
3495 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3496 Remove workaround code for LessTif; it doesn't work anymore.
3497
2564ea1b 3498 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3499 Xm/ScrollBarP.h.
afcdc0a1 3500
52283633
SM
3501 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3502 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3503 contemporary LessTif.
3504
52283633
SM
3505 * xfaces.c (xm_set_menu_resources_from_menu_face):
3506 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3507
159cf431
GM
3508 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3509 removing button grabs.
3510
c6f7429a
KH
35112001-03-13 Kenichi Handa <handa@etl.go.jp>
3512
cb82d767
KH
3513 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3514 and clip-large-size-font as obsolete.
3515
c6f7429a
KH
3516 * lread.c (read_multibyte): Check the validity of multibyte
3517 sequence. If invalid, return the first byte.
3518
760cefb5
GM
35192001-03-12 Gerd Moellmann <gerd@gnu.org>
3520
3521 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3522 before running the command; timer functions or process
3523 filters may have set it.
3524
5141f9d0
EZ
35252001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3526
3527 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3528 Doc fix.
3529
b6a15240
GM
35302001-03-12 Gerd Moellmann <gerd@gnu.org>
3531
3532 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3533 to sprintf.
3534
95522746
GM
35352001-03-09 Gerd Moellmann <gerd@gnu.org>
3536
db14cfc5
GM
3537 * dispextern.h (string_buffer_position): Add prototype.
3538
52283633 3539 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3540 (single_display_prop_string_p): New functions.
3541
3542 * xterm.c (note_mouse_highlight): If there's no help-echo on
3543 a string, look at the buffer text ``under'' it.
3544
3545 * keyboard.c (make_lispy_event): Add string info to the event,
3546 analogous to what's done on mode lines.
3547 (read_key_sequence): For a click on a string, consider `local-map'
3548 and `keymap' of that string.
3549
52283633
SM
3550 * keyboard.c (make_lispy_event, make_lispy_movement):
3551 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3552
3553 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3554
3555 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3556 POS; return void.
3557
95522746
GM
3558 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3559 flags argument to emacs_open; it seems to conflict with O_EXCL.
3560
898a399d
KH
35612001-03-09 Kenichi Handa <handa@etl.go.jp>
3562
28cd4910
KH
3563 * composite.h (struct composition): Change types of members;
3564 glyph_len to unsigned, width to unsigned short.
898a399d 3565
4cdf6a6c
AI
35662001-03-08 Andrew Innes <andrewi@gnu.org>
3567
3568 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3569 menu titles.
3570
129004d3
GM
35712001-03-08 Gerd Moellmann <gerd@gnu.org>
3572
221dd3e7
GM
3573 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3574 instead of nil.
3575
52283633 3576 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3577 help-echo in strings.
3578 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3579 (fast_find_string_pos): New function.
3580
52283633
SM
3581 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3582 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3583
3584 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3585 Handle `mouse-face'.
3586
3587 * dispextern.h (face_at_string_position): Change prototype.
3588
52283633 3589 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3590
129004d3
GM
3591 * keyboard.c (make_lispy_event): Avoid generating drag events
3592 if the mouse hasn't actually moved to another buffer position.
52283633 3593
80c8ab8c
DL
35942001-03-08 Dave Love <fx@gnu.org>
3595
129004d3 3596 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3597
989521fd
GM
35982001-03-08 Gerd Moellmann <gerd@gnu.org>
3599
3600 * process.c (Fset_process_window_size): Fix a typo.
3601
bb5c338d
KH
36022001-03-08 Kenichi Handa <handa@etl.go.jp>
3603
3604 * coding.c (detect_coding_sjis): Do more rigid check.
3605 (detect_coding_big5): Likewise.
3606 (decode_coding_sjis_big5): Likewise.
3607 (Fdetect_coding_region): Call detect_coding_system with tailing
3608 anchor byte `\0' for more rigid detection.
52283633 3609 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3610 (Fdetect_coding_string): Likewise.
3611
8b8f9197
SM
36122001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3613
3614 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3615 a string before extracting its data.
3616
3bdf2660
GM
36172001-03-07 Gerd Moellmann <gerd@gnu.org>
3618
3619 * window.c (Frecenter): Rewrite code handling negative values
3620 of ARG on graphical frames.
3621
36222001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3623
3624 * window.c (displayed_window_lines): If W->start is outside the
3625 accessible portion of the buffer, call start_display with BEGV or
3626 ZV instead of W->start.
3627
471f86b9
GM
36282001-03-07 Gerd Moellmann <gerd@gnu.org>
3629
2ab62c6c
GM
3630 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3631
471f86b9
GM
3632 * process.c (Fset_process_filter): Don't crash if the input
3633 file descriptor of PROCESS is closed.
3634 (Fset_process_window_size): Likewise.
3635
101922c3
GM
36362001-03-06 Kenichi Handa <handa@etl.go.jp>
3637
3638 * xterm.c (XTflash): Make the timeout of select shorter, and call
3639 select repeatedly until the desired time expires.
3640
45d051a7
GM
36412001-03-06 Gerd Moellmann <gerd@gnu.org>
3642
3643 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3644
3645 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3646
3647 * lisp.h (Vwindow_list): Declare extern.
3648
8f372c46
EZ
36492001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3650
3651 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3652
f16a7aa5
GM
36532001-03-06 Gerd Moellmann <gerd@gnu.org>
3654
157ae273
GM
3655 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3656 to detect a case where we have to highlight a different region
3657 despite not having left the currently highlighted region.
3658 Set mouse_face_overlay in the x_display_info.
45d051a7 3659 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3660
3661 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3662
3663 * buffer.c (mouse_face_overlay_overlaps): New function.
3664
3665 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3666 (Qmouse_face): Declare extern.
3667
f16a7aa5
GM
3668 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3669 if face_change_count is non-zero.
3670
827afcac
KH
36712001-03-06 Kenichi Handa <handa@etl.go.jp>
3672
3673 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3674 that the source is unibyte.
3675
14c7242e
DL
36762001-03-05 Dave Love <fx@gnu.org>
3677
827afcac 3678 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3679
c28b847b
GM
36802001-03-05 Gerd Moellmann <gerd@gnu.org>
3681
3682 * minibuf.c (read_minibuf): Clean up the binding stack if
3683 called noninteractively.
3684
b86644f2
KH
36852001-03-05 Kenichi Handa <handa@etl.go.jp>
3686
3687 * coding.c (syms_of_coding): Docstring modified.
3688
203682cc 36892001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3690
3691 * charset.c (char_to_string): If a single byte char has modifier
3692 bits that can't be reflected to the character code, ignore them
45d051a7 3693 instead of signaling an error.
b86644f2 3694
e30bd7b7
EZ
36952001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3696
3697 * s/msdos.h: Update copyright notice.
3698
3699 * dosfns.h: Update copyright notice.
3700
3701 * dosfns.c: Update copyright notice.
3702
3703 * msdos.c: Update copyright notice.
3704
b52b65bd
GM
37052001-03-02 Gerd Moellmann <gerd@gnu.org>
3706
3707 * xterm.c (glyph_rect): New function.
3708 (XTmouse_position): Use it to raise the threshold for mouse
3709 movement event generation.
3710
53c4b1e6
EZ
37112001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3712
3713 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3714 specifies (reverse . t), reverse the initial screen colors.
3715 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3716 but we are reversing the colors, set bg_set, not fg_set.
3717 Likewise for setting background-color and reversing: set fg_set.
3718 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3719 in effect.
3720
3721 * xfaces.c (Finternal_set_lisp_face_attribute)
3722 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3723 parameters alist.
3724
f964b4d7
GM
37252001-03-02 Gerd Moellmann <gerd@gnu.org>
3726
ef53d75e
GM
3727 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3728 to a single slash in the middle of file names.
3729
52283633 3730 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3731 Accept only alphanumeric time zone names.
3732
f964b4d7
GM
3733 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3734 or width area.
3735 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3736 a widget to zero height.
52283633 3737
c3c45f65
GM
37382001-03-01 Gerd Moellmann <gerd@gnu.org>
3739
3740 * window.c (Fwindow_end): Call move_it_past_eol only if
3741 ending up on a partially visible line.
3742
028d739a
DL
37432001-03-01 Dave Love <fx@gnu.org>
3744
3745 * ccl.c (Fccl_execute): Doc fix.
3746
57c5889c
GM
37472001-03-01 Gerd Moellmann <gerd@gnu.org>
3748
35f59f6b
GM
3749 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3750 of the tool bar before calling x_figure_window_size.
3751
f84ff02c
GM
3752 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3753 NULL after destroying it, otherwise XTread_socket can access a
3754 destroyed widget when input is unblocked.
3755
8b8f9197 3756 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3757
57c5889c
GM
3758 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3759 same name as before, although there was a change in fontsets.
3760
224227d1
KR
37612001-02-28 Ken Raeburn <raeburn@gnu.org>
3762
4560730a
KR
3763 * lisp.h (Fframe_parameter): Declare.
3764
224227d1 3765 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3766 Lisp_Object.
224227d1 3767
ece93c02
GM
37682001-02-28 Gerd Moellmann <gerd@gnu.org>
3769
11ef99b9
GM
3770 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3771 NULL instead.
3772
3773 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3774 NULL instead.
3775
ece93c02
GM
3776 * alloc.c (toplevel): Include process.h.
3777 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3778 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3779 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3780 (allocate_vector, allocate_hash_table, allocate_window)
3781 (allocate_frame, allocate_process, allocate_other_vector):
3782 New functions.
ece93c02
GM
3783 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3784 (mark_maybe_pointer): New function.
52283633 3785 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3786 remain and not Lisp_Objects.
3787 (min_heap_address, max_heap_address): New variables.
3788 (mem_find): Return MEM_NIL if START is below min_heap_address or
3789 above max_heap_address.
3790 (mem_insert): Compute min_heap_address and max_heap_address.
3791
3792 * process.c (make_process): Use allocate_process.
3793
3794 * frame.c (make_frame): Use allocate_frame.
3795
3796 * window.c (make_window, make_dummy_parent): Use allocate_window.
3797 (Fcurrent_window_configuration): Use allocate_other_vector.
3798
3799 * lisp.h (allocate_vectorlike): Remove prototype.
3800 (allocate_vector, allocate_other_vector, allocate_frame)
3801 (allocate_window, allocate_process, allocate_hash_table):
3802 Add prototypes.
3803
3804 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3805 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3806
063af457
KH
38072001-02-27 Kenichi Handa <handa@etl.go.jp>
3808
3809 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3810 treat the produced bytes as a valid multibyte sequence.
3811
3812 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3813 (ccl_driver) <CCL_WriteMultibyteChar2>:
3814 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3815 <ccl_finish>: Set ccl->eight_bit_control properly.
3816
3817 * ccl.h (struct ccl_program): New member eight_bit_control.
3818
f58c6494
SM
38192001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3820
3821 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3822 accessible_keymaps_char_table.
3823 (accessible_keymaps_char_table): Obey `is_metized'.
3824 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3825 Lisp_Object.
3826
c596c392
GM
38272001-02-26 Gerd Moellmann <gerd@gnu.org>
3828
3829 * dispnew.c: Check HAVE_TERM_H before including term.h.
3830
425de386
AI
38312001-02-24 Andrew Innes <andrewi@gnu.org>
3832
3833 * makefile.w32-in: Update copyright notice.
3834
2ba11bbd
SM
38352001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3836
3837 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3838
66c56ed1
KH
38392001-02-24 Kenichi Handa <handa@etl.go.jp>
3840
4c1593ce
KH
3841 * Makefile.in (lisp): Add international/utf-8.elc.
3842
66c56ed1
KH
3843 * fontset.c (Fnew_fontset): Fix handling of the case that an
3844 element of FONTLIST is a cons of family and registry.
3845
796ead7e
JR
38462001-02-23 Jason Rumney <jasonr@gnu.org>
3847
3848 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3849 to height unconditionally.
3850
3851 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3852 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3853 (x_insert_glyphs): Call window_box_left to obtain the left
3854 x-coordinate of the area to shift.
3855
3856 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3857 safe_run_hooks.
3858
f6839838
AI
38592001-02-22 Andrew Innes <andrewi@gnu.org>
3860
52283633 3861 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3862 ($(BLD)\dispnew.obj):
3863 ($(BLD)\editfns.obj):
3864 ($(BLD)\fileio.obj):
3865 ($(BLD)\filelock.obj):
3866 ($(BLD)\keyboard.obj):
3867 ($(BLD)\w32proc.obj):
3868 ($(BLD)\process.obj):
3869 ($(BLD)\sysdep.obj): Ditto.
3870
3871 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3872 header files.
52283633
SM
3873 ($(BLD)/dispnew.$(O)):
3874 ($(BLD)/editfns.$(O)):
3875 ($(BLD)/fileio.$(O)):
3876 ($(BLD)/filelock.$(O)):
3877 ($(BLD)/keyboard.$(O)):
3878 ($(BLD)/w32proc.$(O)):
3879 ($(BLD)/process.$(O)):
f6839838
AI
3880 ($(BLD)/sysdep.$(O)): Ditto.
3881
c224f70b
GM
38822001-02-22 Gerd Moellmann <gerd@gnu.org>
3883
51695746
GM
3884 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3885 at the start of the function, check that the \n in it->c is
3886 from the iterator's current position.
52283633 3887
a61b7058
GM
3888 * xdisp.c (handle_single_display_prop): Add parameter
3889 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3890 properties which replace the display of text with something else.
3891 (handle_display_prop): Call handle_single_display_prop with
3892 additional argument saying if we already replaced text display
3893 with something else. Use AREF.
52283633 3894 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3895 (decode_mode_spec_coding): Use AREF and ASIZE.
3896
3473f362
GM
3897 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3898 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3899 * vmstime.h: Files removed.
52283633 3900
2bb58df3
GM
3901 * unexencap.c, unexfx2800.c: Files removed.
3902
c224f70b
GM
3903 * dispnew.c (direct_output_for_insert): Give up if we are showing
3904 a message or just cleared the message because we might need to
3905 resize the echo area window or display an empty echo area.
3906
ffc9ff0c
GM
39072001-02-21 Gerd Moellmann <gerd@gnu.org>
3908
0528abe1
GM
3909 * xdisp.c (redisplay_internal): Do the
3910 mark_window_display_accurate after all windows have been
3911 redisplayed because this call resets flags in buffers which are
3912 needed for proper redisplay.
3913
52283633
SM
3914 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3915 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3916 the old names.
3917
52283633
SM
3918 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3919 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3920
3921 * msdos.h (struct x_output): Rename busy_window to
3922 hourglass_window, busy_p to hourglass_p.
3923
52283633
SM
3924 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3925 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3926
3927 * xfns.c: Rename everything containing *busy_cursor* and similar
3928 to *hourglass*.
3929 (syms_of_w32fns): Rename x-busy-pointer-shape to
3930 x-hourglass-pointer-shape, display-busy-cursor to
3931 display-hourglass, busy-cursor-delay to hourglass-delay.
3932
3933 * w32fns.c: Rename everything containing *busy_cursor* and similar
3934 to *hourglass*.
3935 (syms_of_w32fns): Rename x-busy-pointer-shape to
3936 x-hourglass-pointer-shape, display-busy-cursor to
3937 display-hourglass, busy-cursor-delay to hourglass-delay.
3938
3939 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3940 of its busy_p flag.
3941
3942 * dispextern.h (start_hourglass, cancel_hourglass)
3943 (display_hourglass_p): Renamed from *busy_cursor*.
3944
ab2c5f0a
GM
39452001-02-20 Gerd Moellmann <gerd@gnu.org>
3946
d17e49a8
GM
3947 * keyboard.c (read_char): When an event from unread-command-events
3948 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3949
fa97adf6
GM
3950 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3951 equal to the current buffer.
3952
ab2c5f0a
GM
3953 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3954 nil, otherwise we're left with truncate_lines t when a message
3955 is printed with message-truncate-lines bound to t.
3956
aeac019e
GM
39572001-02-19 Gerd Moellmann <gerd@gnu.org>
3958
c8bc6f65
GM
3959 * window.c (Fmove_to_window_line): Undo last change.
3960 (displayed_window_lines): Call line_bottom_y to determine
3961 the line's bottom position.
3962
3963 * dispextern.h (line_bottom_y): Add prototype.
3964
52283633 3965 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3966 (pos_visible_p): Use it.
3967
980a2d69
GM
3968 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3969 set redisplaying_p to 0 here instead of in Frecursive_edit.
3970 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3971 set redisplaying_p.
3972
52283633 3973 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3974 New variables.
3975 (syms_of_xdisp): Initialize new variables.
3976 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3977 Specbind `inhibit-menubar-update' when updating the menu bar.
3978
65048e97
GM
3979 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3980 safe_run_hooks.
3981
3982 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3983 safe_run_hooks.
3984
a57c4026
GM
3985 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3986 is null.
3987
aeac019e
GM
3988 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3989 to the start of the file.
3990
76846b31
GM
39912001-02-16 Gerd Moellmann <gerd@gnu.org>
3992
f3f053f3 3993 * window.c (set_window_buffer): Fix last change.
52283633 3994
f3f053f3
GM
3995 * window.c (set_window_buffer): Set window's vscroll to 0.
3996
dad75588
GM
3997 * window.c (coordinates_in_window): Increase width of area
3998 where the vertical line can be dragged.
3999
c220b753
GM
4000 * xterm.c (x_set_glyph_string_background_width): Extend the
4001 background face to the end of the drawing area in the text
4002 area, only.
4003
c56b1c1b
GM
4004 * xdisp.c (handle_single_display_prop): Set iterator's position
4005 to where the `display' property starts, like for images.
4006 (dump_glyph): New function.
4007 (dump_glyph_row): Use it. Dump info about marginal areas.
4008
4009 * dispnew.c (direct_output_for_insert): Recognize more cases where
4010 glyphs can be written instead of being inserted.
4011
4012 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4013 the left x-coordinate of the area to shift.
4014
76846b31
GM
4015 * dired.c (directory_files_internal): Set result list to nil
4016 before retrying.
4017
0fc71a77
KH
40182001-02-15 Kenichi Handa <handa@etl.go.jp>
4019
4020 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4021 invalid multibyte sequence, treat *SRC as a character of
4022 eight-bit-graphic.
4023
25078b54
EZ
40242001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4025
4026 * textprop.c (Fset_text_properties): Doc fix.
4027
8399f8a0
GM
40282001-02-15 Gerd Moellmann <gerd@gnu.org>
4029
4030 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4031
9a2a6f73
DL
40322001-02-14 Dave Love <fx@gnu.org>
4033
4034 * coding.c: Doc and message fixes.
4035
bf853fee
AI
40362001-02-14 Andrew Innes <andrewi@gnu.org>
4037
4038 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4039 Emacs frame above the screen size.
4040
78c663d8
GM
40412001-02-14 Gerd Moellmann <gerd@gnu.org>
4042
4043 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4044
7cc9f69f
GM
40452001-02-13 Gerd Moellmann <gerd@gnu.org>
4046
0a411995
GM
4047 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4048 case that TO ends up beyond ZV after running before-change-functions.
4049
5ddc1b75
GM
4050 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4051 the selected window if it is showing the buffer in question.
4052
7cc9f69f
GM
4053 * dired.c (directory_files_internal): Initialize errno.
4054 (toplevel): Include errno.h.
4055
2e6621ca
GM
40562001-02-13 Kenichi Handa <handa@etl.go.jp>
4057
4058 * xfaces.c (best_matching_font): New parameter width_ratio.
4059 Multiply avgwidth by width_ratio.
4060 (choose_face_font): Call best_matching_font with width_ratio
4061 calculated from the column width of C.
4062
60222d69
AI
40632001-02-12 Andrew Innes <andrewi@gnu.org>
4064
4065 The following changes are to draw box lines inside characters area
4066 if line-width is negative.
52283633 4067
60222d69
AI
4068 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4069 face->box_line_width is negative.
4070 (x_produce_stretch_glyph): Likewise.
4071 (x_produce_glyphs): Likewise.
4072 (x_estimate_mode_line_height): Likewise.
4073 (x_draw_glyph_string_background): Likewise.
4074 (x_draw_glyph_string_foreground): Likewise.
4075 (x_draw_composite_glyph_string_foreground): Likewise.
4076 (x_draw_glyph_string_box): Likewise.
4077 (x_draw_image_foreground): Likewise.
4078 (x_draw_image_relief): Likewise.
4079 (x_draw_image_foreground_1): Likewise.
4080 (x_draw_image_glyph_string): Likewise.
4081
9804b846
KH
40822001-02-09 Kenichi Handa <handa@etl.go.jp>
4083
4084 The following changes are to draw box lines inside characters area
4085 if line-width is negative.
52283633 4086
9804b846
KH
4087 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4088 face->box_line_width is negative.
4089 (x_produce_stretch_glyph): Likewise.
4090 (x_produce_glyphs): Likewise.
4091 (x_estimate_mode_line_height): Likewise.
4092 (x_draw_glyph_string_background): Likewise.
4093 (x_draw_glyph_string_foreground): Likewise.
4094 (x_draw_composite_glyph_string_foreground): Likewise.
4095 (x_draw_glyph_string_box): Likewise.
4096 (x_draw_image_foreground): Likewise.
4097 (x_draw_image_relief): Likewise.
4098 (x_draw_image_foreground_1): Likewise.
4099 (x_draw_image_glyph_string): Likewise.
4100
4101 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4102 and :line-width can be negative.
52283633 4103 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4104
49be9f70
JR
41052001-02-09 Jason Rumney <jasonr@gnu.org>
4106
4107 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4108 characters the same as ASCII and latin-1.
4109 (x_display_and_set_cursor): Check for the focus frame's selected
4110 window instead of selected_window.
4111 (x_after_update_window_line): Don't clear if frame's internal
4112 border width is zero.
4113 (x_new_font): Don't change a tooltip's size.
4114 (w32_initialize): Set char_ins_del_ok to 1.
4115
4116 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4117 (x_set_font): If font hasn't changed, avoid recomputing
4118 faces and other things.
52283633
SM
4119 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4120 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4121 (x_create_tip_frame): Prevent changing the tooltip's
4122 background color by specifying a color for the default font
4123 in .Xdefaults.
4124 (Qcancel_timer): New variable.
4125 (syms_of_w32fns): Initialize and staticpro it.
4126 (Fx_hide_tip, Fx_show_tip): Use it.
4127 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4128 the timer.
4129 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4130
4131 * w32.c (init_environment): Duplicate local string before putenv.
4132
555e35d2
SZ
41332001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4134
4135 * charset.c (Fstring): A typo.
4136
19c92c94
KH
41372001-02-09 Kenichi Handa <handa@etl.go.jp>
4138
e47a1c33
KH
4139 * charset.c (Fstring): If all arguments are less than 256, return
4140 a unibyte string.
4141
4142 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4143 return a unibyte string.
4144
19c92c94
KH
4145 * coding.c (code_convert_region): After detecting a coding, if
4146 nothing found, set coding->composing to COMPOSITION_NO.
4147 (decode_coding_string): Likewise.
4148
d8e675f5
SM
41492001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4150
4151 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4152 to avoid overflow.
4153
bd503487
KH
41542001-02-07 Kenichi Handa <handa@etl.go.jp>
4155
4156 * charset.c (parse_str_to_multibyte): New function.
4157
4158 * charset.h (parse_str_to_multibyte): Extern it.
4159
4160 * print.c (print_string): If we are going to print a unibyte
4161 string into a multibyte buffer, convert the string to multibyte by
4162 str_to_multibyte.
4163
a8370d72
AI
41642001-02-06 Andrew Innes <andrewi@gnu.org>
4165
4166 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4167 been created. It seems we can get sent window messages such as
4168 WM_ERASEBKGND before we properly update a frame.
4169
c363a1d6
GM
41702001-02-06 Gerd Moellmann <gerd@gnu.org>
4171
4172 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4173 Avoid some unnecessary cursor positioning.
4174
a08332c0
GM
41752001-02-05 Gerd Moellmann <gerd@gnu.org>
4176
52283633 4177 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4178 (LFACE_AVGWIDTH): New macro.
4179 (LFACEP): Use AREF.
4180 (check_lface_attrs): Check LFACE_AVGWIDTH.
4181 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4182 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4183 (merge_face_vectors): Check LFACE_AVGWIDTH.
4184 (Finternal_make_lisp_face): Use AREF.
4185 (xm_set_menu_resources_from_menu_face)
4186 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4187 (Finternal_lisp_face_empty_p): Use AREF.
4188 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4189 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4190 Compare average widths..
4191 (best_matching_font): Arrange for comparing average widths.
4192
52283633
SM
4193 * dispextern.h (enum lface_attribute_index):
4194 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4195
5cb3c8d4
DL
41962001-02-05 Dave Love <fx@gnu.org>
4197
4198 * puresize.h: Revert last change following loadup.el change.
4199
193fba87
AI
42002001-02-05 Andrew Innes <andrewi@gnu.org>
4201
4202 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4203 invocation of temacs, to work with Windows 2000.
4204 (bootstrap-emacs): Ditto.
4205
e16f52ce
GM
42062001-02-05 Gerd Moellmann <gerd@gnu.org>
4207
7a58ab59
GM
4208 * xterm.c (x_display_and_set_cursor): Check for the focus
4209 frame's selected window instead of selected_window.
4210
e89aaabd
GM
4211 * xdisp.c (try_scrolling): If point is in the line below the
4212 window, make sure to move the iterator at least a canonical
4213 char height down.
4214
52283633 4215 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4216
789ce875
KH
42172001-02-05 Kenichi Handa <handa@etl.go.jp>
4218
52283633
SM
4219 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4220 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4221 (ccl_driver): If the CCL program is terminated because of
4222 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4223 destination instead of throwing them away.
4224
20b28f82
GM
42252001-02-02 Gerd Moellmann <gerd@gnu.org>
4226
79fb38c0
GM
4227 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4228 faces and other things.
4229
20b28f82
GM
4230 * xdisp.c (get_next_display_element): Fix case of empty
4231 display table entry.
4232
5a72551e
EZ
42332001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4234
eb24d0bf
EZ
4235 * editfns.c (Fconstrain_to_field): Doc fix.
4236
6a3f48c7
EZ
4237 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4238 into `thoroughly', to make it consistent with the doc string.
4239
5a72551e
EZ
4240 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4241
01acdb05
GM
42422001-02-01 Gerd Moellmann <gerd@gnu.org>
4243
0353b28f
GM
4244 * search.c (search_buffer): Call set_search_regs with a byte
4245 position, not a character position.
4246
01acdb05
GM
4247 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4248 minibuffer-only,
4249
e86b5133
EZ
42502001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4251
4252 * frame.c (Fmodify_frame_parameters): Doc fix.
4253
7442878f
GM
42542001-01-31 Gerd Moellmann <gerd@gnu.org>
4255
01acdb05
GM
4256 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4257 identifier which is not reserved by Standard C.
52283633 4258
7442878f
GM
4259 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4260
4261 * window.c (enum window_part): New enumeration.
4262 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4263 Qright_bitmap_area.
4264 (coordinates_in_window): Return an enumerator from enum
4265 window_part. Fix handling of right scroll bar.
4266 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4267 `right-fringe' instead of `left-bitmap-area' and
4268 `right-bitmap-area'. Use enumerators from enum window_part
4269 instead of hard-coded integers.
52283633
SM
4270 (check_window_containing, window_from_coordinates):
4271 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4272 (syms_of_window): Replace Qleft_bitmap_area and
4273 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4274
7c132cba
EZ
42752001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4276
4277 * editfns.c (Fformat_time_string): Doc fix.
4278
c359dd9e
SM
42792001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4280
4281 * keymap.c (Fwhere_is_internal): Use the first valid binding
4282 if no ascii binding is found (when firstonly is t).
4283
ce070307
GM
42842001-01-31 Gerd Moellmann <gerd@gnu.org>
4285
b4f30ec5
GM
4286 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4287 instead of Finteractive_p.
4288
4289 * lisp.h (interactive_p): Add prototype.
4290
4291 * eval.c (interactive_p): New function.
4292 (Finteractive_p): Use it.
4293
ce070307
GM
4294 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4295
f57b6e64
DL
42962001-01-31 Dave Love <fx@gnu.org>
4297
d61c7afe
DL
4298 * .gdbinit (hook-run): Define to run xreload.
4299
f57b6e64
DL
4300 * textprop.c (Fset_text_properties): Fix newline in doc string.
4301
eef93f99
GM
43022001-01-30 Gerd Moellmann <gerd@gnu.org>
4303
52283633
SM
4304 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4305 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4306
4307 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4308 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4309 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4310
4311 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4312 height.
4313
d9c1f6f9
DL
43142001-01-30 Dave Love <fx@gnu.org>
4315
4316 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4317 AFTER_POTENTIAL_GC.
4318
e8f044a0
GM
43192001-01-29 Gerd Moellmann <gerd@gnu.org>
4320
52283633
SM
4321 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4322 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4323
8e1db7b3
EZ
43242001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4325
4326 * textprop.c (Fset_text_properties): Doc fix.
4327
4eefd9d2
GM
43282001-01-29 Gerd Moellmann <gerd@gnu.org>
4329
4330 * xdisp.c (forward_to_next_line_start): Remove xassert.
4331
fccb8288
EZ
43322001-01-29 Jason Rumney <jasonr@gnu.org>
4333
4eefd9d2 4334 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4335 returning without releasing it.
4336
76581eab
KH
43372001-01-29 Kenichi Handa <handa@etl.go.jp>
4338
4339 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4340 for '^', '$', and '\0'.
4341
83a96b4d
AC
43422001-01-28 Andrew Choi <akochoi@i-cable.com>
4343
5604ec34
AC
4344 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4345 regex for '^', '$', and '\0'.
4346
83a96b4d
AC
4347 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4348 only if current_sblock has been initialized.
4349
4350 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4351 terminal frame even if it is the only visible frame.
4352
c09a6440
KH
43532001-01-28 Kenichi Handa <handa@etl.go.jp>
4354
4355 * fontset.c (font_family_registry): Even if FONTNAME conform to
4356 XLFD, if it specifies other fields than family and registry,
52283633 4357 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4358 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4359 a signle byte character. Don't set FAMILY part to nil here.
4360 It is handled by the caller choose_face_font.
c09a6440
KH
4361 (Fnew_fontset): Call font_family_registry with FORCE 0.
4362 (Fset_fontset_font): Likewise.
4363
4dcd74e6
GM
43642001-01-27 Gerd Moellmann <gerd@gnu.org>
4365
4366 * xdisp.c (display_line): Don't treat a newline as fitting
4367 on the line.
4368
d2906bf8
GM
43692001-01-26 Gerd Moellmann <gerd@gnu.org>
4370
0130fe1a
GM
4371 * window.c (size_window): Set the window's orig_top to nil when
4372 changing heights, so that a future shrink_mini_window won't
4373 restore a bogus height.
4374
550f0e6a
GM
4375 * frame.c (do_switch_frame): If selected frame has a mini-window,
4376 resize that to exact size.
4377
b7b20fbd
GM
4378 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4379
a47b7816
GM
4380 * xdisp.c (display_line): Simplify check for glyphs fitting
4381 entirely in the line.
4382
d2906bf8
GM
4383 * xfns.c (xic_style): New variable.
4384 (create_frame_xic): Move static variable to global scope for
550f0e6a 4385 the case that `static' gets defined away.
d2906bf8 4386
73df2b1e
KH
43872001-01-26 Kenichi Handa <handa@etl.go.jp>
4388
4389 * coding.c (decode_coding): Set a flag for inhibiting
4390 inconsistent eol.
4391 (code_convert_region): Always set saved_coding_symbol.
4392 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4393 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4394
6613cfc4
GM
43952001-01-25 Gerd Moellmann <gerd@gnu.org>
4396
c5e6e06b
GM
4397 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4398 XClearArea.
4399
4400 * xterm.c (x_after_update_window_line): Don't clear if frame's
4401 internal border width is zero.
4402 (x_clear_area): New function.
4403 (x_after_update_window_line, x_clear_end_of_line)
4404 (x_scroll_bar_create, x_scroll_bar_set_handle)
4405 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4406 instead of XClearArea.
4407
4408 * xterm.h (x_clear_area): Add prototype.
4409
6613cfc4
GM
4410 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4411 which doesn't seem necessary anymore with Lesstif 0.92.
4412
650cc6cc
DL
44132001-01-25 Dave Love <fx@gnu.org>
4414
34ac3367
DL
4415 * puresize.h (BASE_PURESIZE): Up to 720000.
4416
650cc6cc
DL
4417 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4418
5e37dc22
GM
44192001-01-25 Gerd Moellmann <gerd@gnu.org>
4420
e1e441f9
GM
4421 * xdisp.c (echo_area_display): Don't call redisplay_internal
4422 when Emacs is shutting down. We can't run hooks etc. that
4423 would be necessary to do a redisplay.
4424
5e37dc22
GM
4425 * lread.c (read_integer): Use type EMACS_INT instead of int.
4426
0fb94c7f
EZ
44272001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4428
4429 * ccl.c (ccl_driver): Fix last change.
4430
e3778624
KH
44312001-01-25 Kenichi Handa <handa@etl.go.jp>
4432
4433 * ccl.h (sturct ccl_program): New member suppress_error.
4434
bb264518 4435 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4436 insert error message to the output.
4437 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4438
4439 * coding.h (struct coding_system): New member suppress_error.
4440
4441 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4442 (Fset_terminal_coding_system_internal): Set the member
4443 suppress_error to 1.
4444 (Fset_safe_terminal_coding_system_internal): Likewise.
4445
245ed2b1
SM
44462001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4447
4448 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4449 as if it was a `charset'.
4450
f9aaedb6
GM
44512001-01-24 Gerd Moellmann <gerd@gnu.org>
4452
4453 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4454 value in where_is_cache; the next lookup in the cache returns
4455 something bogus if we do.
4456
c3902c3e
EZ
44572001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4458
4459 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4460 if HAVE_WINDOW_SYSTEM isn't defined.
4461
3497f73e
GM
44622001-01-24 Gerd Moellmann <gerd@gnu.org>
4463
e7e41584
GM
4464 * fns.c (sweep_weak_table): Fix code taking items out of
4465 the hash collision chain. Some cleanup.
4466
3497f73e
GM
4467 * xterm.c (x_new_font): Don't change a tooltip's size.
4468
4469 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4470 background color by specifying a color for the default font
4471 in .Xdefaults.
4472
3d48e687
KH
44732001-01-24 Kenichi Handa <handa@etl.go.jp>
4474
96531b20
KH
4475 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4476 a workaround for SunOS 4's cc.
4477 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4478 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4479 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4480 statement.
3d48e687 4481
a30629d2
GM
44822001-01-23 Gerd Moellmann <gerd@gnu.org>
4483
4484 * xterm.c (x_set_window_size_1): New function extracted from
4485 x_set_window_size.
4486 (x_set_window_size): Use it.
4487 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4488 doesn't have a widget, like tooltips.
4489
5a43decf
EZ
44902001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4491
52283633 4492 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4493
b0e98867
KH
44942001-01-23 Kenichi Handa <handa@etl.go.jp>
4495
4496 * fns.c (Fset_char_table_default): Fix to make sub char-table
4497 correctly.
4498
50606b4c
GM
44992001-01-22 Gerd Moellmann <gerd@gnu.org>
4500
cb2ddc53 4501 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4502 a desired tool bar string, even if there are no tool bar items.
4503
57c28064
GM
4504 * xdisp.c (Ftool_bar_lines_needed): New function.
4505 (syms_of_xdisp): Defsubr it.
4506
50606b4c
GM
4507 * editfns.c (Fformat): Don't extend text properties from arguments
4508 to padding chars in the result.
4509
2f169c38
EZ
45102001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4511
4512 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4513
0f32f023
AI
45142001-01-20 Andrew Innes <andrewi@gnu.org>
4515
52283633 4516 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4517 (w32_initialize): Don't set term hooks that aren't actually needed
4518 in windowed mode.
4519
4520 * xfaces.c (realize_default_face):
4521 (realize_face):
4522 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4523
4524 * xdisp.c (handle_single_display_prop): Remove references to
4525 FRAME_W32_CONSOLE_P.
4526
52283633 4527 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4528
4529 * frame.h (output_method): Remove output_w32_console method.
4530 (FRAME_W32_CONSOLE_P): Remove macro.
4531
4532 * frame.c (Qw32_console): Remove variable.
4533 (Fframep): Remove references to it.
4534 (syms_of_frame): Ditto.
4535 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4536
4537 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4538 redefinition.
4539
7173eada
KH
45402001-01-20 Kenichi Handa <handa@etl.go.jp>
4541
4542 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4543
755b45ce
AI
45442001-01-19 Andrew Innes <andrewi@gnu.org>
4545
4546 * w32.c (init_environment): Add a version-independent site-lisp
4547 directory to EMACSLOADPATH, after the version dependent one.
4548
0a949811
GM
45492001-01-19 Gerd Moellmann <gerd@gnu.org>
4550
8501998a
GM
4551 * editfns.c (Fbuffer_substring): Doc fix.
4552
52283633
SM
4553 * xdisp.c (message_dolog, message2, message2_nolog):
4554 Rename parameter LEN to NBYTES.
0a949811 4555
e6ebcbbe
KH
45562001-01-19 Kenichi Handa <handa@etl.go.jp>
4557
200ecca2
KH
4558 * charset.c (strwidth): Use c_string_width.
4559 (c_string_width): New function.
4560 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4561 Caller changed.
4562
4563 * charset.h (c_string_width, lisp_string_width): Extern them.
4564
52283633 4565 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4566
e6ebcbbe
KH
4567 * indent.c (check_composition): Check validity of composition.
4568
200ecca2
KH
4569 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4570 characters by calling c_string_width.
4571 (x_consider_frame_title): Get byte length of frame tile string
4572 correctly.
4573 (display_mode_element): Pay attention to width of non-ASCII
4574 characters by calling strwidth.
4575
8692ca92
GM
45762001-01-18 Gerd Moellmann <gerd@gnu.org>
4577
8962e303
GM
4578 * xfns.c (Qcancel_timer): New variable.
4579 (syms_of_xfns): Initialize and staticpro it.
4580 (Fx_hide_tip, Fx_show_tip): Use it.
4581 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4582 the timer.
4583 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4584
91523be9
GM
4585 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4586
4587 * window.h (WINDOW_LIVE_P): New macro.
4588
b0b7ed0e
GM
4589 * window.c (window_size_fixed): New variable.
4590 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4591 the doc string.
4592
06bccf8e
GM
4593 * eval.c (specbind): If binding a per-buffer variable which
4594 doesn't have a buffer-local value in the current buffer, change
4595 the global value by changing the value of the symbol bound in all
4596 buffers not having their own value, to make it consistent with
4597 what happens with other buffer-local variables.
4598
8692ca92
GM
4599 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4600
4601 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4602 when searching for a newline.
4603
bb3a3b50
KH
46042001-01-18 Kenichi Handa <handa@etl.go.jp>
4605
4606 * xdisp.c (display_string): Fix previous change.
4607
c2cc16fa
JR
46082001-01-18 Jason Rumney <jasonr@gnu.org>
4609
4610 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4611 GLYPH_DEBUG is defined.
4612 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4613 true for images with `:ascent 100'.
4614 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4615 meantime, use face MOUSE_FACE_ID.
4616 If first glyph isn't a character glyph, use the ASCII NUL
4617 character to determine the face.
4618 (expose_area): Do not treat left margin specially.
4619 (note_mode_line_highlight): If no local_map, check global keymap.
4620 (note_mouse_highlight): Initialize overlay.
52283633 4621 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4622 (show_scroll_bars): Remove unused function.
4623 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4624 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4625 Clip to row.
52283633 4626 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4627 (x_free_frame_resources): Unload relief colors.
4628
9c11f79e
GM
46292001-01-17 Gerd Moellmann <gerd@gnu.org>
4630
3aec8722 4631 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4632 get_next_display_element when the newline is already found.
4633 This may change the iterator's position, when its current position is
3aec8722
GM
4634 equal to the iterator's stop_charpos.
4635
f3ffc2c3
GM
4636 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4637 zero, use this method only at the end of a line.
4638
52283633 4639 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4640 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4641 if SCALABLE_FONTS_P is set.
52283633 4642
d26d6fd9
GM
4643 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4644 so that scalable fonts are included.
4645
9c11f79e
GM
4646 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4647 In the cache, use a key containing the information if scalable
4648 fonts are included.
4649 (x_load_font): Adapt to change of keys in the font cache.
4650
46512001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4652
d26d6fd9
GM
4653 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4654 XListFonts to take advantage of font caching.
4655
9c11f79e
GM
4656 * xterm.c (x_list_fonts): Ensure caching font information when
4657 called for a null frame, which is the case frequently when Emacs
4658 starts.
4659
51446987
GM
46602001-01-17 Gerd Moellmann <gerd@gnu.org>
4661
f864120f
GM
4662 * xfns.c (QCconversion): Replaces QCalgorithm.
4663
4664 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4665
4666 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4667 of :algorithm.
52283633 4668
e37d1417
GM
4669 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4670 not everything could be displayed.
4671
51446987
GM
4672 * line.h, x-list-font.c: Files removed because unused.
4673
9ad4f3e5
AI
46742001-01-17 Andrew Innes <andrewi@gnu.org>
4675
4676 * dired.c (directory_files_internal): Convert result from readdir
4677 to a unibyte string initially, to avoid possible misinterpretation
4678 of some bytes as the internal form of Emacs characters.
4679
2eda09b5
KH
46802001-01-17 Kenichi Handa <handa@etl.go.jp>
4681
4682 * fns.c (concat): Be sure to avoid putting the same `composition'
4683 property on the adjacent regions.
4684
826f3788
GM
46852001-01-16 Gerd Moellmann <gerd@gnu.org>
4686
52283633 4687 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4688 (Fscroll_right, Fscroll_left): Set it here instead, if called
4689 interactively.
4690
d57b83b3
GM
4691 * buffer.c (Fset_buffer_modified_p): Set buffer's
4692 prevent_redisplay_optimizations_p flag.
4693
826f3788 4694 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4695 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4696 with additional arg.
4697
4698 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4699 Change prototype.
826f3788 4700
826f3788
GM
4701 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4702 FROM_WHERE, for debugging.
4703
261d788b
KH
47042001-01-16 Kenichi Handa <handa@etl.go.jp>
4705
4706 * ccl.c (Fregister_ccl_program): Handle the return value of
4707 resolve_symbol_ccl_program correctly.
52283633 4708 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4709
bccee4f2
GM
47102001-01-15 Gerd Moellmann <gerd@gnu.org>
4711
e4ded23c
GM
4712 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4713 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4714
4715 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4716 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4717 the display; we didn't open it.
4718
bccee4f2
GM
4719 * dispnew.c (save_or_restore_current_matrices): Function removed.
4720 (save_current_matrix, restore_current_matrix): New functions.
4721 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4722 restore the frame's current matrix. Due to the glyph pointer
4723 setup done in adjust_glyph_matrix, there is no easy way to make
4724 saving the current matrix in the desired matrix generally correct,
4725 so don't try it.
4726
ebeccffa
KH
47272001-01-15 Kenichi Handa <handa@etl.go.jp>
4728
4729 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4730 truncation glyphs.
4731 (display_line): Optimize for wide characters.
e4ded23c 4732 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4733 partially. On ttys, produce more than one truncation glyph for
4734 multi-column characters that don't fit on the line.
4735
64388126
KH
47362001-01-13 Kenichi Handa <handa@etl.go.jp>
4737
52283633
SM
4738 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4739 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4740
8edb0a6f
JR
47412001-01-13 Jason Rumney <jasonr@gnu.org>
4742
4743 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4744 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4745 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4746 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4747
52283633
SM
4748 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4749 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4750 (x_draw_image_glyph_string): Adapt to change of image margins.
4751
4752 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4753 variables.
4754
4755 * w32bdf.c (search_file_line, get_cached_font_char)
4756 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4757
4758 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4759
4760 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4761 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4762 (Fw32_send_sys_command): Remove unused variables.
4763 (w32_msg_pump): Add parentheses.
4764
4765 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4766 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4767 Add parentheses.
4768
4956d1ef
GM
47692001-01-12 Gerd Moellmann <gerd@gnu.org>
4770
b30623be
GM
4771 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4772 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4773 being a pair of margins.
4774 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4775 to DEFVAR_LISP. Extend doc.
4776
4777 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4778 margins.
4779 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4780 pair of integers `(X . Y)', use X for the horizontal and Y for the
4781 vertical margin.
4782 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4783 (parse_image_spec): Check it.
52283633
SM
4784 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4785 (tiff_format, gif_format, gs_format):
4786 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4787
52283633
SM
4788 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4789 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4790 (x_draw_image_glyph_string): Adapt to the change of image margins.
4791
4792 * dispextern.h (struct image): Replace member `margin' with
4793 `hmargin' and `vmargin'.
4794
4554cc79
GM
4795 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4796 and GLYPHS.
4797
4798 * dispnew.c (update_text_area): Put code which decrements the
4799 stop position when the row's face extends to the end of the
3bffc665 4800 line in #if 0.
4554cc79 4801
3cccce8d
GM
4802 * xfns.c (x_set_mouse_color): Fix color allocation.
4803
4956d1ef
GM
4804 * keyboard.c: Call get_local_map with new argument list.
4805
4806 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4807
4808 * intervals.h (enum map_property): Removed.
4809 (get_local_map): Change prototype.
4810
4811 * keymap.c: Call get_local_map with new argument list.
4812 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4813
2c2ff7f2
GM
48142001-01-11 Gerd Moellmann <gerd@gnu.org>
4815
a23887b9
GM
4816 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4817 of the size needed for the tool bar string. For the last image,
4818 use a `display' property that reaches to the end of the string.
4819
a7ee2d2e
GM
4820 * xselect.c (selection_request_dpyinfo): New variable.
4821 (x_handle_selection_request): Set it.
4822 (x_selection_request_lisp_error): Don't call
4823 x_decline_selection_request if selection request's display has
4824 been closed.
4825
52283633
SM
4826 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4827 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4828
457b792c
GM
48292001-01-10 Dave Love <fx@gnu.org>
4830
4831 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4832 ${SOME_MACHINE_LISP}, not ${lisp}.
4833
c1efd260
GM
48342001-01-10 Gerd Moellmann <gerd@gnu.org>
4835
52283633
SM
4836 * xdisp.c (display_line): On ttys, produce more than one truncation
4837 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4838
ac95a621
GM
4839 * xselect.c (x_reply_selection_request): Add a comment.
4840
c1efd260
GM
4841 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4842 XkbGetNames instead of XkbGetKeyboard.
4843
1bfb1345
DL
48442001-01-10 Dave Love <fx@gnu.org>
4845
4846 * sysdep.c (random): Revert the declaration.
4847
38119822
GM
48482001-01-09 Gerd Moellmann <gerd@gnu.org>
4849
52283633
SM
4850 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4851 Call function string_bytes.
35f464a7
GM
4852 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4853
4854 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4855 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4856 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4857 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4858 the current sblock.
4859 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4860 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4861 after sweeping strings, and at the end.
4862 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4863
38119822
GM
4864 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4865 ensure that pop_message is called.
4866
4867 * keyboard.c (Fexecute_extended_command): Use a
4868 record_unwind_protect to ensure that pop_message is called.
4869
4870 * lisp.h (push_message_unwind): Add prototype.
4871
4872 * xdisp.c (push_message_unwind): New function.
4873
4874 * fileio.c (do_auto_save_unwind): Do the pop_message here
4875 instead of in Fdo_auto_save.
4876 (Fdo_auto_save): Don't call pop_message.
4877
f47a9ec4
KR
48782001-01-08 Ken Raeburn <raeburn@gnu.org>
4879
4880 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4881 in inner block.
4882
a758f97d
GM
48832001-01-08 Gerd Moellmann <gerd@gnu.org>
4884
6d0afc03
GM
4885 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4886 when increasing window's vscroll.
4887
a758f97d
GM
4888 * macros.c (Qkbd_macro_termination_hook): New variable.
4889 (syms_of_macros): Initialize and staticpro it.
4890 (pop_kbd_macro): Run kbd-macro-termination-hook.
4891
4892 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4893
1bfb1345 48942001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4895
4896 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4897 arglist, for documentation's sake.
4898
0dac6924
AI
48992001-01-06 Andrew Innes <andrewi@gnu.org>
4900
4901 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4902 of *.pdb.
4903
8182406a
AI
49042001-01-05 Andrew Innes <andrewi@gnu.org>
4905
4906 * term.c (update_end): Don't check updating_frame; for some reason
4907 this can be 0 sometimes, such as after dismissing a popup menu,
4908 and isn't necessary given the explicit frame argument.
4909
3828218c
GM
49102001-01-05 Gerd Moellmann <gerd@gnu.org>
4911
4912 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4913 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4914
2f5ded21
GM
49152001-01-04 Gerd Moellmann <gerd@gnu.org>
4916
52283633 4917 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4918
4919 * xfns.c (x_create_tip_frame): Preserve the value of
4920 face_change_count around the creation of the tip frame.
52283633 4921
2f5ded21
GM
4922 * xfns.c (last_show_tip_args): New variable.
4923 (compute_tip_xy): New function.
4924 (Fx_show_tip): Reuse an existing tip frame, if possible.
4925 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4926
dfad65fa
DL
49272001-01-04 Dave Love <fx@gnu.org>
4928
64d4ec0f
DL
4929 * editfns.c (Fformat): Doc fix.
4930
dfad65fa
DL
4931 * systime.h (set_file_times): Prototype.
4932
4933 * widget.h (EmacsFrameSetCharSize_): Prototype.
4934
4935 * sysdep.c (random, srandom): Declare explicitly.
4936
4937 * dispextern.h (move_it_vertically_backward): Declare.
4938
85fe3b5e
GM
49392001-01-04 Gerd Moellmann <gerd@gnu.org>
4940
0f2ac578
GM
4941 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4942 like in Fx_create_frame.
4943
482cca61
GM
4944 * xfaces.c (set_font_frame_param): Don't do anything for
4945 non-graphical frames.
4946
85fe3b5e
GM
4947 * window.c (Fdelete_other_windows): Set window's window_end_valid
4948 to nil when changing the window's start. Don't change the
4949 window's start when its top position hasn't changed. If we do,
4950 this will set the window's optional_new_start, which act's like a
4951 force_start during redisplay with C-x 1 M-> under particular
4952 circumstances (see report from Per Starback to emacs-pretest-bug
4953 from 2000-12-13.).
4954
3e99d3b4
GM
49552001-01-03 Gerd Moellmann <gerd@gnu.org>
4956
a77dc1ec
GM
4957 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4958 short cut at the start of the function. Add an assertion.
4959 (reseat_at_next_visible_line_start): Add an assertion.
4960
2f3cad6c
GM
4961 * window.c (Frecenter): When changing the window start, set the
4962 window's window_end_valid to nil.
4963 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4964
4965 * dispextern.h (move_it_past_eol): Add prototype.
4966
4967 * xdisp.c (move_it_past_eol): New function.
4968
3e99d3b4
GM
4969 * window.c (Fwindow_end): Doc fix.
4970
49712001-01-03 Dave Love <fx@gnu.org>
4972
52283633 4973 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4974
bafb434c
GM
49752001-01-03 Gerd Moellmann <gerd@gnu.org>
4976
4977 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4978 the enabled_p flag of the glyph row at window_end_vpos to 0.
4979 (handle_single_display_prop): Fix last change.
4980
5297fb00
RS
49812001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4982
4983 * window.c (Frecenter): Doc fix.
4984
13d6a61c
AI
49852001-01-02 Andrew Innes <andrewi@gnu.org>
4986
4987 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4988
4989 * frame.h (output_method): Add output_w32_console method.
4990 (FRAME_W32_CONSOLE_P): New macro.
4991
4992 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4993 use output_w32_console method.
4994 (Qw32_console): New Lisp_Object.
4995 (Fframep): Return it.
4996 (syms_of_frame): Init it.
52283633 4997 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4998
4999 * xfaces.c (realize_default_face): Set face foreground and
5000 background to unspecified for w32_console frames.
5001 (realize_face): Realize face cache for w32_console frames.
5002 (realize_tty_face): Accept w32_console frames.
5003
52283633 5004 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5005 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5006 necessary, even if running interactively.
5007
5008 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5009 w32_console frames.
5010
52283633
SM
5011 * w32term.c (x_update_begin):
5012 (x_update_end):
5013 (x_clear_frame):
5014 (x_ins_del_lines):
5015 (x_change_line_highlight):
5016 (x_delete_glyphs):
5017 (w32_ring_bell):
5018 (x_update_begin):
5019 (x_update_end):
5020 (w32_reassert_line_highlight):
5021 (w32_frame_rehighlight):
13d6a61c
AI
5022 (w32_frame_raise_lower): Do nothing if not w32 frame.
5023
5024 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5025
5026 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5027 system doesn't tell us directly.
5028 (Fx_display_visual_class): Implement properly.
5029
d6bb0c0d
GM
50302001-01-02 Gerd Moellmann <gerd@gnu.org>
5031
5032 * window.c (Frecenter): Handle centering in graphical frames
5033 specially. Centering on the basis of line counts doesn't work
5034 reliably with variable-height lines.
52283633 5035
315f5865
EZ
50362001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5037
5038 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5039 and al[].
5040
52283633 5041 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5042 (update_compositions): Remove unused variable `hook'.
5043
5044 * intervals.c (get_local_map): Remove unused variable `tem'.
5045
5046 * doprnt.c (doprnt1): Remove unused variable `size'.
5047
5048 * fns.c (Flength): Remove unused variable `tail'.
5049 (Fdelete): Remove unused variable `size'.
5050
5051 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5052 and `gcpro2'.
5053
52283633 5054 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5055
5056 * data.c (find_symbol_value): Remove extra 3rd argument in the
5057 call to swap_in_symval_forwarding.
5058
52283633 5059 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5060
5061 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5062 (trivial_regexp_p): Remove unused variable `c'.
5063 (boyer_moore): Remove unused variable `k'.
5064
5065 * indent.c (current_column): Remove unused variable `stopchar'.
5066 (Fcompute_motion): Remove unused variable `contin'.
5067
5068 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5069
5070 * dired.c (directory_files_internal): Fix a typo in a comment.
5071 Remove an unused variable `handler'.
52283633 5072 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5073 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5074 on BSD4_2.
5075
52283633 5076 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5077
5078 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5079 and `buf'.
5080 (Fmarker_insertion_type): Remove unused variable `buf'.
5081
5082 * insdel.c (make_gap): Remove unused variable `result'.
5083
52283633 5084 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5085 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5086 (menu_bar_items): Remove unused function-scope variable `tem'.
5087
5088 * fontset.c (fontset_ref): Remove unused variable `i'.
5089 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5090 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5091 (make_fontset_for_ascii_face): Remove unused variable `name'.
5092 (fs_load_font): Remove unused variable `font_idx'.
52283633 5093 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5094 (list_fontsets): Remove unused variable `tail'.
5095 (Fnew_fontset): Remove unused variables `family' and `registry'.
5096 (accumulate_font_info): Remove unused variable `tmp'.
5097 (Ffontset_font): Remove unused variable `id'.
5098 (syms_of_fontset): Remove unused variable `i'.
5099
5100 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5101 to x_term_init.
5102 (lookup_image): Remove unused variable `file'.
5103 (xbm_load): Remove unused variables `bitmap_data', `height', and
5104 `width'. Remove function-local variable `i', leave the
5105 block-local one.
5106 (gif_load): Remove unused variable `inc'.
5107
52283633 5108 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5109 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5110 leave only the one in the inner block.
5111
5112 * xfaces.c (face_fontset, realize_default_face): Remove unused
5113 variable `fontset'.
5114 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5115
5116 * term.c (encode_terminal_code): Remove unused variable `c'.
5117
5118 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5119 char *' instead of `char *'.
5120
5121 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5122 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5123 (Fchar_category_set): Remove unused variables `val', `charset',
5124 `c1' and `c2'.
5125
52283633
SM
5126 * coding.c (detect_coding_iso2022, setup_coding_system):
5127 Remove unused variable `i'.
315f5865
EZ
5128 (detect_coding_mask): Remove unused variable `idx'.
5129 (detect_coding): Remove unused variable `i'.
5130 (ccl_coding_driver): Remove unused variable `result'.
5131 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5132 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5133 (encode_coding_string): Remove unused variables `gcpro1' and
5134 `saved_coding_symbol'.
5135 (Ffind_coding_systems_region_internal): Remove function-local
5136 variable args[], leave only the block-local one.
5137 (code_convert_region1): Remove unused variable `len'.
5138
5139 * charset.c (char_printable_p): Remove unused variable `chars'.
5140 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5141 (str_to_multibyte): Remove unused variable `c'.
5142
5143 * window.c (size_window): Remove block-local variable `min_size'.
5144
5145 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5146 `header_line_height'.
5147 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5148 enum display_element_type.
5149
1a8a9daf
GM
51502001-01-02 Gerd Moellmann <gerd@gnu.org>
5151
6dde6abc 5152 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5153 statements that call X. Save away the error message in a local copy.
5154
1883b2c6
GM
5155 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5156 the start.
5157
a13be207
GM
5158 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5159 in or at the start of invisible text.
5160
1a8a9daf
GM
5161 * dispnew.c (update_window): Don't check_current_matrix_flags.
5162
3608c0f9
JR
51632001-01-01 Jason Rumney <jasonr@gnu.org>
5164
5165 * w32fns.c (x_figure_window_size): Do not allow new_height and
5166 new_width of frame to override specified values.
5167
abb1acc4
KH
51682000-12-30 Kenichi Handa <handa@etl.go.jp>
5169
52283633 5170 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5171
762a68ec
GM
51722000-12-29 Gerd Moellmann <gerd@gnu.org>
5173
52283633 5174 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5175 (update_window) [GLYPH_DEBUG]: Call it.
5176 (scrolling_window): Prevent including current rows which are below
5177 what's displayed in the window.
5178
5179 * xdisp.c (try_window_reusing_current_matrix)
5180 <new start <= old start>: Disable rows in the current matrix
5181 which are below the window after scrolling.
52283633 5182
762a68ec
GM
5183 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5184 is zero. It's not worth the complexity.
5185 (invisible_text_between_p): Put in #if 0 because unused.
5186
2d5912c1
GM
51872000-12-28 Gerd Moellmann <gerd@gnu.org>
5188
46f6a258
GM
5189 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5190 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5191
89f93679
GM
5192 * keyboard.c (echo_char): If C is an integer, always call
5193 push_key_description. Former code could signal an invalid
5194 character error.
5195
5196 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5197 If set, print multibyte text.
5198 (Fsingle_key_description): Call push_key_description with
5199 FORCE_MULTIBYTE set.
5200 (describe_buffer_bindings): Likewise.
5201
5202 * lisp.h (push_key_description): Add prototype.
5203
c06017fb
GM
5204 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5205 around the call to redisplay_internal.
5206
f1d2ce7f
GM
5207 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5208
2d5912c1
GM
5209 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5210
9371f831
KH
52112000-12-28 Kenichi Handa <handa@etl.go.jp>
5212
5213 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5214 (ccl_driver): New local variable `extra_bytes'.
5215
5216 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5217
52283633
SM
5218 * coding.c (setup_coding_system):
5219 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5220 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5221
0c80628a
KH
52222000-12-28 Kenichi Handa <handa@etl.go.jp>
5223
5224 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5225 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5226 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5227 (decode_composition_emacs_mule): New function.
5228 (decode_coding_emacs_mule): Decode composition sequence by calling
5229 decode_composition_emacs_mule.
5230 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5231 (encode_coding_emacs_mule): Changed from macro to function.
5232 If a text contains compositions, encode them correctly.
0c80628a
KH
5233 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5234 that decoding and encoding are required.
5235
3e32cc27
GM
52362000-12-27 Gerd Moellmann <gerd@gnu.org>
5237
5e25feee
GM
5238 * xfaces.c (PT_PER_INCH): New macro.
5239 (xlfd_point_size): Compute real point size from font's pixel size.
5240 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5241 instead of 72.
5242
892d8fcd
GM
5243 * .gdbinit: Comment out the line pointing to the Lesstif source
5244 directory.
5245
12c8b416
GM
5246 * window.c (Frecenter): Use displayed_window_lines instead
5247 of window_internal_height.
5248
6061fbf0
GM
5249 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5250 instead of x-toolkit-scroll-bars-p.
5251 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5252
5253 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5254 instead of x-toolkit-scroll-bars-p.
5255 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5256
3e32cc27
GM
5257 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5258 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5259 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5260 New variables.
5261 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5262 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5263 (build_frame_matrix_from_leaf_window): Remove unused code.
5264 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5265 redisplay history.
5266 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5267 (update_window) [GLYPH_DEBUG]: Likewise.
5268 (syms_of_display): Defsubr dump-redisplay-history.
5269
31798cfe
GM
52702000-12-23 Gerd Moellmann <gerd@gnu.org>
5271
f717c2ba
GM
5272 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5273 the end of the prompt. Set echo_after_prompt to the offset
5274 of echoptr in echobuf.
5275
aeb2b8fc
GM
5276 * xdisp.c (init_from_display_pos): Pop until the iterator's
5277 stack is empty; there may be frames for stretch or images
5278 on the stack.
5279
31798cfe
GM
5280 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5281 (save_or_restore_current_matrix): New function for the same
5282 purpose, but more efficient.
5283 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5284
f8156156
EZ
52852000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5286
5287 * xdisp.c (syms_of_xdisp): Fix last change.
5288
bdd6d4e8
GM
52892000-12-23 Gerd Moellmann <gerd@gnu.org>
5290
5291 * xdisp.c (syms_of_xdisp): Doc fix.
5292
5293 * xdisp.c (redisplay_window): Remove label restore_buffers;
5294 use finish_scroll_bars instead to make sure that scroll bars
5295 are redeemed. If we don't do this, flickering can result from
5296 scroll bars being destroyed and recreated.
5297
9436cdf9
JR
52982000-12-22 Jason Rumney <jasonr@gnu.org>
5299
5300 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5301 in the wrong colors when the foreground is not black.
5302 (expose_window): Don't redraw the window that's currently being
5303 updated.
5304
951f9df5
GM
53052000-12-22 Gerd Moellmann <gerd@gnu.org>
5306
856ff7a7
GM
5307 * window.c (size_window): When setting the window's too_small_ok
5308 flag, compare old size with minimum size depending on WIDTH_P,
5309 don't compare with window_min_width.
52283633 5310
951f9df5
GM
5311 * window.c (delete_window): Simplify somewhat.
5312 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5313 freeing window matrices. The flag windows_or_buffers_changed is
5314 set, so the next redisplay will consider all windows; this should
5315 suffice.
5316
886bc933
KH
53172000-12-22 Kenichi Handa <handa@etl.go.jp>
5318
5319 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5320
5321 * ccl.h (struct ccl_program): New member cr_consumed.
5322
5323 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5324 (CCL_READ_CHAR): Handle EOL conversion here.
5325 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5326
177f4e88
GM
53272000-12-21 Gerd Moellmann <gerd@gnu.org>
5328
52283633 5329 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5330
5331 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5332 otherwise tabs of different size compare equal.
5333
5334 * callint.c (Fcall_interactively): Prevent a compiler warning.
5335
5336 * print.c (print_unwind): Return nil.
5337 (PRINTDECLARE): Initialize all local variables.
5338 (print_preprocess): Add a default case.
5339
8e15274f
GM
5340 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5341
5342 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5343
52283633 5344 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5345 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5346
5347 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5348
5349 * dispnew.c (ensure_frame_matrix): Removed.
5350 (save_frame_matrix, restore_frame_matrix): New functions.
5351 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5352
5353 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5354 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5355
99012074
AI
53562000-12-21 Andrew Innes <andrewi@gnu.org>
5357
5358 * w32term.c (x_update_begin): Regenerate the palette here, rather
5359 than for each window.
5360
5361 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5362 palette is NULL, since this corrupts memory! Also get
5363 display_info reference from frame.
5364
29ef7d2d
JR
53652000-12-21 Jason Rumney <jasonr@gnu.org>
5366
5367 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5368
5369 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5370 to avoid returning without releasing it.
3e27fa1f 5371
3f9d67a6
KH
53722000-12-21 Kenichi Handa <handa@etl.go.jp>
5373
587fc3f9
KH
5374 * keymap.c (push_key_description): Don't convert eight-bit-control
5375 and eight-bit-graphic to multibyte character.
5376
3f9d67a6
KH
5377 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5378 generic character and CODE1 is nil, return the smallest character
5379 in CHARSET.
5380
774ba8c9
DL
53812000-12-20 Dave Love <fx@gnu.org>
5382
5383 * s/osf5-0.h (NSIG): Don't redefine.
5384
88416888
SM
53852000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5386
5387 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5388 excluding menu-bar and tool-bar.
5389 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5390 (menu_item_p): Remove.
5391 (where_is_internal_1): Don't ignore menu-items.
5392
a6426c6f
GM
53932000-12-20 Gerd Moellmann <gerd@gnu.org>
5394
03ff8aab
GM
5395 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5396 into account.
5397
5398 * window.c (make_window): Initialize window's min_hscroll.
5399 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5400 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5401 to zero.
5402 (struct saved_window): New member min_hscroll.
5403 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5404 (Fset_window_configuration): Set window's min_hscroll.
5405 (save_window_save): Save window's min_hscroll.
5406 (compare_window_configurations): Compare min_hscroll values.
5407
5408 * window.h (struct window): New member min_hscroll.
5409
5410 * keyboard.c (echo_prompt): Prevent a compiler warning.
5411
8de4aaf8
GM
5412 * xdisp.c (try_cursor_movement): Fix last change. The real
5413 condition is that PT is at the end of the row, and should
5414 be displayed at the start of the next row.
52283633 5415
3f7e3031
GM
5416 * xdisp.c (try_cursor_movement): If we end on a partially
5417 visible line, end we already decided to scroll, return -1.
5418
a6426c6f
GM
5419 * dispextern.h (ensure_frame_matrix): Add prototype.
5420
5421 * window.c (delete_window, Fsplit_window)
5422 (Fset_window_configuration): Call ensure_frame_matrix.
5423
52283633
SM
5424 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5425 New functions.
a6426c6f
GM
5426 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5427 completed, call fake_current_matrices instead of marking frame
5428 garbaged.
5429
57fa2774
JR
54302000-12-20 Jason Rumney <jasonr@gnu.org>
5431
5432 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5433
d925df90
EZ
54342000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5435
5436 * fns.c (Frequire): Doc fix.
5437
7b93a85b
GM
54382000-12-19 Gerd Moellmann <gerd@gnu.org>
5439
52283633 5440 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5441
c74e645b
GM
5442 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5443 currently displaying a message.
5444
7b93a85b
GM
5445 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5446 xterm.h.
5447 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5448
90d97e64
AI
54492000-12-18 Andrew Innes <andrewi@gnu.org>
5450
5451 * w32.c (w32_strerror): New function.
5452
5453 * w32.h (w32_strerror): New extern.
5454
5455 * w32fns.c (Fw32_shell_execute): Use it.
5456
91c9e6ce
GM
54572000-12-18 Gerd Moellmann <gerd@gnu.org>
5458
5459 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5460
6f4745e2
EZ
54612000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5462
5463 * msdos.c (IT_set_face): Obey inverse_video.
5464
c9e088ce
KH
54652000-12-18 Kenichi Handa <handa@etl.go.jp>
5466
5467 * dired.c (directory_files_internal): Always return decoded filenames.
5468
c3695f5f
GM
54692000-12-18 Gerd Moellmann <gerd@gnu.org>
5470
52d8e4ff
GM
5471 * xterm.c (x_connection_closed): Prevent being called recursively
5472 because of an error condition in XtCloseDisplay.
52283633 5473
62be9979
GM
5474 * xdisp.c (init_iterator): If noninteractive, and the frame's
5475 face cache is null, make one.
5476
52283633 5477 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5478
c3695f5f
GM
5479 * process.c (wait_reading_process_input): Check for pending
5480 input when running timers.
5481
78555fbe
EZ
54822000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5483
52283633 5484 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5485
b2b36264
KH
54862000-12-18 Kenichi Handa <handa@etl.go.jp>
5487
5488 * process.c (read_process_output): Don't run a filter if the code
5489 decoder produces nothing but carryover.
5490
9c543fbf
AI
54912000-12-17 Andrew Innes <andrewi@gnu.org>
5492
5493 * w32.c (sys_rename): Only check errno against EEXIST, and not
5494 EACCES, when determining whether rename failed because the target
5495 exists. This was resulting in indefinite looping on Windows 9x if
5496 the source file was locked by another process.
5497
5498 * w32fns.c (Ffile_system_info): New function.
5499 (syms_of_w32fns): Defsubr it.
5500
10c2b5a8
GM
55012000-12-17 Gerd Moellmann <gerd@gnu.org>
5502
b0228ace
GM
5503 * window.c (coordinates_in_window): Fix computation for
5504 position on vertical line between mode lines.
5505
10c2b5a8
GM
5506 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5507 Don't alter tip_frame or tip_window.
5508 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5509 was deleted.
5510
c844a81a
GM
5511 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5512 Don't alter tip_frame or tip_window.
5513 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5514 was deleted.
5515
6c825f8e
EZ
55162000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5517
5518 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5519 be consistent with the doc string. Reported by NAKAJIMA Mikio
5520 <minakaji@osaka.email.ne.jp>.
5521
af4bb4c8
KH
55222000-12-16 Kenichi Handa <handa@etl.go.jp>
5523
5524 * xfaces.c (Vface_ignored_fonts): New variable.
5525 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5526 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5527
8062e53a
GM
55282000-12-15 Gerd Moellmann <gerd@gnu.org>
5529
e87b8809
GM
5530 * dispnew.c (update_window): Detect pending input every nth line
5531 updated, i.e. do it depending on real work done, and not on the
5532 vpos of the line.
5533
5534 * xterm.c (expose_window): Don't redraw the window that's
5535 currently being updated.
5536
a6768cc5
GM
5537 * window.c (Fset_window_point): Remove test for
5538 cursor_in_non_selected_windows.
5539
4ea7fdca
GM
5540 * lread.c (read1): Recognize end of file after `\\'.
5541
8062e53a
GM
5542 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5543 not unwind_create_frame.
5544
bb7959c1
GM
55452000-12-15 Dave Love <fx@gnu.org>
5546
5547 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5548 bcopy & al.
5549
5550 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5551
ced04c42
KH
55522000-12-15 Kenichi Handa <handa@etl.go.jp>
5553
c5443913
KH
5554 * coding.c (setup_coding_system): Clear all members of the struct
5555 coding_system at first.
bc137305
KH
5556 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5557 argument.
5558 (code_convert_region): Don't override coding->src_multibyte and
5559 coding->dst_multibyte.
c5443913 5560
ced04c42
KH
5561 * fns.c (Fmd5): Docstring improved.
5562
c2d7f289
MB
55632000-12-15 Miles Bader <miles@gnu.org>
5564
5565 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5566 are actually marked as mode-lines; otherwise use
5567 estimate_mode_line_height.
5568
9d7d9263
GM
55692000-12-14 Gerd Moellmann <gerd@gnu.org>
5570
5571 * editfns.c (Fformat): Prevent a buffer overrun when the format
5572 specifies a precision.
5573
7cf0153a
EZ
55742000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5575
5576 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5577 argument is outside the range [2..3].
5578
1de0f662
AI
55792000-12-14 Andrew Innes <andrewi@gnu.org>
5580
5581 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5582 nothing to do. Bind inhibit-quit.
5583 (tip_frame): Make it a Lisp_Object.
5584 (x_create_tip_frame): Set tip_frame after it has been added to
5585 Vframe_list.
5586 (Fx_show_tip): Don't set tip_frame here.
52283633 5587 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5588 (unwind_create_frame, unwind_create_tip_frame): New functions.
5589 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5590 while a frame is only partially constructed.
5591
5592 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5593 (x_free_frame_resources): New function.
5594 (x_destroy_window): Use it.
5595
02387dcc
GM
55962000-12-14 Gerd Moellmann <gerd@gnu.org>
5597
5598 * xfns.c (Fx_backspace_delete_keys_p): New function.
5599 (syms_of_xfns): Defsubr it.
5600
5601 * config.in (HAVE_XKBGETKEYBOARD): Add.
5602
0544ef49
KH
56032000-12-14 Kenichi Handa <handa@etl.go.jp>
5604
98d62747
KH
5605 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5606 Always store string in multibyte representation in echobuf.
5607 (echo_char): Always store string in multibyte representation in
5608 echobuf.
5609 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5610 (read_key_sequence): Adjusted for the change of echo_prompt.
5611
a20193cd
KH
5612 * fns.c (Fmd5): Docstring improved.
5613
191b83b6
KH
5614 * lisp.h (detect_coding_system): Prototype adjusted.
5615
0544ef49
KH
5616 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5617 (detect_coding_emacs_mule, detect_coding_iso2022,)
5618 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5619 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5620 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5621 (detect_coding_mask, detect_coding_system): New argument
5622 MULTIBYTEP. Callers changed.
1da1bb05
KH
5623 (decode_coding_string): Set coding->src_multibyte and
5624 coding->dst_multibyte before calling detect_coding and detect_eol.
5625 Update them after some coding system is detected.
52283633 5626
d5b3eb1b
SM
56272000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5628
5629 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5630
5631 * keyboard.c (menu_bar_items, tool_bar_items):
5632 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5633
f7f8bb69
GM
56342000-12-13 Gerd Moellmann <gerd@gnu.org>
5635
52283633 5636 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5637 New variables.
5638 (unwind_create_frame, unwind_create_tip_frame): New functions.
5639 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5640 while a frame is only partially constructed.
5641
5642 * xterm.h (x_free_frame_resources): Declare.
5643
5644 * xterm.c (x_free_frame_resources): New function.
5645 (x_destroy_window): Use it.
5646
e10da507
GM
5647 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5648 don't interrupt the update for pending input initially, i.e.
5649 update at least some lines.
5650
5651 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5652
d5b3eb1b 5653 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5654
5655 * xfns.c (gray_bitmap_bits): Declare `char *'.
5656
90aa2856
GM
56572000-12-12 Gerd Moellmann <gerd@gnu.org>
5658
5659 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5660 lines start with a relief line.
5661
a308c9cd
DL
56622000-12-12 Dave Love <fx@gnu.org>
5663
5664 * window.c (Fdisplay_buffer): Doc fix.
5665 (Fwindow_list): Remove unused var.
5666
5667 * buffer.h (mmap_set_vars): Declare.
5668
5669 * window.h (Fset_window_point): Declare.
5670
d575011f
EZ
56712000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5672
bf6282d2 5673 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5674 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5675 variable `area'. When looking for a row under (X,Y), give up if some
5676 of the previous rows is not enabled.
d575011f 5677
ecf4d726
GM
56782000-12-12 Gerd Moellmann <gerd@gnu.org>
5679
2ebf6139
GM
5680 * window.c (Fset_window_point): If displaying cursors in windows
5681 other than the selected window, make sure redisplay updates
5682 other windows to show the new value of point in the window.
5683
5684 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5685
bfdb75ee
GM
5686 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5687 the buffer is the sole visible buffer when in the mini-buffer.
5688
52283633 5689 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5690 Bind `inhibit-read-only' to t.
5691 (unwind_with_echo_area_buffer): Use AREF.
5692
c0006262
GM
5693 * xfns.c (Fx_hide_tip): Simplified.
5694
52283633
SM
5695 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5696 instead of `1'.
e9a59cad 5697
ecf4d726
GM
5698 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5699
e5959a9a
GM
57002000-12-11 Gerd Moellmann <gerd@gnu.org>
5701
a3642e49 5702 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5703
44b5a125
GM
5704 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5705 nothing to do. Bind inhibit-quit.
5706 (tip_frame): Make it a Lisp_Object.
5707 (x_create_tip_frame): Set tip_frame after it has been added to
5708 Vframe_list.
5709 (Fx_show_tip): Don't set tip_frame here.
5710
5711 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5712
5713 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5714 Lisp_Object.
5715
5716 * dispextern.h: Change external declaration of tip_frame.
5717
d990421f
GM
5718 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5719 return an empty string.
5720
4db87380
GM
5721 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5722 of the window's update_mode_line flag, since the former is set by
5723 force-mode-line-update, not the latter. This makes
5724 column-number-mode slightly faster.
52283633 5725
e5959a9a
GM
5726 * xdisp.c (try_window_id) <all changes above window start>:
5727 Set the cursor.
5728
169fe44e
GM
57292000-12-11 Paul Eggert <eggert@twinsun.com>
5730
5731 * config.in (HAVE_FTELLO): Remove.
5732 (HAVE_FSEEKO): Add.
5733 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5734 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5735 HAVE_FTELLO.
5736 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5737 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5738
59ec59ae
MB
57392000-12-11 Miles Bader <miles@gnu.org>
5740
5741 * window.c (displayed_window_lines): Don't round up when
5742 converting empty space at bottom to lines.
ff904dd6
MB
5743 Handle non-newline-terminated final lines properly.
5744 (Fwindow_text_height): New function (used to be in lisp).
5745 (syms_of_window): Initialize it.
59ec59ae 5746
42ebfa31
SM
57472000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5748
5749 * syntax.c (scan_lists): Check that the right quote char has the
5750 right Sstring syntax when jumping over strings.
5751 (init_syntax_once): Use Smax rather than 13.
5752
5cdb3cf3
MB
57532000-12-09 Miles Bader <miles@gnu.org>
5754
5755 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5756 with PARTIALLY, inverting the sense.
5757 (window_scroll_pixel_based): Scroll partially visible lines into
5758 place if we hit the beginning or end of the buffer.
a12167c5
MB
5759 (displayed_window_lines): Don't include partially visible lines.
5760 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5761
842b2a94
GM
57622000-12-08 Gerd Moellmann <gerd@gnu.org>
5763
5764 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5765
5766 * tparam.c (tparam1): Change the way buffers are reallocated to be
5767 portable and less obfuscated.
5768
5769 * termcap.c (tgetent): Change the way buffers are reallocated to
5770 be portable and less obfuscated.
5771
5772 * macros.c (store_kbd_macro_char): Change the way buffers are
5773 reallocated to be portable and less obfuscated.
5774
5775 * lread.c (read1): Change the way buffers are reallocated to be
5776 portable and less obfuscated.
5777
5778 * doc.c (Fsubstitute_command_keys): Change the way buffers
5779 are reallocated so that it is portable.
5780
137cad7c
EZ
57812000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5782
5783 * dosfns.c (Ffile_system_info): New function.
5784 (syms_of_dosfns): Defsubr it.
5785
5c7f629c
SM
57862000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5787
5788 * alloc.c (gc_sweep): Add comment.
5789
959e647d
GM
57902000-12-07 Gerd Moellmann <gerd@gnu.org>
5791
52283633
SM
5792 * sound.c (vox_configure): Change order of ioctls.
5793 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5794 Ignore errors when changing volume.
5795 (vox_close): Don't reset the device.
5796
926b7e5e
GM
5797 * process.c (read_process_output): Make sure the process marker's
5798 position is valid when the process buffer is changed in
5799 after-change functions. W3 does that.
52283633 5800
959e647d
GM
5801 * xfns.c (x_free_gcs): New function.
5802
5803 * xterm.h (x_free_gcs): Add prototype.
5804
5805 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5806 freeing GCs here.
5807
5808 * xterm.c (x_destroy_window): Call x_free_gcs so that
5809 resources of non-toolkit X windows will be freed.
5810
478ea067
AI
58112000-12-07 Andrew Innes <andrewi@gnu.org>
5812
5813 * w32fns.c (xlfd_charset_of_font): Fix last change.
5814
fbee3231
DL
58152000-12-06 Dave Love <fx@gnu.org>
5816
67292061
DL
5817 * md5.h (__P): Don't define -- it comes from config.h.
5818
fbee3231
DL
5819 * strftime.c: Change some #if foo to #ifdef foo.
5820
4ee87dbb
AI
58212000-12-06 Andrew Innes <andrewi@gnu.org>
5822
5823 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5824
52283633 5825 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5826 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5827 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5828
9765b4a4
GM
58292000-12-06 Gerd Moellmann <gerd@gnu.org>
5830
d285b373
GM
5831 * alloc.c (gc_sweep): Prevent symbols read during loadup
5832 from being freed.
5833
384333ee
GM
5834 * xdisp.c (underlying_face_id): New function.
5835 (handle_face_prop, face_before_or_after_it_pos): Use it
5836 to determine the face ``under'' a string. Let strings inherit
5837 the face of the buffer under them.
5838
5839 * xfaces.c (face_at_string_position): Update function comment.
52283633 5840
d4b72d58
GM
5841 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5842 matrix if the window's left position has changed; we need to
5843 redraw it in this case.
5844
5845 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5846
e1d05387
GM
5847 * window.c (coordinates_in_window): Check mouse on mode-line or
5848 header-line first.
5849
eb1b0c74
GM
5850 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5851 advertized by the function documentation.
5852
d94d636f
GM
5853 * window.c (syms_of_window): Doc fix.
5854
3887b449
GM
5855 * sound.c (vox_configure): Set volume for left and right channel.
5856 (sound_cleanup): Return nil.
5857
efc8f57a
GM
5858 * xdisp.c (move_it_by_lines): Fix paren typo.
5859
9765b4a4
GM
5860 * xterm.c (x_load_font): Don't use the font's max_bounds for
5861 computing the height of the font. If max_bounds' ascent or
5862 descent are greater than the font's ascent or descent, this means
5863 glyphs overlap, which should be handled now by redisplay.
5864
6529ed87
GM
5865 * window.c (Veven_window_heights): New variable.
5866 (syms_of_window): DEFVAR_LISP it.
5867 (Fdisplay_buffer): Check Veven_window_heights before evening the
5868 window heights.
52283633 5869
0eb2ecde
MB
58702000-12-06 Miles Bader <miles@gnu.org>
5871
5872 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5873 update `default-frame-alist' instead of setting no frame parameters.
5874
03d7a167
KH
58752000-12-06 Kenichi Handa <handa@etl.go.jp>
5876
5877 * composite.c (update_compositions): Fix typo (use the correct
5878 variable).
5879
5f8803c2
JR
58802000-12-05 Jason Rumney <jasonr@gnu.org>
5881
5882 * md5.h: Remove underscores from function declarations.
5883 (__attribute__, __alignof__) [!__GNUC__]: Define.
5884
5885 * md5.c: Delay include of md5.h until after namespace cleaning.
5886
c28a075b
JR
5887 * makefile.w32-in (fns.o): Depend on md5.h
5888 (md5.o): New target.
5889 (sunfns.o): Remove.
5890
5891 * makefile.nt: Likewise.
5892
ff3c7056
JR
58932000-12-05 Jason Rumney <jasonr@altavista.net>
5894
5895 * w32term.c (expose_area): Complete last change.
5896
0c21eeeb
KR
58972000-12-05 Ken Raeburn <raeburn@gnu.org>
5898
5899 * minibuf.c: Include intervals.h.
5900
f201d732
JR
59012000-12-05 Jason Rumney <jasonr@gnu.org>
5902
5903 * w32term.c (x_produce_glyphs): If a font for a component of
5904 a composition is not found, use 1 pixel dot ascent and 0 dot
5905 descent value to avoid displaying terribly tall empty boxes.
5906 (expose_area): Pass x-coordinate relative to the exposed
5907 area to x_draw_glyphs instead of a window-relative coordinate.
5908
21999ab9
GM
59092000-12-05 Gerd Moellmann <gerd@gnu.org>
5910
4d2036e4
GM
5911 * xdisp.c (next_element_from_ellipsis): Save face before selective
5912 display in saved_face_id, and set face_before_selective_p.
5913 (reseat_1): Reset face_before_selective_p.
5914 (append_space, extend_face_to_end_of_line): If iterator's
5915 face_before_selective_p is set, use the face from saved_face_id.
5916 (extend_face_to_end_of_line): For tty frames, make sure to
5917 use the right face id when producing spaces at the end of
5918 the line.
5919
5920 * dispextern.h (struct it): Add face_before_selective_p.
5921
52be17cc
GM
5922 * keyboard.c (record_char): Don't record identical help-echo
5923 events in recent_keys.
5924
8a4f36cc
GM
5925 * xterm.c [USE_X_TOOLKIT]: Close the display.
5926 (xim_close_dpy): Handle case that the display has been closed.
5927
57d6e381
GM
5928 * xterm.c (x_destroy_window): Reset the frame's X window after
5929 destroying it.
5930
21999ab9
GM
5931 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5932 variable window_width.
5933 (line_draw_cost): Fix code skipping over spaces at the end of the
5934 line when must_write_spaces is not set.
5935 (scrolling_window): Fix code inserting runs in list of all runs.
5936
91372bb7
KH
59372000-12-05 Kenichi Handa <handa@etl.go.jp>
5938
5939 * coding.c (setup_coding_system): Be sure to initialize
5940 coding->category_idx.
5941
6c083b4c
GM
59422000-12-04 Gerd Moellmann <gerd@gnu.org>
5943
0c68ce6f 5944 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5945
6452929e
GM
5946 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5947 area to x_draw_glyphs instead of a window-relative coordinate.
5948
d7f31e22
GM
5949 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5950 error in the message.
5951
ae18aa3b
GM
5952 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5953 timer after having read a key. It's not good for code reading
5954 several keys in a loop, like an input method.
5955
caa15ef7
GM
5956 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5957 record undo information for format-decode.
5958
5959 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5960 current buffer is read-only, not if it isn't.
5961
6c083b4c
GM
5962 * keyboard.c (record_char): Record `help-echo' input events
5963 in recent_keys only if they display some help. Don't record
5964 `help-echo' events as macro char.
5965
caa15ef7
GM
59662000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5967
5968 * editfns.c (save_excursion_restore): Don't move point
5969 in another window if it is showing the wrong buffer.
5970 Avoid the call to Fwindow_live_p, for speed.
5971
5a13529b
KH
59722000-12-04 Kenichi Handa <handa@etl.go.jp>
5973
e225faa7
KH
5974 * xfaces.c (struct font_name): New member registry_priority.
5975 (split_font_name): Initialize the above member to zero.
5976 (concat_font_list): New function.
5977 (font_list): Include fonts of all alternative registries.
5978 (FONT_POINT_SIZE_QUANTUM): New macro.
5979 (better_font_p): Ignore point size difference less than
5980 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5981
e89648b4
KH
5982 * xterm.c (x_produce_glyphs): If a font for a component of
5983 a composition is not found, use 1 pixel dot ascent and 0 dot
5984 descent value to avoid displaying terribly tall empty boxes.
5985
5a13529b
KH
5986 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5987
d7935eb6
KR
59882000-12-03 Ken Raeburn <raeburn@gnu.org>
5989
5990 * coding.h (code_convert_string1): Declare.
5991
5992 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5993
52283633 5994 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5995
0dd5e255
JR
59962000-12-02 Jason Rumney <jasonr@gnu.org>
5997
5998 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5999 correctly for single byte character case.
6000 (w32_per_char_metric): Do not try to make any assumptions about
6001 the metrics of BDF fonts.
250cfece 6002 (x_estimate_mode_line_height): If `mode-line' face
52283633 6003 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6004 (note_mouse_highlight): Change the cursor shape on the vertical
6005 border between windows [not enabled].
6006
6007 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6008
6009 * w32fns.c (Fx_create_frame): Reintroduce the call to
6010 face-set-after-frame-defaults.
6011 (Vx_window_horizontal_drag_shape): New variable.
6012 (syms_of_xfns): DEFVAR_LISP it.
6013 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6014 enabled].
0dd5e255 6015
b5d8d2ca
GM
60162000-12-02 Simon Josefsson <simon@josefsson.org>
6017
6018 * fns.c (Fmd5): Use a different logic to decide the coding system
6019 to use.
6020
6021 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6022
fbb87147
EZ
60232000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6024
52283633 6025 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6026
447e9da0
GM
60272000-12-01 Gerd Moellmann <gerd@gnu.org>
6028
7708ced0
GM
6029 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6030 height for YNegative.
6031 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6032 height; also see comment there.
6033
447e9da0
GM
6034 * window.c (coordinates_in_window): Handle computations for
6035 positions on the vertical bar and fringes differently for
6036 window-system frames. Consider some pixels near the vertical bar
6037 as on the bar if the frame doesn't have vertical scroll bars.
6038 Associate positions between mode or header lines with the
6039 right window, the left one.
6040
86d1db20
JR
60412000-12-01 Jason Rumney <jasonr@gnu.org>
6042
6043 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6044
6045 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6046 invalid frame.
6047
a1d58e5b
GM
60482000-12-01 Gerd Moellmann <gerd@gnu.org>
6049
52283633 6050 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6051 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6052 (save_window_save, Fset_window_configuration): Save/restore
6053 window's orig_top and orig_height.
6054
89c609af
JR
60552000-12-01 Jason Rumney <jasonr@gnu.org>
6056
4d177746 6057 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6058
89c609af
JR
6059 * w32fns.c (x_set_cursor_color): Fix last change.
6060
eccc05db
GM
60612000-11-30 Gerd Moellmann <gerd@gnu.org>
6062
31b6671b
GM
6063 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6064 sure that the next redisplay displays the minibuffer, so that
6065 the cursor will be replaced with what the minibuffer wants.
6066
eccc05db
GM
6067 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6068 #ifndef instead of using #if.
6069 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6070 USE_TOOLKIT_SCROLL_BARS is defined.
6071
162de750
JR
60722000-11-30 Jason Rumney <jasonr@gnu.org>
6073
6074 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6075 x_display_cursor.
6076
693c4692
GM
60772000-11-30 Gerd Moellmann <gerd@gnu.org>
6078
6079 * fns.c (Fmd5): Doc fix.
6080
b5d8d2ca 60812000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6082
6083 * fns.c (Fmd5): New function.
6084 (syms_of_fns): Defsubr md5.
6085
6086 * Makefile.in (obj): Add md5.o
6087
b02cd40b
GM
60882000-11-30 Gerd Moellmann <gerd@gnu.org>
6089
edfb795e
GM
6090 * md5.h, md5.c: New files, taken from glibc.
6091
df3aedcf
GM
6092 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6093
b02cd40b 6094 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6095 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6096
8b5176cd
SM
60972000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6098
6099 * eval.c (Frun_hooks): Allow 0 arguments.
6100
346598f1
GM
61012000-11-29 Gerd Moellmann <gerd@gnu.org>
6102
f9396e03
GM
6103 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6104 is over the menu bar widget, say it's not on the frame.
6105
4a967a9b
GM
6106 * xfns.c (Fx_create_frame): Reintroduce the call to
6107 face-set-after-frame-defaults.
6108
346598f1
GM
6109 * eval.c (Fsignal): Reset handling_signal.
6110
222456a1
JR
61112000-11-28 Jason Rumney <jasonr@gnu.org>
6112
6113 * w32menu.c (add_menu_item): Reset menu item text when changing
6114 type to radio button.
6115
8049ddc0
GM
61162000-11-28 Gerd Moellmann <gerd@gnu.org>
6117
346598f1 6118 * xselect.c: Update copyright.
f4f4ee4d 6119
bebe4a2c
GM
6120 * window.c (coordinates_in_window): If on a mode or header line,
6121 but sufficiently close to its start, return ``on vertical
6122 border''. This gives us a way to drag windows horizontally when
6123 using toolkit scroll bars.
6124
6125 * xterm.c (note_mouse_highlight): Change the cursor shape
6126 on the vertical border between windows.
6127
6128 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6129
6130 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6131 (syms_of_xfns): DEFVAR_LISP it.
6132 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6133
8d2c2642
GM
6134 * textprop.c (text_read_only): New function.
6135 (verify_interval_modification): Use it instead of signaling
6136 `text-read-only'. This makes it easier to catch this error
52283633 6137 with a breakpoint.:
8d2c2642 6138
52283633 6139 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6140 not end of line, which includes CR.
6141
5a2bae6c
KH
61422000-11-28 Kenichi Handa <handa@etl.go.jp>
6143
6144 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6145 include no-conversion.
6146
ae31f84d
JR
61472000-11-27 Jason Rumney <jasonr@gnu.org>
6148
6149 * w32fns.c (w32_load_system_font): Always mark font as double byte
6150 if codepage is unicode.
6151
67f1cf4c
GM
61522000-11-27 Gerd Moellmann <gerd@gnu.org>
6153
4a74d071 6154 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6155 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6156
902ae620
GM
6157 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6158 `vertical-line', `mode-line' and `header-line' events.
6159
6160 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6161 of a character, a TAB for instance. This is easier than to set
6162 up the iterator exactly, and it's not a frequent case, so the
6163 additional effort wouldn't really pay off.
6164
c1e279c2
AC
61652000-11-26 Andrew Choi <akochoi@i-cable.com>
6166
67f1cf4c 6167 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6168 init_window_once.
6169
a609568a
JR
61702000-11-25 Jason Rumney <jasonr@gnu.org>
6171
52283633
SM
6172 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6173 Args to window_from_coordinates should be pixel coordinates.
48b21762 6174
a609568a
JR
6175 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6176 redisplay handles them properly.
6177
a658d039
MB
61782000-11-25 Miles Bader <miles@gnu.org>
6179
6180 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6181
d3416cca
JR
61822000-11-24 Jason Rumney <jasonr@gnu.org>
6183
6184 * w32.c (init_environment): Set LANG environment variable based on
6185 locale settings, if not set.
6186
6187 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6188 making tool bar smaller. When clearing the frame, also
6189 clear current matrices. Clear frame when tool bar disappears.
6190 Don't use more lines for the tool-bar than is available.
6191 (x_change_window_heights): New function.
6192
ba193890
GM
61932000-11-24 Gerd Moellmann <gerd@gnu.org>
6194
2be8f184
GM
6195 * xdisp.c (init_from_display_pos): If POS says we're already after
6196 an overlay string ending at POS, make sure to pop the iterator
6197 because it will be in front of that overlay string. When POS is
6198 ZV, we've thereby also ``processed'' overlay strings at ZV.
6199
ba193890
GM
6200 * xfaces.c (lface_from_face_name): Function comment fix.
6201
1862a24e
MB
62022000-11-24 Miles Bader <miles@gnu.org>
6203
6204 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6205 apply `mode-line-inverse-video' -- zero means force display using
6206 the default face, non-zero means display using the specialized face.
6207 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6208
f07fa1b8
KH
62092000-11-23 Kenichi Handa <handa@etl.go.jp>
6210
6211 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6212 hard coded `4'.
6213
2bcdf662
EZ
62142000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6215
6216 * coding.c (decode_coding_emacs_mule): Fix the case of
6217 CODING_EOL_LF, which used uninitialized value of c.
6218
ba8299ff
SM
62192000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6220
6221 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6222
f4117c4d
GM
62232000-11-22 Gerd Moellmann <gerd@gnu.org>
6224
03e757c1
GM
6225 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6226 buffer object.
6227
f4117c4d
GM
6228 * frame.h (struct frame): Replace desired_tool_bar_items,
6229 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6230 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6231
6232 * frame.c (make_frame): Change initialization of tool bar
6233 items accordingly.
6234
6235 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6236 Change references to members deleted from struct frame to use the
f4117c4d
GM
6237 new ones.
6238
6239 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6240 references to members deleted from struct frame to use the new ones.
f4117c4d 6241
52283633 6242 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6243
6244 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6245
6246 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6247 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6248 from struct frame to use the new ones.
6249
f8e2f3f2
MB
62502000-11-23 Miles Bader <miles@gnu.org>
6251
6252 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6253 the face's inverse-video attribute, rather than overriding it.
6254
60e8e0a5
GM
62552000-11-22 Gerd Moellmann <gerd@gnu.org>
6256
6257 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6258 making tool bar smaller.
6259
92dd1b29
DL
62602000-11-22 Dave Love <fx@gnu.org>
6261
6262 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6263
e672fdce
MB
62642000-11-22 Miles Bader <miles@gnu.org>
6265
3a17d6cc
MB
6266 * keyboard.c (Vminibuffer_message_timeout): New variable.
6267 (command_loop_1): Use it to determine message timeout.
6268 (syms_of_keyboard): Initialize it.
6269
60e8e0a5 6270 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6271
e9655d81
KH
62722000-11-22 Kenichi Handa <handa@etl.go.jp>
6273
6274 * sysdep.c: Move the code for declaring h_errno after #include
6275 <netdb.h>.
6276
77270fac
GM
62772000-11-21 Gerd Moellmann <gerd@gnu.org>
6278
cd913aae
GM
6279 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6280 the menu bar when the tooltip is unmapped.
6281
77270fac
GM
6282 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6283 sole visible buffer when we're currently in the mini-buffer, and
6284 give up if so.
52283633 6285
556635d6
JR
62862000-11-21 Jason Rumney <jasonr@gnu.org>
6287
6288 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6289 put on the clipboard.
6290 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6291 copy of what Emacs last put there. If they are the same, do not
52283633 6292 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6293
5b7bde64
MB
62942000-11-22 Miles Bader <miles@gnu.org>
6295
6296 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6297 (syms_of_minibuf): Initialize it.
6298 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6299 to prompt, don't make read-only.
6300
ff23e1dd
GM
63012000-11-21 Gerd Moellmann <gerd@gnu.org>
6302
52283633
SM
6303 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6304 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6305
7aaf4388
GM
6306 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6307
f5f47add 6308 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6309
ff23e1dd
GM
6310 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6311
37c35586
KH
63122000-11-21 Kenichi Handa <handa@etl.go.jp>
6313
6314 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6315 ... #endif scope.
6316
ff9ab414
GM
63172000-11-20 Gerd Moellmann <gerd@gnu.org>
6318
52283633 6319 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6320 screen supports it.
6321
29a01b72
GM
6322 * s/gnu-linux.h: Don't use `#cpu'.
6323
09dfdf85
GM
6324 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6325 not defined in mman.h.
6326
52283633 6327 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6328 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6329 and store an index in the XClientMessageEvent. Storing a
6330 Lisp_Object or pointer can fail on a 64 bit system, since X only
6331 transfers 32 bits.
52283633
SM
6332 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6333
81459ac9
DL
63342000-11-20 Dave Love <fx@gnu.org>
6335
6336 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6337
56c13ae6
GM
63382000-11-20 Gerd Moellmann <gerd@gnu.org>
6339
6340 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6341
495a6df3
KH
63422000-11-20 Kenichi Handa <handa@etl.go.jp>
6343
2bcf3714
KH
6344 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6345 by WIDTH.
6346
495a6df3
KH
6347 * alloc.c (make_string): Fix previous change. Be sure to make
6348 unibyte string correctly.
6349
6d950f4c
GM
63502000-11-19 Gerd Moellmann <gerd@gnu.org>
6351
39b39373
GM
6352 * window.c (Fwindow_list): Change parameter list to be XEmacs
6353 compatible.
6354 (window_list_1): New function.
6355 (window_loop): Use it instead of Fwindow_list.
6356
b95b34e5
GM
6357 * sysdep.c (emacs_ospeed): New variable.
6358 (toplevel): Don't declare ospeed extern.
6359 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6360
6361 * termcap.c (ospeed): Remove.
6362 (tputs) [!emacs]: Remove unused code.
6363 (tgetent): Avoid a compiler warning.
6364
e83dc917
GM
6365 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6366 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6367 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6368
6369 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6370 removed.
6371 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6372 Take the X display as additional argument.
6373 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6374 `Widget' is a pointer type that's not easily stored in Lisp_Object
6375 form in a portable way.
52283633 6376
6d950f4c
GM
6377 * dispnew.c (update_text_area): Fix last change.
6378
e47306e6
GM
63792000-11-18 Gerd Moellmann <gerd@gnu.org>
6380
fb3cd89b
GM
6381 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6382
6383 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6384 clear current matrices.
6385
edaa9aed
GM
6386 * buffer.c (mmap_enlarge): Don't print a message on stderr
6387 if mapping new memory at the end of the existing region fails.
6388
e47306e6
GM
6389 * dispnew.c (update_text_area): Don't skip over equal glyphs
6390 when the last current glyph overlaps the glyph to its right.
6391
509633e3
MB
63922000-11-18 Miles Bader <miles@gnu.org>
6393
6394 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6395 lines that *end* with "..." too (that's the most common case!).
6396
d392e9c5
GM
63972000-11-18 Gerd Moellmann <gerd@gnu.org>
6398
67988445
GM
6399 * xdisp.c (resize_mini_window): Temporarily change to the
6400 mini-window's buffer if necessary.
1bfdbe43 6401
d392e9c5
GM
6402 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6403 the tooltip obscures less text under it.
6404
64052000-11-17 Gerd Moellmann <gerd@gnu.org>
6406
6407 * puresize.h (BASE_PURESIZE): Increase to 700000.
6408
92bb977f
JR
64092000-11-18 Jason Rumney <jasonr@gnu.org>
6410
6411 * w32term.c (w32_draw_bitmap): Use face to set colors.
6412
26fbf20b
DL
64132000-11-17 Dave Love <fx@gnu.org>
6414
6415 * lread.c (Fload): Fix #ifdef for pcc.
6416
100b593b
GM
64172000-11-17 Gerd Moellmann <gerd@gnu.org>
6418
6419 * xdisp.c (pos_visible_p): Compute the default character height
6420 differently.
6421
a288d0d1
GM
64222000-11-16 Gerd Moellmann <gerd@gnu.org>
6423
cac94de6 6424 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6425 knowing the line's height; use the default font's height in that case.
cac94de6 6426
a288d0d1
GM
6427 * xfaces.c (weight_table): Add `demi' with the same meaning as
6428 `demibold'.
6429
981fb6f6
KH
64302000-11-16 Kenichi Handa <handa@etl.go.jp>
6431
2cca872d 6432 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6433 (clear_glyph_row): Delete local static variable null_row.
6434
e5fa381b
JR
64352000-11-15 Jason Rumney <jasonr@gnu.org>
6436
6437 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6438 (w32_alloc_lighter_color): Use new brightness calculations from
6439 xterm.c. Scale delta to be in the range expected by W32.
6440 (w32_draw_relief_rect): Use frame relief colors.
6441
8e42f043
GM
64422000-11-15 Gerd Moellmann <gerd@gnu.org>
6443
6d133d1f
GM
6444 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6445 (Qinhibit_default_face_x_resources): New variable.
6446 (syms_of_frame): Initialize it.
6447 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6448
6449 * xdisp.c (pos_visible_p): Improve function comment.
6450
6451 * lisp.h (BINDING_STACK_SIZE): New macro.
6452
8e42f043
GM
6453 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6454 reading the directory if readdir returns null and errno is EAGAIN
6455 or EINTR.
6456
e8c87124
SM
64572000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6458
6459 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6460 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6461 Set amount_to_scroll to max of dx and scroll_step so that
6462 scroll-conservatively doesn't defeat scroll-step>1.
6463 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6464 scroll-conservatively for line-at-a-time scrolling.
6465
5f0c971d
GM
64662000-11-14 Gerd Moellmann <gerd@gnu.org>
6467
6468 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6469 extra argument.
6470
6471 * xdisp.c (current_mode_line_height, current_header_line_height):
6472 New variables.
6473 (init_xdisp): Initialize them.
6474 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6475 and use exact mode line heights if it is set.
6476
6477 * lisp.h (pos_visible_p): Change prototype.
6478
6479 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6480 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6481 and current_header_line_height first.
52283633
SM
6482 (current_mode_line_height, current_header_line_height):
6483 Declare extern.
5f0c971d 6484
d7361edf
MB
64852000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6486
6487 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6488 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6489 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6490
ee5e440a
MB
64912000-11-14 Miles Bader <miles@gnu.org>
6492
6493 * xterm.c (x_alloc_lighter_color): Include an additive component
6494 too for dark colors, because FACTOR isn't enough.
6495 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6496 New macros.
6497
5ca020fc
GM
64982000-11-13 Gerd Moellmann <gerd@gnu.org>
6499
6500 * keyboard.c (show_help_echo): Call message3_nolog with number of
6501 bytes in the help string as 2nd parameter, instead of the number
6502 of characters.
6503
9d348294
MB
65042000-11-13 Miles Bader <miles@gnu.org>
6505
6506 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6507 (Fload): Use new openp return protocol.
6508 Don't try to use Vload_source_file_function to load .elc files.
6509 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6510 openp return protocol.
6511 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6512
1729bb9a
KH
65132000-11-11 Kenichi Handa <handa@etl.go.jp>
6514
4e677396
KH
6515 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6516
6517 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6518 Defined these macros.
6519 (NLIST_STRUCT): Avoid re-defining it.
6520
1729bb9a
KH
6521 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6522 -I/usr/contrib/X11R6/include.
6523 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6524
a82fe213
JR
65252000-11-10 Jason Rumney <jasonr@gnu.org>
6526
6527 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6528
6529 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6530 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6531
6532 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6533 (Qw32_charset_vietnamese): New symbol.
6534 (xlfd_charset_of_font): New function.
6535 (w32_load_system_font): Use it.
6536 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6537 when Vw32_charset_info_alist is nil to ensure default face always
6538 has font. Use Fcar and Fcdr for safety.
6539 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6540 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6541 pseudo-codepages for special cases.
6542 (w32_to_x_font): New parameter to allow charset portion to be
6543 specified where there is many to one mapping. Callers changed.
6544 (w32_list_fonts): Avoid listing fonts that won't display.
6545
52d89894
GM
65462000-11-10 Gerd Moellmann <gerd@gnu.org>
6547
6548 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6549 (font_list_1): Renamed from font_list.
6550 (font_list): New function, trying alternative registries from
6551 Vface_alternative_font_registry_alist.
6552 (Finternal_set_alternative_font_registry_alist): New function.
6553 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6554 Vface_alternative_font_registry_alist.
6555 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6556
651cd3da
KR
65572000-11-09 Ken Raeburn <raeburn@gnu.org>
6558
6559 * lisp.h (Flooking_at): Declare.
6560
388ac098
GM
65612000-11-09 Gerd Moellmann <gerd@gnu.org>
6562
778fbc46 6563 * dired.c (directory_files_internal): Fix a braino.
52283633 6564
388ac098
GM
6565 * dired.c (directory_files_internal): Add missing GCPRO's.
6566 Some cleanup.
6567
ecaedde1
GM
65682000-11-08 Gerd Moellmann <gerd@gnu.org>
6569
f7eb32aa
GM
6570 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6571 (resize_mini_window): Return quickly if Vresize_mini_window is
6572 nil. Don't return if Vmax_mini_window_height is nil.
6573
6574 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6575 (syms_of_xdisp): Initialize them.
6576 (resize_mini_window): Act according to the setting of
6577 Vresize_mini_window.
6578 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6579
ecaedde1
GM
6580 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6581 scroll bar widget after configuring it, so that it will appear at
6582 the right position from the start.
6583 (XTredeem_scroll_bar): Cleaned up.
6584
3747ef2c
KH
65852000-11-08 Kenichi Handa <handa@etl.go.jp>
6586
6587 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6588 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6589 division by two.
6590
6591 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6592
03391420
DL
65932000-11-07 Dave Love <fx@gnu.org>
6594
7758f1c1 6595 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6596
6597 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6598
b5de343d
GM
65992000-11-07 Gerd Moellmann <gerd@gnu.org>
6600
acad3c0b
GM
6601 * window.c (Fset_window_configuration): Don't try to preserve
6602 point in the current buffer, if that buffer is displayed in more
6603 than one window.
6604
b5de343d
GM
6605 * xfaces.c (lookup_named_face): If default face isn't realized,
6606 try to realize it. Return -1 if not successful.
6607 (Fx_list_fonts): Handle case that face cannot be determined.
6608 (Fface_font): Likewise.
6609
cdb1fe49
GM
66102000-11-06 Gerd Moellmann <gerd@gnu.org>
6611
6612 * window.c (displayed_window_lines): Detect partially
6613 visible lines at the bottom correctly.
6614
d3a67486
SM
66152000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6616
6617 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6618 when ensuring we don't do visit in indirect buffer.
6619
ff8dd5d5
KH
66202000-11-06 Kenichi Handa <handa@etl.go.jp>
6621
6622 * composite.h (compose_chars_in_text): Add prototype.
6623
6624 * composite.c (Vcomposition_function_table): New variable.
6625 (Qcomposition_function_table): New variable.
6626 (run_composition_function): Call
6627 Vcompose_chars_after_function with three arguments.
6628 (compose_chars_in_text): New function.
6629 (syms_of_composite): Modified the doc-string of
6630 Vcompose_chars_after_function. Declare composition-function-table
6631 as a lisp variable, and initialize it.
6632
6633 * xfns.c (x_encode_text): Suppress producing escape sequences for
6634 composition.
6635
6636 * xselect.c: Include composite.h.
6637 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6638
d1145f85
AI
66392000-11-05 Andrew Innes <andrewi@gnu.org>
6640
6641 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6642
6643 * sysdep.c (read_input_waiting): Remove extraneous argument to
6644 read_socket_hook.
6645
6646 * w32fns.c (Fx_server_version): Include w32_build_number in the
6647 return list.
6648
6649 * w32heap.c (w32_build_number): New variable.
6650 (cache_system_info): Set it.
6651
6652 * w32heap.h (w32_build_number): Add extern.
6653
6654 * emacs.c (syms_of_emacs): Update docstring for
6655 system-configuration, to reflect the actual usage on MS-Windows.
6656
e85ee976
GM
66572000-10-31 Gerd Moellmann <gerd@gnu.org>
6658
26dcb81b
GM
6659 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6660 process idle timers while waiting for another event.
6661
52283633 6662 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6663 the default face are colored.
6664
e85ee976
GM
6665 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6666 window height hasn't changed.
6667
01b220b6
JR
66682000-10-31 Jason Rumney <jasonr@gnu.org>
6669
6670 * w32term.c (x_produce_glyphs): Handle composite characters.
6671 (x_draw_glyph_string_foreground)
6672 (x_draw_composite_glyph_string_foreground): Restore old font.
6673
4e6b7204
MB
66742000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6675
6676 * minibuf.c (read_minibuf): Reset the undo history just before
6677 starting the recursive-edit.
6678
d4358b37
GM
66792000-10-30 Gerd Moellmann <gerd@gnu.org>
6680
563f68f1
GM
6681 * xfaces.c (menu_face_change_count): New variable.
6682 (Finternal_set_lisp_face_attribute): Increment it for changes
6683 of the `menu' face.
6684 (realize_basic_faces): Reflect changes in the `menu' faces
6685 in menu bars.
6686
82e274d1
GM
6687 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6688 dy obtained from the iterator's y-position after moving from
6689 scroll_margin_pos to PT; see comment there.
52283633 6690
0dbf9fd2
GM
6691 * xdisp.c (safe_eval_handler): Call add_to_log.
6692
906b3b14
GM
6693 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6694 is not a symbol or string.
6695
d4358b37
GM
6696 * xdisp.c (echo_area_display): Don't perform a display update from
6697 inside redisplay. The update will happen anyway at the end of
6698 redisplay, and it can confuse redisplay (GC messages while
6699 redisplaying, for instance.)
6700
70c825df
SM
67012000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6702
cf9b4b0b
SM
6703 * xrdb.c (x_load_resources): Use the class name in the defaults.
6704
70c825df
SM
6705 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6706 (regex_compile): Catch bogus \(\1\).
6707
a1d34b1e
GM
67082000-10-30 Gerd Moellmann <gerd@gnu.org>
6709
cae71efe
GM
6710 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6711 RGB values.
52283633 6712
35efe0a1
GM
6713 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6714 we have a color cache, check that the cached color equals the
6715 allocated color. If not, clear the color cache.
6716
1d3baf74
GM
6717 * window.c (displayed_window_lines): Change buffers if necessary.
6718 Fix computation of displayed lines.
6719
a1d34b1e
GM
6720 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6721 update_menu_bindings to DEFVAR_BOOL.
6722
70737ea9
KH
67232000-10-30 Kenichi Handa <handa@etl.go.jp>
6724
70c825df 6725 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6726
fa0cb51d
KH
6727 * puresize.h (BASE_PURESIZE): Increase to 680000.
6728
70737ea9
KH
6729 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6730
0e4c08e8
JR
67312000-10-29 Jason Rumney <jasonr@gnu.org>
6732
6733 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6734
6735 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6736 (w32_cache_char_metrics): Handle possibility that 'x' does not
6737 exist in a BDF font.
6738 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6739
6740 * w32bdf.h (bdffont): Add nchars.
6741
6742 * w32bdf.c (set_bdf_font_info): Set it.
6743 (w32_BDF_TextOut): Swap byte order of double byte characters.
6744 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6745
45b84006
EZ
67462000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6747
6748 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6749 don't override the colors in frame's param_alist, unless they are
6750 unspecified.
6751
6752 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6753 reverse the effect of the highlight flag.
6754
caf9deee
KR
67552000-10-27 Ken Raeburn <raeburn@gnu.org>
6756
6757 * window.h (Fwindow_live_p): Declare.
6758
ae0b9b46
KR
6759 * undo.c (record_delete): Check that last_undo_buffer is really a
6760 buffer before applying XBUFFER to it.
6761
6762 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6763 Faref.
6764
02067692
SM
67652000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6766
6767 * lisp.h (KEYMAPP): New macro.
6768 (get_keymap): Remove.
6769 (get_keymap_1): Rename get_keymap.
6770
6771 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6772
6773 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6774
6775 * xmenu.c (single_submenu): Use KEYMAPP.
6776 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6777 Use KEYMAPP rather than Fkeymapp.
6778
6779 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6780
6781 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6782 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6783 Use KEYMAPP rather than Fkeymapp.
6784 (single_submenu): Use KEYMAPP.
6785 (w32_menu_show, w32_dialog_show): Use TRUE.
6786
6787 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6788
6789 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6790 (Fkeymapp): Use KEYMAPP.
6791 (get_keymap): Rename from get_keymap_1. Remove old def.
6792 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6793 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6794 (Fminor_mode_key_binding): Don't raise an error if the binding
6795 is not a keymap.
6796 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6797 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6798
6799 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6800 Allow Vspecial_event_map to be autoloaded.
6801 (menu_bar_items): Fetch the keymap rather than using keymapp.
6802 (menu_bar_one_keymap): No need to follow func-indirect any more.
6803 (parse_menu_item): get_keymap_1 -> get_keymap.
6804 (tool_bar_items): Fetch the keymap rather than using keymapp.
6805 (read_key_sequence): Use KEYMAPP.
6806
6807 * intervals.c (get_local_map): Use get_keymap rather than following
6808 function-indirections explicitly.
6809
6810 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6811
f9d80af3
JR
68122000-10-27 Jason Rumney <jasonr@gnu.org>
6813
6814 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6815 point, as Windows has oversized fonts.
6816
6817 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6818
a3ba27da
GM
68192000-10-27 Gerd Moellmann <gerd@gnu.org>
6820
6821 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6822 (freehook, reallochook): Handle null pointer arguments.
6823 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6824
aa3b80cc
SM
68252000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6826
6827 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6828 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6829 Giving in to popular pressure to shut up the compiler with casts.
6830
e24e84cc
GM
68312000-10-27 Gerd Moellmann <gerd@gnu.org>
6832
6833 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6834 signed value, and use a default value computed from the font's
6835 maximum descent.
6836
05ea7ef2
MB
68372000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6838
6839 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6840 that specify a negative underline position can still use underlines.
6841
6842 * window.c (Fpos_visible_in_window_p): Make POS default to
6843 WINDOW's point, not the current buffer's point.
6844
0b95284b
DL
68452000-10-26 Dave Love <fx@gnu.org>
6846
6847 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6848 when it's necessary.
6849
6c5b90af
GM
68502000-10-26 Gerd Moellmann <gerd@gnu.org>
6851
8b6d9dc9
GM
6852 * window.c (size_window): Compute size difference from sum of old
6853 child window sizes instead of from parent's size.
6854
6bc92b2e
GM
6855 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6856 Handle obscured lines at the top of the window.
6857
6858 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6859 down after the last error condition check.
6860
6c5b90af
GM
6861 * frame.c (Fdelete_frame): Run delete-frame-hook.
6862
42f92d4d
KH
68632000-10-26 Kenichi Handa <handa@etl.go.jp>
6864
6865 * coding.c (decode_coding): Fix previous change (check also
6866 CODING_MODE_LAST_BLOCK).
6867
d97151cb
SM
68682000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6869
e7efc503
SM
6870 * regex.c: More `unsigned char' -> `re_char' changes.
6871 Also change several `int' into `re_wchar_t'.
6872 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6873 (PUSH_FAILURE_POINTER): Don't cast any more.
6874 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6875 We want GCC to complain, since this piece of code makes
6876 re_match non-reentrant, which *should* be fixed.
6877 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6878 (EXTEND_BUFFER): Use RETALLOC.
6879 (SET_LIST_BIT): Don't cast.
6880 (re_wchar_t): New type.
6881 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6882 that those two functions will always properly return.
6883 (IMMEDIATE_QUIT_CHECK): Cast to void.
6884 (analyse_first): Use recursion rather than an explicit stack.
6885 (re_compile_fastmap): Can't fail anymore.
6886 (re_search_2): Don't check re_compile_fastmap for failure.
6887 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6888 Now also sets the new value (passed in a new argument).
6889 (re_match_2_internal): Use it.
6890 Also, use a new var `reg' of type size_t when looping through regs
6891 rather than reuse the inappropriate `mcnt'.
6892
d97151cb
SM
6893 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6894 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6895 (where_is_internal): Renamed from Fwhere_is_internal.
6896 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6897 (Fwhere_is_internal): New function wrapping where_is_internal.
6898 (where_is_internal_1): Handle the case where we're filling the cache.
6899 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6900
d5789b65
MB
69012000-10-25 Miles Bader <miles@gnu.org>
6902
6903 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6904
4ecda532
GM
69052000-10-25 Gerd Moellmann <gerd@gnu.org>
6906
6907 * window.c (pos_fully_visible_p): Removed.
6908 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6909 if position is visible and/or fully visible.
6910
6911 * lisp.h (pos_visible_p): Add prototype.
6912
6913 * xdisp.c (pos_visible_p): New function.
6914
68c3a137
KH
69152000-10-25 Kenichi Handa <handa@etl.go.jp>
6916
6917 * process.c (send_process): If OBJECT is t, it means that the data
6918 is from C string, but we should encode it. Before calling
6919 setup_raw_text_coding_system, be sure to flush out data by the
6920 previous coding system.
6921
7ae1c032
MB
69222000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6923
ff4dcd4b
MB
6924 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6925 assignment of startpos to prev when startpos == pos.
6926
7ae1c032
MB
6927 * editfns.c (find_field): Set the field stickiness correctly from
6928 overlay fields. Use renamed `text_property_stickiness'.
6929 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6930 Only check text properties, not overlays.
7ae1c032
MB
6931 * textprop.c (get_char_property_and_overlay): New function.
6932 (Fget_char_property): Use it.
6933 * intervals.h (get_char_property_and_overlay): Add declaration.
6934
49801145
SM
69352000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6936
6937 * keymap.c: Use AREF, ASET and ASIZE macros.
6938 (Fmake_sparse_keymap): Docstring fix.
6939 (synkey): Remove.
6940 (shadow_lookup): Move up.
6941 Handle the case where lookup-key returns an integer.
6942 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6943 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6944 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6945 Simplify/rewrite the keymap-finding code.
6946 Add check for command shadowing, using shadow_lookup.
6947
39e776cd
SM
69482000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6949
6950 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6951 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6952 a symbol.
6953
2488aba5
AI
69542000-10-24 Andrew Innes <andrewi@gnu.org>
6955
6956 * dired.c (directory_files_internal_unwind): New function.
6957 (directory_files_internal): Use it to ensure closedir is called
6958 even if expand-file-name or file-attributes throw, eg. because of
6959 a user interrupt. Also enable immediate_quit while calling
6960 re_search, so that matching can be interrupted as well.
6961
b94fdf61
AI
69622000-10-24 Andrew Innes <andrewi@gnu.org>
6963
6964 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6965 NT-Emacs only.
6966 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6967 so that re_search functions only quit when callers expect them to.
6968
69692000-10-24 Kenichi Handa <handa@etl.go.jp>
6970
6971 * regex.c (regex_compile): Change the way of handling a range from
6972 a char less than 256 to a char not less than 256.
6973
1946f901
GM
69742000-10-24 Gerd Moellmann <gerd@gnu.org>
6975
7ae2f10f
GM
6976 * window.c (size_window): Prevent setting window's width or
6977 height to a negative value (esp. with XSETFASTINT).
6978
5dcab13e
GM
6979 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6980 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6981 (protect_malloc_state) [GC_MALLOC_CHECK &&
6982 GC_PROTECT_MALLOC_STATE]: New function.
6983 (PROTECT_MALLOC_STATE): New macro.
6984 (__malloc_initialize, morecore, _malloc_internal)
6985 (_free_internal) _realloc_internal): Use it to make _heapinfo
6986 read-only outside of gmalloc.
6987
63e1b552
GM
6988 * keymap.c: Update copyright.
6989
1946f901
GM
6990 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6991 a symbol.
6992
4fa09beb
GM
69932000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6994
6995 * filelock.c (unlock_all_files): Use unlock_file to expand each
6996 buffer's file_truename before trying remove its lock file.
6997
23afac01
EZ
69982000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6999
7000 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7001 or CRLF, decode EOLs.
7002
04448b95
KH
70032000-10-24 Kenichi Handa <handa@etl.go.jp>
7004
7005 * window.c (Fdisplay_buffer): Fix doc.
7006
3090a5a5
JR
70072000-10-23 Jason Rumney <jasonr@gnu.org>
7008
7009 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7010 ASCII font of default fontset on Windows.
7011
7012 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7013 xterm.c comment below).
7014
7015 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7016
a83fee2c
GM
70172000-10-23 Gerd Moellmann <gerd@gnu.org>
7018
7019 * xterm.c (x_connection_closed): Reset handling_signal.
7020
52283633 7021 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7022
6ffdb539
MB
70232000-10-23 Miles Bader <miles@gnu.org>
7024
7025 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7026 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7027 maintain old behavior.
7028 * minibuf.c (Fminibuffer_complete): Likewise.
7029
7f1c969b
MB
70302000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7031
7032 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7033 that when a font can't be exactly centered, it errs up rather than
7034 down.
7035
23afac01 70362000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7037
52283633 7038 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7039
1a578e9b
AC
70402000-10-23 Andrew Choi <akochoi@i-cable.com>
7041
7042 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7043
7044 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7045 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7046
7047 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7048 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7049 syms_of_search, x_term_init, and init_keyboard before calling
7050 init_window_once. Also, call syms_of_xmenu.
7051
7052 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7053 default fontset to Monaco.
7054
7055 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7056 NewMacWindow and DisposeMacWindow.
7057 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7058 instead of calling NewMacWindow and setting fields of
7059 f->output_data.mac directly. Call init_frame_faces.
7060 (Fdelete_frame) [macintosh]: Remove unused code.
7061 (Fmodify_frame_parameters) [macintosh]: Call
7062 x_set_frame_parameters instead of mac_set_frame_parameters.
7063
7064 * frame.h [macintosh]: Define menu_bar_lines field in struct
7065 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7066
7067 * keyboard.c [macintosh]: Include macterm.h.
7068 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7069 and menu_bar_activate_event type events as for X and NT.
7070 (make_lispy_event) [macintosh]: Construct lisp events of type
7071 MENU_BAR_EVENT as for X and NT.
7072
7073 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7074 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7075 (sys_subshell) [macintosh]: Remove definition entirely.
7076 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7077 Vwindow_system_version here. Remove initialization of
7078 Vx_bitmap_file_path.
7079 (read_input_waiting): Correct the number of parameters passed to
7080 read_socket_hook.
7081 Move all Macintosh functions to mac/mac.c.
7082
7083 * term.c [macintosh]: Include macterm.h.
7084
7085 * window.c [macintosh]: Include macterm.h.
7086
7087 * xdisp.c [macintosh]: Include macterm.h. Declare
7088 set_frame_menubar and pending_menu_activation.
7089 (echo_area_display) [macintosh]: Do not return if terminal frame
7090 is the selected frame.
7091 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7092 Allow only the selected frame to set menu bar.
7093 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7094 calling FRAME_EXTERNAL_MENU_BAR (f).
7095 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7096
7097 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7098 and check_x. Declare XCreateGC. Define x_create_gc and
7099 x_free_gc. Initialize font_sort_order.
7100 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7101 but call x_list_fonts instead of w32_list_fonts.
7102 (Finternal_face_x_get_resource) [macintosh]: Do not call
7103 display_x_get_resource.
7104 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7105 (realize_x_face) [macintosh]: Load the font if it is specified in
7106 ATTRS.
52283633 7107 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7108
1ffbabe3
SM
71092000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7110
7111 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7112 is nil: since we go to the end of submap anyway, we'd end up
7113 setting nil to nil.
7114 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7115 doesn't obey autoload.
7116
bed43f1d
EZ
71172000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7118
1ffbabe3 7119 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7120
ea4233a7
JR
71212000-10-21 Jason Rumney <jasonr@gnu.org>
7122
7123 * w32term.c (w32_cache_char_metrics): Double check that font is
7124 really fixed pitch before trusting tmPitchAndFamily.
7125
f3d3c491
AI
71262000-10-21 Andrew Innes <andrewi@gnu.org>
7127
7128 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7129
7130 * w32term.h: Extern decl for w32_cache_char_metrics.
7131
7132 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7133
7134 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7135 (w32_unload_font): Free per_char array if present.
7136
7137 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7138 cached information in emulated XFontStruct to handle common cases
7139 quickly. Do not allocate XCharStruct for return.
7140 (w32_native_per_char_metric): New function.
7141 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7142 allocating one.
7143 (x_produce_glyphs): Don't get an HDC. Change calls to
7144 w32_per_char_metric to match arg change above. Remove calls to
7145 free results.
7146 (w32_get_glyph_overhangs): Ditto.
7147 (w32_cache_char_metrics): New function.
7148
7149 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7150 ($(BLD)/casefiddle.$(O)): Remove compile command.
7151 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7152 ($(BLD)/dispnew.obj):
7153 ($(BLD)/keyboard.obj):
7154 ($(BLD)/w32inevt.obj):
7155 ($(BLD)/w32bdf.obj):
7156 ($(BLD)/alloc.obj):
7157 ($(BLD)/buffer.obj):
7158 ($(BLD)/editfns.obj):
7159 ($(BLD)/emacs.obj):
7160 ($(BLD)/fileio.obj):
7161 ($(BLD)/fns.obj):
7162 ($(BLD)/indent.obj):
7163 ($(BLD)/insdel.obj):
7164 ($(BLD)/intervals.obj):
7165 ($(BLD)/minibuf.obj):
7166 ($(BLD)/print.obj):
7167 ($(BLD)/scroll.obj):
7168 ($(BLD)/sysdep.obj):
7169 ($(BLD)/textprop.obj):
7170 ($(BLD)/widget.obj):
f3d3c491
AI
7171 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7172 ($(BLD)/term.obj): Add dependency on dispextern.h.
7173
52283633
SM
7174 * makefile.nt ($(BLD)\dispnew.obj):
7175 ($(BLD)\keyboard.obj):
7176 ($(BLD)\w32inevt.obj):
7177 ($(BLD)\w32bdf.obj):
7178 ($(BLD)\alloc.obj):
7179 ($(BLD)\buffer.obj):
7180 ($(BLD)\editfns.obj):
7181 ($(BLD)\emacs.obj):
7182 ($(BLD)\fileio.obj):
7183 ($(BLD)\fns.obj):
7184 ($(BLD)\indent.obj):
7185 ($(BLD)\insdel.obj):
7186 ($(BLD)\intervals.obj):
7187 ($(BLD)\minibuf.obj):
7188 ($(BLD)\print.obj):
7189 ($(BLD)\scroll.obj):
7190 ($(BLD)\sysdep.obj):
7191 ($(BLD)\textprop.obj):
7192 ($(BLD)\widget.obj):
f3d3c491
AI
7193 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7194 ($(BLD)\term.obj): Add dependency on dispextern.h
7195
18ad4821
EZ
71962000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7197
7198 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7199 with an additional argument of Qt.
7200
de54681a
MB
72012000-10-21 Miles Bader <miles@gnu.org>
7202
7203 * window.c (pos_fully_visible_in_window_p): New function.
7204 (Fpos_visible_in_window_p): Add FULLY argument.
7205 Use pos_fully_visible_in_window_p.
7206 (window_scroll_pixel_based, window_scroll_line_based): Update
7207 calls to Fpos_visible_in_window_p.
7208 * lisp.h (Fpos_visible_in_window_p): Update prototype
7209
13c844fb
GM
72102000-10-20 Gerd Moellmann <gerd@gnu.org>
7211
7212 * alloc.c (toplevel): Conditionalize compilation of mem_*
7213 functions differently.
52283633 7214
d9506268
JR
72152000-10-20 Jason Rumney <jasonr@gnu.org>
7216
7217 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7218 mem_init where it used to be. mem_z etc not defined otherwise.
7219
8094989b
GM
72202000-10-20 Gerd Moellmann <gerd@gnu.org>
7221
7222 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7223 GC_MALLOC_CHECK.
7224 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7225 structure definition and related variabled to the top of the file.
7226 Include this code when GC_MALLOC_CHECK is defined.
7227 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7228 register/unregister allocated region.
7229 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7230 which isn't allocated.
7231 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7232 something which is already in use.
7233 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7234 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7235 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7236 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7237
7238 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7239 _malloc_internal instead of malloc.
7240 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7241 of free.
7242
ea456eb4
AI
72432000-10-20 Andrew Innes <andrewi@gnu.org>
7244
7245 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7246 Windows.
7247 (my_strftime) <macro>: Don't use macro arg list when redefining as
7248 _strftime_copytm.
7249 (my_strftime) <function>: Supply 0 as ut argument.
7250
e64c3a75
JR
72512000-10-19 Jason Rumney <jasonr@altavista.net>
7252
7253 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7254 including dispextern.h, as it stops faces from working.
7255
7256 * w32fns.c (Fx_create_frame): Don't bother calling
7257 face-set-after-frame-default since the caller does it for us
7258 anyway. Clean up calls to x_get_arg to be consistent with X.
7259
7260 * w32term.c (x_produce_glyphs): Handle
7261 unibyte_display_via_language_environment correctly.
7262 (w32_draw_box_rect): Fix the calculation of width and height.
7263
7264 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7265 as it has stopped working.
7266 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7267 menu-bar.
7268
17401c97
GM
72692000-10-19 Gerd Moellmann <gerd@gnu.org>
7270
7271 * eval.c (skip_debugger): Prevent a compiler warning.
7272 (Fcondition_case): Likewise.
7273 (Fbacktrace_frame): Use a null interactive spec.
7274
773272d8
KH
72752000-10-19 Kenichi Handa <handa@etl.go.jp>
7276
7277 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7278
a42943e9
GM
72792000-10-18 Gerd Moellmann <gerd@gnu.org>
7280
e50517d9
GM
7281 * strftime.c: Sync with glibc, file version 1.78.
7282 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7283 should no longer be used according to ISO 8601.
7284
9035a35a
GM
7285 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7286 no map for meta_prefix_char, don't try to use it as a keymap.
7287 Instead, if T_OK is non-zero, look up a default binding, if any,
7288 otherwise, if T_OK is zero, return nil.
7289
a42943e9
GM
7290 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7291 (x_to_xcolors, png_load): Use x_query_color.
7292
52283633
SM
7293 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7294 New functions.
a42943e9
GM
7295 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7296 which can be slow.
7297 (x_copy_color, x_alloc_lighter_color): Likewise.
7298
7299 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7300 (x_query_color, x_query_colors): Add prototype.
7301
7302 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7303 check_string_bytes only if not noninteractive, increase count to 50.
7304
00de2987
MB
73052000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7306
7307 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7308 markers correctly.
7309
54918e2b
GM
73102000-10-17 Gerd Moellmann <gerd@gnu.org>
7311
1f0b3fd2
GM
7312 * alloc.c (pure_bytes_used): Renamed from pureptr.
7313 (ALIGN): New macro.
7314 (pure_alloc): New function.
7315 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7316 Use it.
7317 (Fpurecopy): Use PURE_POINTER_P.
7318
68c5d1db
GM
7319 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7320 PT has moved backward.
52283633 7321
9a038881
GM
7322 * xdisp.c (cursor_row_p): Take continued lines into account.
7323
361b097f
GM
7324 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7325 string's size_byte.
7326 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7327 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7328 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7329 string allocated.
7330
54918e2b
GM
7331 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7332 of selective display off while searching for the next line start.
7333
03ed0806
KH
73342000-10-17 Kenichi Handa <handa@etl.go.jp>
7335
7336 * Makefile.in (term.o): Depend on dispextern.h.
7337
7e05cdaf
SM
73382000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7339
7340 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7341
a6801fd1
GM
73422000-10-16 Gerd Moellmann <gerd@gnu.org>
7343
483de32b
GM
7344 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7345 the iterator at the beginning, so that they can be set later on,
7346 for instance in reseat_at_next_visible_line_start, without being
7347 overwritten.
7348
a6801fd1
GM
7349 * xfns.c (pbm_format): Add :foreground and :background keywords.
7350 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7351 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7352
dbf1fcc1
EZ
73532000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7354
7355 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7356
52283633 7357 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7358
7359 * msdos.c (IT_set_face): Compare highlighted face with the default
7360 face, and invert colors if these faces' colors are identical.
7361 (Fmsdos_remember_default_colors): Don't swap foreground and
7362 background colors in initial_colors[].
7363 (IT_set_frame_parameters): Don't swap frame's foreground and
7364 background pixels. If ALIST includes "(reverse . t)", swap
7365 foreground-color and background-color properties in frame's
7366 param_alist. If the original frame's param_alist doesn't specify
7367 the colors, store unspecified-fg and unspecified-bg, reversed if
7368 required.
7369
7370 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7371 the colors are unspecified and reversed, reverse fore- and back-
7372 ground in the returned value.
7373 (Fframe_parameter): Ditto.
7374
b41fe2c3 73752000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7376
3a6b59d9
GM
7377 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7378 get_last_unchanged_at_beg_row.
7379 (find_first_unchanged_at_end_row): Renamed from
7380 get_first_unchanged_at_end_row.
7381 (find_first_unchanged_at_end_row): Convert assertions to
7382 unconditional tests which abort. When looking for a row in
7383 unchanged text, don't go further back than first_text_row.
7384
b41fe2c3
GM
7385 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7386 Don't add in the last line's height when deciding if the new
7387 position is below the scroll margin.
9d1af64f 7388
b41fe2c3 73892000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7390
7391 * editfns.c (Fconstrain_to_field): Check carefully for field
7392 boundaries if either OLD_POS or NEW_POS has a non-nil field
7393 property, even if they're the same.
7394
c412cb7b
KH
73952000-10-16 Kenichi Handa <handa@etl.go.jp>
7396
7397 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7398 height for XFillRectangle.
7399
5586f3eb
SM
74002000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7401
7402 * syntax.c (Fstring_to_syntax): New function extracted from
7403 Fmodify_syntax_entry.
7404 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7405 (skip_chars, Fforward_comment): Remove unused variables.
7406 (syms_of_syntax): Add defsubr for string-to-syntax.
7407 (describe_syntax): Add code for comment and string fences.
7408
db785038
SM
74092000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7410
7411 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7412 Do the meta->esc mapping. Call get_keyelt before returning.
7413 Start scanning from the second element (the first is always `keymap')
7414 to make it easier to detect when we reach a parent map.
7415 Handle the case of inheriting from a symbol whose function is a map.
7416 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7417 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7418 (get_keyelt, Flookup_key): Update call to access_keymap.
7419 Remove the meta->esc mappings.
7420 (define_as_prefix): Delete old disabled code.
7421 (menu_item_p): New function.
7422 (where_is_internal_1): Skip over the few remaining menu items.
7423 * lisp.h (access_keymap): Update prototype.
7424 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7425 Update call to access_keymap.
7426 (follow_key, read_key_sequence): Update calls to access_keymap.
7427 Remove the meta->esc mappings.
7428
cafafe0b
GM
74292000-10-13 Gerd Moellmann <gerd@gnu.org>
7430
a2e2a7f6
GM
7431 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7432 with additional argument.
7433
cafafe0b
GM
7434 * xdisp.c (cursor_row_p): New function.
7435 (try_cursor_movement, display_line): Use it.
52283633 7436
cafafe0b
GM
7437 * xdisp.c (append_space): Also save/restore iterator's current
7438 character and its length.
7439
7440 * xdisp.c (init_from_display_pos): Add an assertion.
7441 (handle_stop): Don't set iterator's add_overlay_start.
7442 (handle_invisible_prop): Likewise.
7443 (load_overlay_strings): If text under an overlay is invisible,
7444 take both before- and after-strings into account when the iterator
7445 is positioned either at the start or at the end of the overlay.
7446 (forward_to_next_line_start): Rewritten.
7447 (reseat_at_next_visible_line_start): Rewritten.
7448 (set_iterator_to_next): Add parameter RESEAT_P.
7449
7450 * dispextern.h (struct it): Remove member add_overlay_start.
7451 (set_iterator_to_next): Change prototype.
7452
c744452b
KH
74532000-10-13 Kenichi Handa <handa@etl.go.jp>
7454
7455 * coding.c (code_convert_region): Be sure to initialize
7456 coding->category_idx.
e4a3f4e1
KH
7457 (decode_coding_string): Set coding->src_multibyte and
7458 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7459 (encode_coding_string): Set coding->src_multibyte and
7460 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7461
321fd26f
SM
74622000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7463
7464 * xfns.c (Fx_create_frame): Don't bother calling
7465 face-set-after-frame-default since the caller does it for us anyway.
7466
76832439
EZ
74672000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7468
7469 * window.c (coordinates_in_window): Fix detection of vertical line
7470 on character terminals.
7471
2483cf58
GM
74722000-10-12 Gerd Moellmann <gerd@gnu.org>
7473
7474 * editfns.c (save_excursion_save): Additionally record the
7475 selected window.
7476 (save_excursion_restore): If buffer was visible in a window, and a
7477 different window was selected, and the old selected window is
7478 still live, restore point in that window.
7479
eb991b25
KH
74802000-10-12 Kenichi Handa <handa@etl.go.jp>
7481
8a0eba09
KH
7482 * xterm.c (x_produce_glyphs): Handle
7483 unibyte_display_via_language_environment correctly.
7484
20401fcc
KH
7485 * regex.c (regex_compile): Change the way of handling a range from
7486 unibyte char to multibyte char.
7487
7488 * syntax.c (skip_chars): Change the way of handling a range from
7489 unibyte char to multibyte char.
7490
eb991b25
KH
7491 * process.c (read_process_output): Cancel previous change.
7492
365dd325
EZ
74932000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7494
c1b096cb
EZ
7495 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7496
365dd325
EZ
7497 * charset.c (Ffind_charset_string): Doc fix.
7498 (Ffind_charset_region): Doc fix.
7499
eb483c2b
KH
75002000-10-11 Kenichi Handa <handa@mule.m17n.org>
7501
7502 * process.c (read_process_output): Fix previous change. Adjust
7503 multibyteness of text to insert in a buffer by
52283633 7504 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7505
b40bfb99
AS
75062000-10-10 Andreas Schwab <schwab@suse.de>
7507
7508 * alloc.c (mark_object): Remove all workarounds installed on
7509 1993-08-08.
7510
caff31d4
KH
75112000-10-10 Kenichi Handa <handa@etl.go.jp>
7512
52283633 7513 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7514 (base64_encode_1): Make it work for a text of multibyte form.
7515 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7516 case. Don't call str_to_multibyte because base64_decode_1
7517 produces correct multibyte form for eight-bit codes.
52283633 7518 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7519 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7520 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7521 codes.
7522
7523 * charset.h (CHAR_STRING): Optimized for single byte characters.
7524
cba026ef
AS
75252000-10-09 Andreas Schwab <schwab@suse.de>
7526
7527 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7528 -1 after socket is closed, to fall through to error processing.
7529
1e21fe48
EZ
75302000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7531
7532 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7533 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7534 background-color, change also the colors of the default face for
7535 this frame.
7536
a640322e
EZ
75372000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7538
7539 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7540 them extern (they are defined on xfaces.c).
7541 (syms_of_msdos): Don't intern and don't staticpro
7542 Qbackground_color and Qforeground_color.
7543
a115794c
EZ
75442000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7545
7546 * frame.c (Fframe_parameter): For non-windowed frames, if
7547 f->param_alist says foreground or background color is unspecified,
7548 call tty_color_name to return the color name computed from the
7549 frame's current colors.
7550
f5533b63
DL
75512000-10-06 Dave Love <fx@gnu.org>
7552
7553 * terminfo.c (ospeed): Don't declare.
7554
7555 * sysdep.c: Don't include string.h.
7556 (h_errno): Declare conditional also on TRY_AGAIN.
7557
7558 * charset.c (Ffind_charset_string): Doc fix.
7559
52283633 7560 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7561 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7562 error messages.
7563
2b06561a
DL
75642000-10-05 Dave Love <fx@gnu.org>
7565
7566 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7567 position like menu-bar.
7568
ca839c85
GM
75692000-10-05 Gerd Moellmann <gerd@gnu.org>
7570
7571 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7572
7573 * xdisp.c (handle_single_display_prop): Use safe_call1.
7574 (safe_call): Renamed from call_function.
7575 (safe_call1): New function.
7576 (handle_fontified_prop): Use safe_call1 instead of call1.
7577 (safe_eval): Renamed from eval_form.
7578 (safe_eval_handler): Renamed from eval_handler.
7579 (handle_single_display_prop, display_mode_element): Use safe_eval
7580 instead of eval_form.
7581
7582 * xfaces.c (merge_face_heights): Use safe_call instead of
7583 call_function.
7584
7585 * keyboard.c (show_help_echo): Use safe_call instead of
7586 call_function; use safe_eval instead of eval_form.
7587
7588 * lisp.h (safe_call): Renamed from call_function.
7589 (safe_eval): Renamed from eval_form.
7590 (safe_call1): Add prototype.
7591
a3489ece
MB
75922000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7593
7594 * xfns.c (image_ascent): Rearrange ascent calculation for the
7595 has-a-font case.
7596
35810b6f
SM
75972000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7598
7599 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7600 (where_is_internal_1): Don't bother ignoring menu-items any more.
7601
3dc78168
GM
76022000-10-04 Gerd Moellmann <gerd@gnu.org>
7603
7604 * keyboard.c (update_menu_bindings): New variable.
7605 (parse_menu_item): Use AREF. If update_menu_bindings
7606 is 0, don't update menu bindings.
7607 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7608
1efc2bb9
EZ
76092000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7610
7611 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7612 to `mark_object'.
7613
3f679f55
SM
76142000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7615
7616 * syntax.c (forw_comment): Match nestedness of ender/starter.
7617 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7618 (prev_char_comstart_first): Remove.
7619 (back_comment): Check two-char comment markers more carefully
7620 to better handle overlapping cases like *//* or /* */* */ ...
7621 Match nestedness of ender/starter.
7622
2021ab61
DL
76232000-10-02 Dave Love <fx@gnu.org>
7624
7625 * config.in (HAVE_GAI_STRERROR): Add undef.
7626
7627 * process.c (Fopen_network_stream): Use it.
7628
7629 * m/alpha.h (NO_REMAP): Don't define.
7630
64e6cc18
GM
76312000-10-02 Gerd Moellmann <gerd@gnu.org>
7632
7633 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7634 return with a string converted to an integer or vice versa when
7635 Vmocklisp_arguments is t.
7636 (Fsignal): Likewise. The function can return for `quit'.
7637 (struct gcpro): Declare member `var' to point to a volatile
7638 Lisp_Object.
7639
7640 * eval.c (error): Prevent compiler warning.
7641
b1904cd9
SM
76422000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7643
7644 * keymap.c (keymap_memberp): New function.
7645 (Fset_keymap_parent): Use it.
7646 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7647 Use keymap_memberp to avoid creating cycles.
7648 (access_keymap): Use KEYMAPP.
7649
71c9ec51
GM
76502000-09-30 Gerd Moellmann <gerd@gnu.org>
7651
7652 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7653 gai_strerror. Make sure xerrno is set if connect fails. Improve
7654 error recovery.
71c9ec51 7655
c70c6b58
JR
76562000-09-29 Jason Rumney <jasonr@gnu.org>
7657
7658 * w32term.c (w32_char_font_type, w32_encode_char)
7659 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7660 (w32_bdf_per_char_metric): New function.
7661 (w32_per_char_metric): Use it.
7662 (x_draw_glyph_string_background): Always draw background for BDF
7663 glyphs.
7664
7665 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7666 GDI object which is a scarce resource.
7667
7668 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7669 (get_quoted_string): Fix limit on memchr search.
7670 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7671 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7672 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7673 (get_cached_font_char, cache_char_offset): Use macro
7674 BDF_CODEPOINT_RANGE_COVER_P.
7675 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7676 (clear_cached_bitmap_slots): New function.
7677 (GET_HEX_VALUE): G-Z, g-z are not hex.
7678 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7679 (get_bitmap_with_cache): Use new cache implementation.
7680 (create_offscreen_bitmap): New function.
7681 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7682
7683 * w32term.c (x_produce_glyphs): If the distance from the current
7684 position to the next tab stop is less than a canonical character
7685 width, use the tab stop after that.
7686 (x_draw_glyphs): Handle case START and END are out of bounds more
7687 carefully.
7688 (x_clear_mouse_face): Block/unblock input.
7689 (x_display_and_set_cursor): Don't show a hollow box cursor for
7690 buffers whose cursor_type is nil.
7691
fe01239f
GM
76922000-09-29 Gerd Moellmann <gerd@gnu.org>
7693
52283633 7694 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7695
7696 * dispextern.h (updating_frame): Declare extern.
7697
e7c52f1f
AS
76982000-09-29 Andreas Schwab <schwab@suse.de>
7699
7700 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7701
de6e1f7c
GM
77022000-09-29 Gerd Moellmann <gerd@gnu.org>
7703
25126faa
GM
7704 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7705 use its function definition.
7706 (tool_bar_items): Likewise.
7707
de6e1f7c 7708 * lisp.h (fatal): Declare NO_RETURN.
52283633 7709
454ee39b
KH
77102000-09-29 Kenichi Handa <handa@etl.go.jp>
7711
7712 * keymap.c: Remove the line "#undef NULL".
7713
96301c5f
GM
77142000-09-28 Gerd Moellmann <gerd@gnu.org>
7715
52283633 7716 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7717
efffeeb4
DL
77182000-09-28 Dave Love <fx@gnu.org>
7719
ecb8b666
DL
7720 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7721
dc3cd20f
DL
7722 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7723
7724 * .gdbinit (xreload): Note its need on GNU/Linux.
7725
efffeeb4
DL
7726 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7727 r_alloc, r_alloc_free.
7728
8610d903
KH
77292000-09-28 Kenichi Handa <handa@etl.go.jp>
7730
7731 * syntax.c (skip_chars): Handle negation correctly.
7732
8901d1ac
GM
77332000-09-27 Gerd Moellmann <gerd@gnu.org>
7734
6f22f1ad
GM
7735 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7736 with non-zero FORCE_P argument.
7737
52283633 7738 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7739 Add assertions.
7740
7741 * xdisp.c (window_box_height): Add an assertion.
7742
7743 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7744 tool-bar than is available.
7745 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7746
36f1966f
DL
77472000-09-27 Dave Love <fx@gnu.org>
7748
efffeeb4 7749 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7750
31d929e5
GM
77512000-09-26 Gerd Moellmann <gerd@gnu.org>
7752
c98863bf
GM
7753 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7754 instead of BITS_PER_INT.
7755 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7756 EMACS_UINT, respectively.
7757 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7758
7759 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7760
7761 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7762
77072ab1
GM
7763 * window.c (freeze_window_starts): Construct last argument for
7764 foreach_window differently.
7765
7766 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7767
7768 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7769 EMACS_UINT instead of `int' and `unsigned int'.
7770 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7771
7772 * frame.h (struct frame): Make the `nothing' member of union
7773 output_data an EMACS_INT.
7774
52283633 7775 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7776 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7777 size in the sdata structure.
7778 (SDATA_NBYTES, SDATA_DATA): New macros.
7779 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7780 differently for the different layout of the sdata structure.
7781 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7782 in sdata.
7783 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7784 Check that size recorded in the string size and size recorded in
7785 the sdata structure agree.
7786
3e60b029
DL
77872000-09-25 Dave Love <fx@gnu.org>
7788
7789 * buffer.c: Include stdio.h.
7790
7791 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7792
3e60b029
DL
7793 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7794
7795 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7796 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7797 (__malloc_extra_blocks): Declare as __malloc_size_t.
7798
8ff16b4e
GM
77992000-09-25 Gerd Moellmann <gerd@gnu.org>
7800
755a2ccd
GM
7801 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7802
d8b4516f
GM
7803 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7804 (read_char): If help-echo is showing, preserve the echo area
7805 when redisplaying.
7806
7807 * xdisp.c (help_echo_showing_p): New variable.
7808 (set_message): Reset it to 0.
7809 (init_xdisp): Initialize help_echo_showing_p.
7810
7811 * dispextern.h (help_echo_showing_p): Declare extern.
7812
7813 * config.in: Fix typo in __GNUC_MINOR__.
7814
7815 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7816
b11af2dd
GM
7817 * s/freebsd.h (POSIX_SIGNALS): Define.
7818
8ff16b4e
GM
7819 * xterm.c (x_clear_mouse_face): Block/unblock input.
7820
844eb643
DL
78212000-09-24 Dave Love <fx@gnu.org>
7822
7823 * fns.c (base64_encode_1): Fix last change.
7824
b30ab1b3
GM
78252000-09-22 Gerd Moellmann <gerd@gnu.org>
7826
7827 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7828
7829 * xdisp.c (try_window_reusing_current_matrix): More fixes
7830 for the case window has a header-line.
7831
c6cbe5f0
DL
78322000-09-22 Dave Love <fx@gnu.org>
7833
4c7c1f3f
DL
7834 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7835 a doc string.
7836
7837 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7838
c6cbe5f0
DL
7839 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7840
550a625e
GM
78412000-09-21 Gerd Moellmann <gerd@gnu.org>
7842
4c7c1f3f 7843 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7844 for GCC >= 2.5.
7845
52283633
SM
7846 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7847 Declare NO_RETURN.
fca99116 7848
80d26f99
GM
7849 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7850 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7851 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7852 warnings.
52283633 7853
80d26f99
GM
7854 * marker.c (byte_char_debug_check): Return void.
7855
623a0aae
GM
7856 * xfns.c (Fx_create_frame): Set default frame parameter value
7857 for tool-bar-lines to 1.
7858
7859 * dispnew.c (scrolling_window): Compare y-positions of rows
7860 equal at the start. Some simplification.
7861
7862 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7863 reused rows' y-position in the case window has a header-line, and
7864 new window start is greater than old window start.
7865
42ac0ae5
GM
7866 * process.c (process_sent_to): New variable.
7867 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7868 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7869 Declare more parameters volatile.
7870
550a625e
GM
7871 * lread.c (Vrecursive_load_depth_limit): New variable.
7872 (Fload): Check recursive loads whose recursion depth exceeds
7873 Vrecursive_load_depth_limit.
7874 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7875
8320414c
GM
78762000-09-20 Gerd Moellmann <gerd@gnu.org>
7877
f46c275e
GM
7878 * fileio.c (Fread_file_name): Doc fix.
7879
7880 * editfns.c (Fmessage_or_box): Doc fix.
7881
7882 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7883
b7e11c5b 7884 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7885
8320414c
GM
7886 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7887 symbols are specified, add color translations to the cache.
52283633 7888 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7889 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7890 xpm_cache_color.
7891 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7892 structures to xpm_init_color_cache.
7893
da1608d9
GM
78942000-09-19 Gerd Moellmann <gerd@gnu.org>
7895
52283633 7896 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7897
6badfa25
AI
78982000-09-19 Andrew Innes <andrewi@gnu.org>
7899
7900 * makefile.nt (bootstrap-emacs): Don't change directory.
7901
3a5f42bb
KH
79022000-09-19 Kenichi Handa <handa@etl.go.jp>
7903
1b7649bd
KH
7904 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7905
3a5f42bb
KH
7906 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7907 If output buffer is too small, signal an appropriated error.
7908
9f83cf0b
DL
79092000-09-18 Dave Love <fx@gnu.org>
7910
52283633 7911 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7912 (current_active_maps): Remove redundant get_local_map call.
7913
28c7826c
GM
79142000-09-18 Gerd Moellmann <gerd@gnu.org>
7915
5cefa566
GM
7916 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7917 cursor for buffers whose cursor_type is nil.
52283633 7918
6fed3546
GM
7919 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7920 a feature to implement that is already implemented.
7921 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7922 warnings.
7923
7924 * xfns.c (x_clear_image_1): New function.
7925 (x_clear_image): Use it.
52283633 7926 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7927
05b1f851
GM
7928 * dispnew.c (update_window): Move test for invisible lines
7929 at the top to update_window_line.
7930 (update_window_line): Handle invisible lines here.
7931
f4779de9
GM
7932 * xfns.c (clear_image_cache): Clear current matrices of all
7933 frames sharing an image cache. Block input while freeing
7934 images. Fix timestamp comparison.
7935 (x_clear_image): Also free the mask.
7936
28c7826c
GM
7937 * xfns.c (lookup_image): Block input while loading the image so
7938 that we won't get interrupted in a state where the image isn't yet
7939 set up completely.
7940 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7941 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7942 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7943 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7944
b7412313
GM
79452000-09-16 Gerd Moellmann <gerd@gnu.org>
7946
7947 * dispnew.c (update_window): Make sure to make desired rows
7948 current even if they are completely invisible at the top
7949 of a window.
7950
47e351a3
GM
79512000-09-15 Gerd Moellmann <gerd@gnu.org>
7952
7f8f1edc
GM
7953 * xfns.c (lookup_image): Build mask before applying an algorithm.
7954 Recognize algorithm `disabled'.
7955 (cross_disabled_images): New variable.
7956 (COLOR_INTENSITY): New macro.
7957 (x_detect_edges): Use COLOR_INTENSITY.
7958 (x_disable_image): New function.
7959 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7960
7961 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7962 disabled state, don't apply an image transformation algorithm if
7963 the user specified an image for the disabled state. Use
28c7826c 7964 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7965 user hasn't specified an image.
7966
ebb8f116
GM
7967 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7968 allocation functions with the XPM lib.
7969 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7970 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7971 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7972 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7973 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7974 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7975 functions, if possible, because these handle color allocation
7976 failure more gracefully.
7977 (Fimage_mask_p): New function.
7978
47e351a3
GM
7979 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7980 (Qedge_detection, Qheuristic): New symbols.
7981 (syms_of_xfns): Initialize new symbols.
7982 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7983 `algorithm (edge-detection ...)'.
7984 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7985 (tiff_format, gif_format, gs_format): Add `:mask'.
7986 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7987 (GIF_MASK, GS_MASK): New enumerators.
7988 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7989 (emboss_matrix, laplace_matrix): New variables.
7990 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7991 (x_edge_detection): New functions.
7992 (x_laplace): Rewritten in terms of x_detect_edges.
7993 (x_build_heuristic_mask): If image has a mask, free it.
7994
fe83b953
AI
79952000-09-14 Andrew Innes <andrewi@gnu.org>
7996
7997 * makefile.w32-in: Revert to Unix line endings.
7998
3021e816
AI
79992000-09-14 Andrew Innes <andrewi@gnu.org>
8000
8001 * makefile.w32-in: Standardize indentation somewhat.
8002 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8003 cater for differences between shells.
8004
8005 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8006
2a32b5ea
GM
80072000-09-14 Gerd Moellmann <gerd@gnu.org>
8008
8009 * xterm.c (x_produce_glyphs): If the distance from the current
8010 position to the next tab stop is less than a canonical character
8011 width, use the tab stop after that.
8012
b4331e96
DL
80132000-09-14 Dave Love <fx@gnu.org>
8014
8015 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8016
ef9e4345
GM
80172000-09-14 Gerd Moellmann <gerd@gnu.org>
8018
085536c2
GM
8019 * xdisp.c (handle_fontified_prop): While running fontification
8020 functions, bind `fontification-functions' and
8021 `after-change-functions' to nil.
8022
ef9e4345
GM
8023 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8024 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8025
8026 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8027
8028 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8029 USE_MMAP_FOR_BUFFERS.
8030
8031 * insdel.c (make_gap): Use enlarge_buffer_text.
8032
8033 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8034 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8035 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8036 from former r_alloc_* functions in ralloc.c.
52283633 8037 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8038 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8039 (mmap_init) [REL_ALLOC_MMAP]: New function.
8040 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8041 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8042 BUFFER_FREE.
8043
8044 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8045 (enlarge_buffer_text): Add prototype.
8046
8047 * ralloc.c: Remove everything having to do with the use of mmap.
8048
f8608968
GM
80492000-09-13 Gerd Moellmann <gerd@gnu.org>
8050
2a494b2d
GM
8051 * sound.c (Fplay_sound): Doc fix.
8052
8c907a56
GM
8053 * keyboard.c: Avoid some more compiler warnings.
8054 (parse_tool_bar_item): Ignore cached key bindings.
8055
f8608968
GM
8056 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8057 and allocation of Lisp data.
8058
6ab70e9a
GM
80592000-09-12 Gerd Moellmann <gerd@gnu.org>
8060
d12d0a9b
GM
8061 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8062 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8063 defaults first.
8064
6ab70e9a
GM
8065 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8066
63c36c3c
KH
80672000-09-12 Miyashita Hisashi <himi@meadowy.org>
8068
8069 * ccl.c: Comment fixed.
8070 (MAX_MAP_SET_LEVEL): Increased to 30.
8071 (PUSH_MAPPING_STACK): Enclose with do-while block.
8072 (POP_MAPPING_STACK): Likewise.
8073 (stack_idx_of_map_multiple): New variable.
8074 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8075 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8076 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8077 (ccl_driver) <CCL_MapSingle>: Likewise.
8078 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8079 with the case where looking up process reaches to the end of
8080 map-set, and call CCL programs as the above change.
8081
7ee3bd7b
GM
80822000-09-11 Gerd Moellmann <gerd@gnu.org>
8083
8ec8a5ec
GM
8084 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8085 that might be clobbered by longjmp.
8086 (check_x_display_info, x_decode_color, create_frame_xic)
8087 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8088 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8089
f74b0705
GM
8090 * lread.c (init_lread): Set Vloads_in_progress to nil.
8091 (Fload): Show list of recursively loaded files, when signaling an
8092 error.
8093
7ee3bd7b
GM
8094 * lread.c (Vloads_in_progress): New variable.
8095 (record_load_unwind): New function.
8096 (Fload): Check for recursive loads.
8097 (syms_of_lread): Initialize Vloads_in_progress.
8098 (read_integer, read1): Avoid some compiler warnings.
8099
8100 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8101 compiler warnings.
8102
974e1e5b
MB
81032000-09-11 Miles Bader <miles@gnu.org>
8104
8105 * editfns.c (Fbuffer_string): Doc fix.
8106
9824c4e3
GM
81072000-09-10 Gerd Moellmann <gerd@gnu.org>
8108
8109 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8110
6a72fdd1
KR
81112000-09-09 Ken Raeburn <raeburn@gnu.org>
8112
8113 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8114 whether to include other header files.
8115
28e6fb66
GM
81162000-09-09 Gerd Moellmann <gerd@gnu.org>
8117
52283633 8118 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8119 by Fmemq as a boolean.
28e6fb66 8120
7f8b6551
SM
81212000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8122
8123 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8124
a8710abf
GM
81252000-09-08 Gerd Moellmann <gerd@gnu.org>
8126
d1a02881
GM
8127 * ralloc.c (mmap_fd): Remove initializer which can make it
8128 read-only in a dumped Emacs.
8129 (mmap_fd_1): New variable.
8130 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8131 restore it from there.
8132 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8133 unconditionally so that mmap_fd can be initialized there.
8134 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8135 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8136 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8137
c454aac1
GM
8138 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8139
8140 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8141 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8142
fc653ef2
GM
8143 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8144
3015eec0
GM
8145 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8146 inheritance.
8147
bfe0ee88
GM
8148 * xdisp.c (try_window_id): When trying to locate cursor in
8149 unchanged rows at the top, handle the case that we can't find it.
8150
a8710abf
GM
8151 * xterm.c (x_draw_glyphs): Handle case START and END are out
8152 of bounds more carefully.
8153
6b7d4ae4
DL
81542000-09-08 Dave Love <fx@gnu.org>
8155
423193c5
DL
8156 * s/sol2.h (REL_ALLOC_MMAP): Define.
8157 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8158
8159 * ralloc.c: Don't include string.h (redundant).
8160 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8161 [!MAP_ANON]: Include fcntl.h.
8162 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8163 (r_alloc, r_re_alloc, r_alloc_free)
8164 (mmap_enlarge, mmap_set_vars): Use it.
8165 (r_alloc_init_fd): New function.
8166 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8167 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8168 malloc type.
8169
8170 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8171 Remove vm-limit.o.
8172
6b7d4ae4
DL
8173 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8174 change to __NetBSD__.
8175
44d31981
KH
81762000-09-08 Kenichi Handa <handa@etl.go.jp>
8177
8178 * search.c (compile_pattern): Check the multibyteness of cached
8179 string and PATTERN.
8180
aad40737
MB
81812000-09-08 Miles Bader <miles@gnu.org>
8182
8183 * xfaces.c (default_face_vector): Function removed.
8184 (Finternal_merge_in_global_face): Restore old global/local
8185 attribute override order. Use inline loop instead of calling
8186 default_face_vector.
8187
91a211b5
GM
81882000-09-07 Gerd Moellmann <gerd@gnu.org>
8189
8190 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8191 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8192 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8193 where necessary, in case POINTER_TYPE is `void'.
8194
03419440
EZ
81952000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8196
8197 * frame.c (make_terminal_frame): Initialize frame foreground and
8198 background colors to unspecified, for the initial instance of an
8199 MSDOS frame.
8200
f46f845b
GM
82012000-09-07 Gerd Moellmann <gerd@gnu.org>
8202
24f76fbf
GM
8203 * ralloc.c (mmap_find): Fix overlap computation.
8204 (mmap_enlarge): Compute nbytes before trying to find an
8205 overlapping region.
8206
f46f845b
GM
8207 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8208 instead of `!='.
8209
8210 * lread.c (syms_of_lread): Change value of regexp
8211 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8212
8213 * xmenu.c (xdialog_show): When looking up the selection in
8214 menu_items, take `quote' boundaries into account; this corresponds
8215 to a nil ITEM in x-popup-dialog.
8216
3c014385
KH
82172000-09-07 Kenichi Handa <handa@etl.go.jp>
8218
fd6f711b
KH
8219 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8220 not 0x81.
8221 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8222
3c014385 8223 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8224 encoding, not decoding. Fix the handling of latin-jisx0201.
8225 Check for the charset katakana-jisx0201 too.
3c014385 8226 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8227 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8228
0da3ecef
GM
82292000-09-07 Gerd Moellmann <gerd@gnu.org>
8230
ab0ee409
GM
8231 * xfaces.c (Vparam_value_alist): New variable.
8232 (syms_of_xfaces): Initialize it.
8233 (Finternal_set_lisp_face_attribute): Avoid more consing.
8234
8235 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8236 specially.
8237 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8238 (Qbackground_mode): New variable.
8239 (syms_of_frame_1): Initialize Qbackground_mode.
8240
8241 * lisp.h (Qdisplay): Declare extern.
1091dd67 8242
0da3ecef
GM
8243 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8244 change face on all frames, and change the default for new frames.
8245
b14654b9
DL
82462000-09-07 Dave Love <fx@gnu.org>
8247
8248 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8249
d24fd56f
KH
82502000-09-07 Kenichi Handa <handa@etl.go.jp>
8251
794f3670
KH
8252 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8253
0fddd0dc
KH
8254 * charset.c: Include composite.h
8255 (lisp_string_width): New function.
8256 (Fstring_width): Call lisp_string_width instead of strwidth.
8257
8258 * Makefile.in (charset.o): Depends on composite.h.
8259
d24fd56f
KH
8260 * process.c (read_process_output): Before inserting the decoded
8261 text in the buffer, adjust the multibyteness.
8262
fa0b693c
GM
82632000-09-06 Gerd Moellmann <gerd@gnu.org>
8264
52283633 8265 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8266 buffer's text buffer is null, map new memory.
8267
0a58f946
GM
8268 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8269 POINTER_TYPE and size_t.
8270 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8271 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8272 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8273 [REL_ALLOC_MMAP]: New macros.
8274 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8275 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8276 [REL_ALLOC_MMAP]: New functions.
8277
8278 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8279 before and after unexec.
8280
8281 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8282 text buffers if necessary.
8283
8284 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8285 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8286 in prototypes.
8287
fa0b693c
GM
8288 * config.in (HAVE_MMAP): Add #undef.
8289
877055f6
GM
82902000-09-05 Gerd Moellmann <gerd@gnu.org>
8291
08ba3862
GM
8292 * frame.c (Qdisplay_type): New variable.
8293 (syms_of_frame_1): Initialize it.
8294 (Fframe_parameter): New function that avoids consing.
8295 (syms_of_frame): Defsubr it.
8296
66ffe51c
GM
8297 * buffer.c (Fother_buffer): Consider buffers as invisible when
8298 they are displayed in a window on an invisible frame.
8299
877055f6
GM
8300 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8301 get-largest-window always return nil.
8302
bb970e67
GM
83032000-09-04 Gerd Moellmann <gerd@gnu.org>
8304
8305 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8306 variable; recognize Emacs 19 elc files.
8307
7a3d0e0e
MB
83082000-09-04 Miles Bader <miles@gnu.org>
8309
8310 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8311 before initially popping up the menu, so the menu doesn't flash
52283633 8312 when the face settings are significantly different from the defaults.
7a3d0e0e 8313
14473664
SM
83142000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8315
8316 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8317 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8318 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8319 (BIT_UNIBYTE): Remove.
8320 (re_match_2_internal): Delete corresponding code and streamline the
8321 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8322 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8323 (re_wctype_t): New type.
8324 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8325 (regex_compile): Use them and fix handling of overly long char classes.
8326
c1174479
AI
83272000-09-03 Andrew Innes <andrewi@gnu.org>
8328
f8803e97
AI
8329 * makefile.w32-in: Change to DOS line endings.
8330
c1174479
AI
8331 * s/ms-w32.h (ORDINARY_LINK): New define.
8332
8333 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8334 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8335
8336 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8337 (distclean): Delete them here instead.
8338
44ef7cf6
AI
8339 * w32proc.c (compare_env): Convert to uppercase for comparison,
8340 not lowercase, to match how the native Windows shell works.
8341
49b3bd82
JR
83422000-09-03 Jason Rumney <jasonr@gnu.org>
8343
8344 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8345 CVS changes the line-ends when checking in/out on DOS/Windows.
8346
8347 * makefile.nt (emacs): Do not change directory to run temacs, as
8348 the load-path is set relative to current directory.
8349
a3d35a39
MB
83502000-09-03 Miles Bader <miles@gnu.org>
8351
8352 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8353
d276b0cf
GM
83542000-09-02 Gerd Moellmann <gerd@gnu.org>
8355
715e84c9
GM
8356 * xdisp.c (redisplay_mode_lines): New function.
8357 (display_mode_lines): Return number of mode lines displayed.
8358 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8359 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8360
8892f40b
GM
8361 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8362 string.h and strings.h.
8363 (index) [HAVE_INDEX]: Add prototype.
8364
d276b0cf
GM
8365 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8366 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8367
8368 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8369 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8370
38404229
GM
83712000-09-01 Gerd Moellmann <gerd@gnu.org>
8372
8373 * lread.c (read1): Accept `?' as symbol constituent, for
8374 compatiblity with XEmacs.
8375
c0f9ea08
SM
83762000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8377
8378 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8379 (struct re_pattern_buffer): Remove newline_anchor.
8380 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8381 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8382 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8383 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8384 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8385 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8386 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8387 Get rid of references to newline_anchor.
8388 (regcomp): Allocate and precompute a fastmap.
8389
8c0f83fe
GM
83902000-08-31 Gerd Moellmann <gerd@gnu.org>
8391
8392 * lread.c (openp): GCPRO local variable `filename'.
8393
4bb91c68
SM
83942000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8395
8396 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8397
8398 * regex.c: Merge some changes from GNU libc. Add prototypes.
8399 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8400 Use memcmp and memcpy instead of bcopy and bcmp.
8401 (init_syntax_once): Use ISALNUM.
8402 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8403 (REG_UNSET_VALUE): Remove. Use NULL instead.
8404 (REG_UNSET, re_match_2_internal): Use NULL.
8405 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8406 New macros.
8407 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8408 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8409 (regex_compile): In handle_interval, return an error rather than try to
8410 unfetch the interval if we can't find the closing brace.
8411 Obey the RE_NO_GNU_OPS syntax bit.
8412 (TOLOWER): New macro.
8413 (regcomp): Use it.
8414 (regexec): Allocate regs.start and regs.end as one block.
8415
5226a931
GM
84162000-08-30 Gerd Moellmann <gerd@gnu.org>
8417
868dd24b
GM
8418 * xdisp.c (echo_area_display): Check display_completed instead
8419 of calling detect_input_pending.
8420
8421 * dispnew.c (update_frame): Only set display_completed here; move
8422 the update_begin and update_end calls here from update_frame_1.
8423 (update_frame_1): Don't set display_completed here, don't call
8424 update_begin/update_end.
8425
5226a931
GM
8426 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8427 instead of store_frame_param.
8428
2a8bd25f
GM
84292000-08-29 Gerd Moellmann <gerd@gnu.org>
8430
8431 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8432 desired window matrix hasn't been displayed, use the current row
8433 instead. Make sure that only those frame rows are updated for
8434 which there exists a corresponding enabled desired row.
52283633 8435
ba3478d9
MB
84362000-08-29 Miles Bader <miles@gnu.org>
8437
8438 * xfaces.c (default_face_vector): New function.
8439 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8440
87d0f685
GM
84412000-08-29 Gerd Moellmann <gerd@gnu.org>
8442
8443 * lread.c (openp): Prevent temporary string passed to
8444 Ffile_readable_p from being garbage collected.
8445
6fa86045
DL
84462000-08-28 Dave Love <fx@gnu.org>
8447
8448 * keymap.c (store_in_keymap): Add `static' to declaration.
8449
bb17930d
GM
84502000-08-28 Gerd Moellmann <gerd@gnu.org>
8451
8452 * emacs.c, callint.c, doc.c, editfns.c
8453 (toplevel) [HAVE_STRING_H]: Include string.h.
8454 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8455 (index): Remove prototypes which might conflict with non-standard
8456 definitions of index/strchr.
8457
8458 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8459 (rindex): Define only if !HAVE_RINDEX.
8460
8461 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8462
8463 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8464
87188200
MB
84652000-08-28 Miles Bader <miles@gnu.org>
8466
8467 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8468 made inconsistent by a font-related attribute in FROM.
8469 (merge_face_inheritance): Add function comment.
8470
41a68aef
KH
84712000-08-28 Kenichi Handa <handa@etl.go.jp>
8472
8473 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8474 the 4th arg (PREV_EVENT) Qt to suppress input method.
8475
f7c436c1
SM
84762000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8477
0b32bf0e
SM
8478 * regex.c: Indent cpp directives and remove parens after `defined'.
8479 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8480 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8481 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8482 (re_compile_pattern): Use size_t for length.
8483 (init_syntax_once): Move to a better place.
8484 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8485 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8486
f7c436c1
SM
8487 * syntax.c (back_comment): Detect cases where a comment-starter is
8488 actually inside another comment as in: /* a // b */ c // d \n.
8489 Make it clear that `comstart_pos' is unused for nested comments.
8490
8491 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8492 (KEYMAPP): New macro.
8493 (Fkeymap_parent, Fset_keymap_parent): Use it.
8494 (fix_submap_inheritance): Mark it static.
8495 (define_as_prefix, describe_buffer_bindings, describe_command)
8496 (describe_translation, describe_map): Complete prototypes.
8497
8498 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8499
8500 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8501 to better match the key-lookup behavior.
8502
6288c62f
GM
85032000-08-27 Gerd Moellmann <gerd@gnu.org>
8504
8505 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8506 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8507
e931344e
EZ
85082000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8509
8510 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8511 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8512 (xterm.o): Depend on coding.h
8513
d10dfeef
KH
85142000-08-26 Kenichi Handa <handa@etl.go.jp>
8515
8516 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8517 the corresponding '#endif'.
8518
2d73e8d3
MB
85192000-08-26 Miles Bader <miles@gnu.org>
8520
8521 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8522 * xfaces.c (QCinherit): New variable.
8523 (syms_of_xfaces): Initialize it.
8524 (LFACE_INHERIT): New macro.
8525 (Finternal_get_lisp_face_attribute)
52283633 8526 (merge_face_vector_with_property)
2d73e8d3
MB
8527 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8528 (check_lface_attrs): Allow new types of face height. Check
8529 inherit attribute.
8530 (CYCLE_CHECK): New macro.
8531 (merge_face_inheritance): New function.
8532 (merge_face_vectors): Merge inherited faces too. Add F and
8533 CYCLE_CHECK arguments.
8534 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8535 (lookup_named_face, lookup_derived_face, realize_named_face)
8536 (face_at_string_position, face_at_buffer_position): Supply
8537 new F and CYCLE_CHECK arguments to merge_face_vectors.
8538 (merge_face_heights): New function.
52283633 8539 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8540 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8541 handle relative face heights.
8542 (lface_same_font_attributes_p): Compare heights using EQ.
8543
6ce974d4
KH
85442000-08-26 Kenichi Handa <handa@etl.go.jp>
8545
8546 * charset.c (char_to_string): Check the character validity.
52283633 8547 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8548
dc1e502d
SM
85492000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8550
8551 * regex.c (PUSH_FAILURE_COUNT): New macro.
8552 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8553 Handle popping of a register's or a counter's data.
8554 (POP_FAILURE_POINT): Use the new name.
8555 (re_match_2_internal): Push counter data on the stack for succeed_n,
8556 jump_n and set_number_at and remove misleading dead code in succeed_n.
8557
bd9d0f3f
GM
85582000-08-25 Gerd Moellmann <gerd@gnu.org>
8559
8560 * xdisp.c (redisplay_internal): If considering all windows on all
8561 frames, update the display for each frame as soon as possible,
8562 instead of first building all desired matrices for all frames, and
8563 then updating them all.
8564 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8565
aa5b8e15
GM
85662000-08-24 Gerd Moellmann <gerd@gnu.org>
8567
17494071
GM
8568 * bytecode.c (mark_byte_stack): Add a comment.
8569
52283633
SM
8570 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8571 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8572 a graphical frame.
8573
c543db81
KH
85742000-08-24 Kenichi Handa <handa@etl.go.jp>
8575
d246d5f5
KH
8576 * minibuf.c (do_completion): Always use compare-string, not
8577 string-equal because the latter doesn't pay attention to
8578 multibyteness of strings.
8579
c543db81
KH
8580 * process.c (create_process): Don't setup raw-text coding here.
8581 (Fopen_network_stream): Don't set coding->src_multibyte and
8582 coding->dst_multibyte here.
8583 (read_process_output): For process filter, return unibyte string
8584 if default-enable-multibyte-characters is nil.
8585 (send_process): If OBJECT is multibyte text, be sure to encoded it
8586 by the specified coding system for the process. Otherwise, setup
8587 raw-text coding.
52283633 8588 (init_process): Don't initialize default-process-coding-system here.
c543db81 8589
9b47cfe0
EZ
85902000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8591
8592 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8593 <scroll-down-aggressively>: Likewise.
8594
f5a36960
KH
85952000-08-23 Kenichi Handa <handa@etl.go.jp>
8596
8597 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8598 zero. Set coding->produced_char correctly.
8599
69a7ffa7
AI
86002000-08-22 Andrew Innes <andrewi@gnu.org>
8601
8602 * makefile.w32-in: New file.
8603
8604 * unexw32.c (unexec): Ignore old_name, and use the actual location
8605 of the current executable instead. Base new_name on this.
8606
8607 * w32proc.c (create_child): Remove reference to security
8608 descriptor, which isn't needed and doesn't compile with mingw32.
8609
8610 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8611 up dllimport attributes.
8612 (x_update_window_end): Update prototype.
8613
8614 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8615 extern, which screws up dllimport attributes.
8616
8617 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8618 up dllimport attributes.
8619
8620 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8621 screws up dllimport attributes.
8622
8623 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8624 up dllimport attributes.
8625 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8626 screws up dllimport attributes.
8627
8628 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8629 up dllimport attributes.
8630
8631 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8632 screws up dllimport attributes.
8633
8634 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8635 screws up dllimport attributes.
8636
8637 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8638 up dllimport attributes.
8639
8640 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8641 unnecessary extern, which screws up dllimport attributes.
8642 (main): Ditto.
8643
8644 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8645 up dllimport attributes.
8646
8647 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8648 unnecessary extern, which screws up dllimport attributes.
8649
8650 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8651 screws up dllimport attributes.
8652
8653 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8654 up dllimport attributes.
8655
8656 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8657
52283633
SM
8658 * w32bdf.c (search_file_line):
8659 (set_bdf_font_info):
8660 (seek_char):
8661 (w32_get_bdf_glyph):
69a7ffa7
AI
8662 (w32_BDF_to_x_font): Fix compile warnings.
8663
52283633 8664 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8665
8666 * w32select.c: Include keyboard.h before frame.h.
8667
8668 * w32fns.c (max): Define macro.
8669 (JOHAB_CHARSET): Define if not known.
8670 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8671 (Fx_show_tip): Synch with X version.
8672
8673 * w32xfns.c: Include keyboard.h before frame.h.
8674
8675 * w32fns.c: Include keyboard.h before frame.h.
8676
8677 * w32term.c: Include keyboard.h before frame.h.
8678
8679 * fontset.c: Include keyboard.h before frame.h.
8680
8681 * w32inevt.c: Include keyboard.h before frame.h.
8682 (MOUSE_MOVED): Define if not known.
8683
8684 * minibuf.c: Include keyboard.h before frame.h.
8685
8686 * keyboard.c: Include keyboard.h before frame.h.
8687
8688 * indent.c: Include keyboard.h before frame.h.
8689
8690 * dispnew.c: Include keyboard.h before frame.h.
8691
8692 * buffer.c: Include keyboard.h before frame.h.
8693
8694 * alloc.c: Include keyboard.h before frame.h.
8695
8696 * print.c: Include keyboard.h before frame.h.
8697
8698 * process.c: Include keyboard.h before frame.h.
8699
8700 * scroll.c: Include keyboard.h before frame.h.
8701
8702 * sysdep.c: Include keyboard.h before frame.h.
8703
8704 * term.c: Include keyboard.h before frame.h.
8705
8706 * window.c: Include keyboard.h before frame.h.
8707
8708 * xdisp.c: Include keyboard.h before frame.h.
8709 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8710
8711 * frame.c: Include keyboard.h before frame.h.
8712
8713 * w32heap.h: Undefine min, max.
8714
8715 * w32gui.h: Undefine min, max.
8716
8717 * unexw32.c: Change PUCHAR to PCHAR.
8718 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8719 (relocate_offset):
8720 (get_section_info):
69a7ffa7
AI
8721 (copy_executable_and_dump_data): Remove unnecessary static defs.
8722 (copy_executable_and_dump_data): Fix compile warnings.
8723
8724 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8725
8726 * w32console.c (min): Define macro.
8727 (clear_frame, write_glyphs): Fix compile warning.
8728
52283633 8729 * w32proc.c (compare_env):
69a7ffa7
AI
8730 (find_child_console): Fix compile warning.
8731
8732 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8733 sys_errlist instead of _sys_errlist.
8734 (get_emacs_configuration_options): New function.
8735
8736 * s/ms-w32.h (sys_nerr): Provide default definition.
8737 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8738 name with _ prepended.
8739 (NSIG): Define if not known.
8740 (get_emacs_configuration): Provide extern declaration.
8741 (get_emacs_configuration_options): Provide extern declaration.
8742 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8743
8744 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8745 (map_w32_filename):
69a7ffa7
AI
8746 (read_unc_volume): Fix compile warning.
8747
8748 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8749 definitions from being used.
8750
8751 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8752
52283633 8753 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8754 (open_unc_volume): Make arg const.
8755
8756 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8757 (read_input_waiting): Remove excess parameter.
8758
8759 * w32.c (init_environment): Call _access.
8760 (check_windows_init_file): Call _close.
8761 (init_user_info): Call _putenv.
8762 (init_environment): Call _putenv and _strdup.
8763 (init_ntproc): Reset volume info cache on startup.
8764
8765 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8766 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8767 cannot override the CRT malloc.
8768
8769 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8770 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8771
8772 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8773 unless we are linking with a static CRT.
8774 (RVA_TO_PTR): Cast result to unsigned char*.
8775
8776 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8777 (add_volume_info): Use xstrdup.
8778
25060080
SM
87792000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8780
8781 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8782 (do_completion, Fminibuffer_complete_word): Use it.
8783 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8784 var so it can take non-boolean values.
8785
6917e6bb
GM
87862000-08-21 Gerd Moellmann <gerd@gnu.org>
8787
acb7cc89 8788 * editfns.c (find_field): Formatting changes.
52283633 8789 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8790 changed to prototypes, some new protypes added, some functions
8791 made static.
8792
8793 * lisp.h (set_time_zone_rule): Add prototype.
8794 (use_dialog_box): External declaration.
8795
0bbfdc25
GM
8796 * keyboard.c (gen_help_event): Add parameter SIZE.
8797 (kbd_buffer_events_waiting): Slightly rewritten.
8798 (clear_event): New function.
8799 (kbd_buffer_get_event): Use it, and clear the input_events of
8800 HELP_EVENTs.
8801 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8802 don't fill the newly created array with nils.
8803 (toplevel): Convert some old-style function forward declarations
8804 to prototypes.
8805
8806 * keyboard.h (gen_help_event): Change prototype.
8807
8808 * xterm.c (XTread_socket): Change calls to gen_help_event.
8809
8810 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8811
6917e6bb
GM
8812 * eval.c (Fmacroexpand): Doc fix.
8813
e5cd3d11
JR
88142000-08-20 Jason Rumney <jasonr@gnu.org>
8815
8816 * w32term.h (x_display_info_for_display): Remove as this function
8817 does not exist on W32.
8818
8819 * w32term.c (help_echo_window): New variable.
8820 (syms_of_w32term): staticpro it.
8821 (note_mode_line_highlight): Set it.
8822 (XTextExtents16): Removed as there is no equivalent on W32.
8823 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8824 the X way of doing this will not work for W32.
8825 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8826 (x_draw_image_foreground): Avoid drawing outside of the clip area
8827 when image doesn't have a mask.
8828 (note_mouse_highlight): Process overlays in the right order of
8829 priority. Set help_echo_window.
8830 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8831 because that's more visible for large images.
8832
8833 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8834 name to single_keymap_panes.
8835 (w32_menu_show): Set wv->title when dealing with titles.
8836 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8837
6e69ab8c
MB
88382000-08-21 Miles Bader <miles@gnu.org>
8839
8840 * minibuf.c (do_completion): Try again if we rewrite the input
8841 string, but no completion was done, so that any completion message
8842 will be correct.
8843
511bd4eb
GM
88442000-08-20 Gerd Moellmann <gerd@gnu.org>
8845
8846 * xfaces.c (lface_equal_p): Compare strings differently.
8847 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8848 (realize_tty_face): Use them.
8849 (syms_of_xfaces): Initialize new variables.
8850 (map_tty_color): New function, extracted from realize_tty_face.
8851 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8852 foreground or background color, store the new color name in the
8853 realized face; previous code trying to do this had no effect.
8854 (realize_tty_face): Use map_tty_color.
8855 (Fclear_face_cache): Set face_change_count and ensure thorough
8856 redisplay.
8857
1433385f
GM
88582000-08-19 Gerd Moellmann <gerd@gnu.org>
8859
511bd4eb
GM
8860 * undo.c (record_first_change, record_marker_adjustment): Don't
8861 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8862
419ac0a2
KH
88632000-08-18 Kenichi Handa <handa@etl.go.jp>
8864
8865 * coding.c (decode_coding_string): Set members consumed,
8866 consumed_char, produced, produced_char of *coding correctly. If
8867 decode_coding doesn't consume any byte, don't try anymore.
8868 (encode_coding_string): Likewise.
8869
7eb9e30d
GM
88702000-08-18 Gerd Moellmann <gerd@gnu.org>
8871
511bd4eb
GM
8872 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8873 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8874
8875 * xdisp.c (redisplay_internal): Compare windows for equality with
8876 EQ, instead of applying XWINDOW to something that might not
8877 be a window.
52283633 8878
dd34a735
KH
88792000-08-18 Kenichi Handa <handa@etl.go.jp>
8880
8881 * fontset.c (Finternal_char_font): Search only the selected frame
8882 for a window of the current buffer.
8883
385ff9e3
GM
88842000-08-18 Gerd Moellmann <gerd@gnu.org>
8885
511bd4eb 8886 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8887 Lisp_Objects.
8888
385ff9e3
GM
8889 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8890 second half of a HELP_EVENT is found at the start of kbd_buffer.
8891
d6abb4c7
MB
88922000-08-18 Miles Bader <miles@gnu.org>
8893
4618074a
MB
8894 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8895
d6abb4c7
MB
8896 * editfns.c (save_restriction_save): Rewrite to use markers.
8897 (save_restriction_restore): Rewrite to understand new form of data
8898 saved by save_restriction_save.
8899 (Fsave_restriction): Remove cautionary note in doc-string.
8900
a7b28523
GM
89012000-08-17 Gerd Moellmann <gerd@gnu.org>
8902
8903 * fileio.c (build_annotations): Add a comment explaining the
8904 return value of format-annotate-function. Replace a spurious call
8905 to Flength with a CONSP test. Call format-annotate-function with
8906 a fifth arg specifying how many times the function is been called
8907 in a row, to let it choose temporary buffers appropriately.
8908
03c9ed77
DL
89092000-08-17 Dave Love <fx@gnu.org>
8910
8911 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8912 declare make_temp_name twice.
8913
52283633 8914 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8915 (unreadpure): Give it an arg.
8916
8917 * unexalpha.c: Prototype fatal_unexec, mark_x,
8918 update_dynamic_symbols. Declare unexec as void.
8919
8920 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8921 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8922
8923 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8924 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8925
8926 * alloca.c: Use #error.
8927 [POINTER_TYPE]: Use it.
8928
8929 * eval.c (Fdefvar): Doc fix.
8930
8931 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8932 INITIALIZE_INTERVAL.
8933
8934 * buffer.h: Avoid DECLARE_INTERVALS.
8935
8936 * config.in: Add size_t.
8937
aae41d97
EZ
89382000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8939
8940 * w16select.c (set_clipboard_data): If there's not enough memory
8941 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8942 expects. In case of other failures, return 3.
8943 (system_error_msg): New error message.
8944 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8945 system_error_msg.
8946
65aa5e85
GM
89472000-08-16 Gerd Moellmann <gerd@gnu.org>
8948
8949 * term.c (write_glyphs): Also turn off inverse video after turning
8950 off other appearances in case TS_exit_attribute_mode is not equal
8951 to TS_end_standout_mode.
8952 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8953 with the same face.
8954 (turn_off_face): Reset standout_mode only if
8955 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8956 is equal to TS_end_standout_mode.
8957
ece23901
KH
89582000-08-16 Kenichi Handa <handa@etl.go.jp>
8959
9d7bcb2e
KH
8960 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8961 sequence at the end of the source block.
8962
ece23901
KH
8963 * ccl.c (Fccl_program_p): Docstring modified.
8964 (Fccl_execute): Likewise.
8965 (Fccl_execute_on_string): Likewise.
8966
5e30eaa2
EZ
89672000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8968
8969 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8970
290602fd
KH
89712000-08-16 Kenichi Handa <handa@etl.go.jp>
8972
8973 The following changes are mainly to fix bugs of
8974 encode/decode-coding-string failing if encoding/decoding return
8975 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8976 variable conversion_buffer.
8977
8978 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8979 decrement dst_end to avoid buffer overflow in the later call of
8980 string_as_multibyte
8981
8982 * coding.h (conversion_buffer_size, conversion_buffer)
8983 (get_conversion_buffer): Extern deleted.
8984
8985 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8986 (conversion_buffer, conversion_buffer_size): Variables deleted.
8987 (get_conversion_buffer): Function deleted.
8988 (struct conversion_buffer): New structure.
8989 (MAX_ALLOCA): New macro.
8990 (allocate_conversion_buffer): New macro.
8991 (extend_conversion_buffer, free_conversion_buffer): New functions.
8992 (ccl_coding_driver): Set coding->result.
8993 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8994 this is the last block of source.
8995 (encode_coding): Likewise. Handle the source block as the last
8996 one only when the whole source text is consumed.
8997 (decode_coding_string): Handle the case that the output buffer is
8998 too small to decode the whole source text. Use
8999 allocate_conversion_buffer, extend_conversion_buffer and
9000 free_conversion_buffer, not get_conversion_buffer.
9001 (encode_coding_string): Likewise.
9002 (init_coding): Function deleted.
52283633 9003 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9004
9005 * emacs.c (main): Don't call init_coding.
9006
52283633 9007 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9008
9009 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9010 (insert_glyphs): Likewise.
9011
9012 * w32console.c (write_glyphs): Use a locally declared
9013 conversion_buffer.
9014
b9f80d41
EZ
90152000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9016
9017 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9018 member of display_info is NULL.
9019
32dc52f7
GM
90202000-08-15 Gerd Moellmann <gerd@gnu.org>
9021
52283633 9022 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9023
32dc52f7 9024 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9025 appearances with capability `me'.
32dc52f7
GM
9026 (write_glyphs): Switch on inverse video before each face change.
9027
4eb22d33
DL
90282000-08-14 Dave Love <fx@gnu.org>
9029
9030 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9031 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9032 (lisp_free): Declare and make static.
9033
9034 * window.c: Fix embedded comment.
9035 (syms_of_window): Fix doc string.
9036
90cbf47e
GM
90372000-08-14 Gerd Moellmann <gerd@gnu.org>
9038
52283633 9039 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9040 make sure to print `C-' before `M-', like in the manual.
9041
440fc135
GM
90422000-08-11 Gerd Moellmann <gerd@gnu.org>
9043
9044 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9045 since they aren't relocated anymore.
52283633 9046 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9047
9048 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9049 partially visible line which is smaller than the window's height.
440fc135 9050
6e264fad
KH
90512000-08-11 Kenichi Handa <handa@etl.go.jp>
9052
9053 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9054 the multibyte form of eight-bit-control characters.
6e264fad
KH
9055 (Fccl_execute_on_string): Initialize ccl->multibyte.
9056
9057 * ccl.h (struct ccl_program): New member multibyte.
9058
9059 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9060
c371f69a
KH
90612000-08-11 Kenichi Handa <handa@etl.go.jp>
9062
9063 * regex.c (regex_compile) <normal_char>: Pay attention to
9064 multibyteness.
9065 (analyse_first) <exactn>: Setup fastmap correctly for
9066 eight-bit-control characters.
9067
90682000-08-11 Kenichi Handa <handa@etl.go.jp>
9069
52283633 9070 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9071
9072 * keyboard.c (make_lispy_event): Handle the new event type
9073 multibyte_char_keystroke.
9074
9075 * xterm.c: Include coding.h.
9076 (XTread_socket): Work around a bug of XmbLookupString. If the
9077 input is from XIM, decode it according to the current locale. In
9078 that case, generate multibyte_char_keystroke events.
9079
b8ddbe71
KH
90802000-08-11 Kenichi Handa <handa@etl.go.jp>
9081
9082 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9083 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9084
47589c8c
GM
90852000-08-10 Gerd Moellmann <gerd@gnu.org>
9086
9087 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9088 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9089 (move_it_in_display_line_to): Record iterator's ascent and descent
9090 before producing glyphs, and restore them when we know the glyph
9091 doesn't fit on the line.
9092 (move_it_to): Restructured so that it's easier to debug. If
9093 moving to a vpos, and not moving to an x or character position,
9094 stop as soon as the specified vpos is reached; don't move further
9095 into that line because that might change the computed line height.
9096 (try_cursor_movement): New function, extracted from the cursor
9097 movement branch of redisplay_window. If ending on a partially
9098 visible line, don't try to scroll if the cursor line is taller
9099 than the window.
9100 (redisplay_window): Use try_cursor_movement.
9101
9102 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9103 because that function doesn't cope with variable-height lines.
9104
9105 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9106 box cursor because that's better visible for large images.
52283633 9107
c51bacd6
MB
91082000-08-10 Miles Bader <miles@gnu.org>
9109
9110 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9111
bea56df7
GM
91122000-08-10 Gerd Moellmann <gerd@gnu.org>
9113
9114 * xdisp.c (Vmessages_buffer_name): New variable.
9115 (message_dolog): Use it.
9116 (syms_of_xdisp): Initialize it.
9117
99cd7364
EZ
91182000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9119
52283633 9120 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9121 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9122 redundant now that keyboard.h is included.
9123
7d093d56
EZ
91242000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9125
9126 * keyboard.c (kbd_buffer_events_waiting): New function.
9127
9128 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9129
9130 * msdos.c: Include keyboard.h.
9131 (XMenuActivate): Empty no_event events from the event buffer. If
9132 no events are left after that, call clear_input_pending.
9133 (mouse_clear_clicks): New function, code moved from mouse_init.
9134 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9135 mouse driver to ``forget'' any past clicks.
9136
9137 * Makefile.in (msdos.o): Depend on keyboard.h.
9138
41e757a6
GM
91392000-08-09 Gerd Moellmann <gerd@gnu.org>
9140
8e7bd231
GM
9141 * lisp.h (input_pending): External declaration.
9142
9143 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9144
8e7bd231
GM
9145 * xdisp.c (echo_area_display): Display thoroughly if input is
9146 pending. Bind redisplay-dont-pause to t during the redisplay.
9147 in case input is pending.
9148
9149 * dispnew.c (Qredisplay_dont_pause): New variable.
9150 (syms_of_display): Initialize and staticpro it.
9151 (update_frame_1): Don't interrupt the display for pending input if
9152 redisplay_dont_pause is set.
52283633 9153
43028b7e
GM
9154 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9155
41e757a6
GM
9156 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9157
2f2174fa
KH
91582000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9159
9160 * callproc.c (Fcall_process): Terminate the unwind-protect around
9161 the post-read-conversion of coding system.
9162
0a6fd67e
MB
9163 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9164 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9165 * buffer.h (overlays_at): Update prototype.
9166 * xdisp.c (next_overlay_change): Update call to overlays_at.
9167 * xfaces.c (face_at_buffer_position): Likewise.
9168 * textprop.c (Fget_char_property): Likewise.
9169 * xterm.c (note_mouse_highlight): Likewise.
9170
0c80756e
MB
9171 * minibuf.c (do_completion): Don't consider a simple change of
9172 case as `completion'.
9173
975f250a
KR
91742000-08-08 Ken Raeburn <raeburn@gnu.org>
9175
52283633 9176 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9177 * undo.c (record_delete): Make sure last_point_position_buffer is
9178 a buffer before comparing pointers.
9179
9180 * coding.h (decode_coding_string): Declare.
9181
9182 * intervals.h (Fprevious_single_char_property_change): Declare.
9183
9184 * textprop.c (Fprevious_single_char_property_change): Don't do
9185 arithmetic directly on lisp objects.
9186
52283633 9187 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9188
9189 * keyboard.h (menu_item_eval_property): Declare.
9190
9191 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9192 reuse as buffer name, instead of recreating (and discarding) every
9193 time a message is logged.
9194 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9195 (current_message_1, truncate_message_1, set_message_1)
9196 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9197 (current_message, truncate_echo_area, display_echo_area)
9198 (resize_echo_area_axactly): Changed calls.
b347b3fd 9199
975f250a 9200 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9201 Lisp object.
975f250a 9202 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9203 must be an integer, not a Lisp object.
975f250a 9204
46dc9912
KH
92052000-08-08 Kenichi Handa <handa@etl.go.jp>
9206
9207 * charset.c (Fchar_width): Doc fix.
9208
9f6d1a6c
GM
92092000-08-08 Gerd Moellmann <gerd@gnu.org>
9210
9211 * charset.c (Fstring_width): Doc fix.
9212
ff3d9573
GM
92132000-08-07 Gerd Moellmann <gerd@gnu.org>
9214
41e757a6 9215 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9216 line, clear ascent and descent members of the iterator structure;
9217 the height of the continued line does not affect the height of the
9218 continuation line.
9219 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9220 line taller than the window.
9221 (redisplay_window) <forced window start>: Handle case that the
9222 middle of the window is not found in any row.
9223 (dump_glyph_row): Show more information.
9224 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9225 first text line in a glyph matrix.
9226
9227 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9228 of the clip area when image doesn't have a mask.
9229
70fc58b3
GM
9230 * fns.c (sweep_weak_table): Fix survival conditions for
9231 key-or-value and key-and-value weakness.
9232
9233 * .gdbinit (xhashtable): New command.
9234
ac0e96ee
GM
9235 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9236 tables out of the list of all weak hash tables.
9237
ff3d9573
GM
9238 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9239 a new buffer is created, make sure echo_area_buffer[] references
9240 the new buffer.
9241
e0d8827b
EZ
92422000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9243
9244 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9245 the doc string.
9246
c6f35378
KH
92472000-08-07 Kenichi Handa <handa@etl.go.jp>
9248
9249 * syntax.c (skip_chars): Fix previous change. Make the handling
9250 of unibyte string consistent with that of regex search.
9251
1fd4c450
GM
92522000-08-05 Gerd Moellmann <gerd@gnu.org>
9253
e49aa397
GM
9254 * xmenu.c (popup_get_selection): Use xfree instead of free.
9255
9256 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9257
9258 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9259
9260 * callproc.c (child_setup): Use xfree instead of free.
9261
9262 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9263 instead of malloc.
9264 (run_mac_command, closedir): Use `xfree' instead of `free'.
9265
9266 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9267
9268 * eval.c (error): Use xfree instead of free.
9269
1fd4c450
GM
9270 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9271
9272 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9273 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9274
82d497fc
KH
92752000-08-05 Kenichi Handa <handa@etl.go.jp>
9276
9277 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9278 conversion.
9279
59f953a2
NF
92802000-08-04 Noah Friedman <friedman@splode.com>
9281
9282 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9283 docstring.
9284
688351f2
GM
92852000-08-04 Gerd Moellmann <gerd@gnu.org>
9286
9287 * syntax.c (skip_chars): Fix typo in error message.
9288
2dad51cc
AS
92892000-08-04 Andreas Schwab <schwab@suse.de>
9290
9291 * m/ia64.h: Moved from s/ia64.h.
9292
99bb2c60
KH
92932000-08-04 Kenichi Handa <handa@etl.go.jp>
9294
082a1df2
KH
9295 * process.c (read_process_output): Big simplification. Handle
9296 composition and post-read-conversion of coding system correctly.
9297 (send_process): Handle composition correctly.
9298
9299 * callproc.c (Fcall_process): Handle post-read-conversion of
9300 coding system if any.
9301
99bb2c60
KH
9302 * coding.c (decode_coding_iso2022): More strict check for handling
9303 single shifting.
082a1df2
KH
9304 (coding_restore_composition): Pay attention to the case that
9305 cmp_data is not set properly (because of invalid code in the
9306 source text).
9307 (run_pre_post_conversion_on_str): Include text properties in the
9308 resulting string.
9309 (decode_coding_string): Set members of coding correctly.
99bb2c60 9310
f4988be7
GM
93112000-08-03 Gerd Moellmann <gerd@gnu.org>
9312
9313 * s/ia64.h: New file.
9314
9315 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9316 Use NULL instead of 0 at the end of variable argument list of
9317 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9318 sizeof (int) < sizeof (void *).
9319
9320 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9321 of variable argument lists of XtVaGetValues and XtVaSetValues.
9322
9323 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9324 variable argument lists of XtVaGetValues and XtVaSetValues.
9325
ead53494
GM
93262000-08-02 Gerd Moellmann <gerd@gnu.org>
9327
9328 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9329 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9330
9331 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9332 prototype.
9333
9334 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9335 in call to Fsingle_key_description.
9336
9337 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9338 Callers changed.
9339
93402000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9341
9342 * window.c (display_buffer_reuse_frames): New variable.
9343 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9344 frames displaying BUFFER.
52283633 9345 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9346
10b0f752
MB
93472000-08-01 Miles Bader <miles@gnu.org>
9348
9349 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9350 when to constrain NEW_POS (they were pretty screwed up before).
9351
16425c4a
EZ
93522000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9353
9354 * msdos.c (run_msdos_command): Save and restore the master
9355 environment, for the case that child_setup signals an error.
9356 When mirroring slashes in DOS shell commands, don't fail when
9357 argv[2] has embedded blanks.
da288c14
EZ
9358 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9359 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9360 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9361
9362 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9363 using alloca; free it after run_msdos_command returns.
9364
27f73852
DL
93652000-07-27 Dave Love <fx@gnu.org>
9366
52283633
SM
9367 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9368 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9369
9370 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9371
c0261b5e
EZ
93722000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9373
9374 * editfns.c (lisp_time_argument): Fix last change.
9375
b548072f
GM
93762000-07-27 Gerd Moellmann <gerd@gnu.org>
9377
3ab82477
GM
9378 * fns.c (Fdelete): Make it work on vectors and strings in addition
9379 to lists.
9380
b548072f
GM
9381 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9382 (syms_of_fns): Initialize new variables.
52283633 9383 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9384 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9385 weakness, with t meaning the same as `key-and-value'.
9386
91ae8751
KH
93872000-07-27 Kenichi Handa <handa@etl.go.jp>
9388
9389 * coding.h (struct coding_system): Member safe_charset deleted.
9390
9391 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9392 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9393 New variables.
91ae8751
KH
9394 (coding_safe_chars): New function.
9395 (CODING_SAFE_CHAR_P): New macro.
9396 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9397 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9398 (detect_coding_iso2022): New local variable safe_chars.
9399 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9400 safe_charsets member of the coding system.
9401 (decode_coding_iso2022): New local variable safe_chars.
9402 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9403 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9404 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9405 (ENCODE_UNSAFE_CHARACTER): New macro.
9406 (encode_coding_iso2022): New local variable safe_chars. Check
9407 unsafe chars.
9408 (setup_coding_system): Delete the code to initialize
9409 coding->safe_charses
9410 (intersection, find_safe_codings): New functions.
9411 (Ffind_coding_systems_region_internal): New function.
9412 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9413 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9414 variable and initialize it.
9415
9416 * fns.c (char_table_ref_and_index): New function.
9417
9418 * lisp.h (char_table_ref_and_index): Add prototype.
9419
34a7a267
SS
94202000-07-26 Sam Steingold <sds@gnu.org>
9421
9422 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9423 (Ffloat_time): New built-in Lisp function.
34a7a267 9424
a95cb10a
GM
94252000-07-26 Gerd Moellmann <gerd@gnu.org>
9426
3353ef5a
GM
9427 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9428 for the character code.
9429
9430 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9431 GNU/Linux.
9432
a95cb10a
GM
9433 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9434 if called for a popup menu.
9435 (xmenu_show): Store help string in widget values.
9436
b4a12321
DL
94372000-07-26 Dave Love <fx@gnu.org>
9438
9439 * syswait.h: Move some definitions.
9440 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9441 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9442 perspicuous definitions.
9443 (WTERMSIG): Fix bit pattern used.
9444
13f5ad37
KH
94452000-07-26 Kenichi Handa <handa@etl.go.jp>
9446
9447 * print.c (print_object): If vector printing is truncated, print
9448 "..." to indicate it as well as the case of list printing.
9449
070fe99c
GM
94502000-07-25 Gerd Moellmann <gerd@gnu.org>
9451
969065c3
GM
9452 * xdisp.c (next_element_from_display_vector): Improve comments.
9453
9454 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9455 for the character code, and the rest for the face id as in 20.x.
9456 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9457
9458 * window.c (window_display_table): Cleaned up.
9459
070fe99c
GM
9460 * syntax.c (Fforward_word): Add last arg nil in call of
9461 Fconstrain_to_field.
9462
bad77ef7
EZ
94632000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9464
969065c3 9465 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9466 identical but for the letter-case, don't call
9467 barf_or_query_if_file_exists.
bad77ef7 9468
c28da489
MB
94692000-07-25 Miles Bader <miles@gnu.org>
9470
9471 * editfns.c (find_field): Honor special `boundary' fields.
9472 (Qboundary): New variables.
9473 (syms_of_editfns): Initialize Qboundary.
9474 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9475 Use scan_buffer instead of find_before_next_newline, because it
9476 allows us to detect the boundary case where there's a newline at
9477 the search limit.
9478 * lisp.h (Fconstrain_to_field): Update external declaration.
9479
e3c31fd5
GM
94802000-07-24 Gerd Moellmann <gerd@gnu.org>
9481
9482 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9483 if that is nil.
c28da489 9484
c66c29a2
DL
94852000-07-24 Dave Love <fx@gnu.org>
9486
9487 * s/sunos4-0.h, s/sol2.h:
9488 (LIBS_TERMCAP): Move from m/sparc.h.
9489
9490 * m/sparc.h (TERMINFO): Moved to system files (probably only
9491 relevant for sunos4 judging by its vintage).
9492 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9493 __arch64__.
9494
fbe0a958
EZ
94952000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9496
9497 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9498 name to single_keymap_panes.
9499
7d88e5c9
AS
95002000-07-24 Andreas Schwab <schwab@suse.de>
9501
9502 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9503
e024b101
GM
95042000-07-24 Gerd Moellmann <gerd@gnu.org>
9505
9506 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9507 parameters instead of using int parameters. Expect FN to accept
9508 EMACS_INT parameters.
9509 (display_echo_area, resize_echo_area_axactly, current_message)
9510 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9511 with new argument list.
9512 (resize_mini_window_1): New callback function.
9513 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9514 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9515
25c1a9ce
KH
95162000-07-24 Kenichi Handa <handa@etl.go.jp>
9517
9518 * fontset.c (fontset_ref): Remove INLINE declaration.
9519 (fontset_ref_via_base): Likewise.
9520 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9521 to downcase.
9522
7f987ac0
EZ
95232000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9524
9525 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9526 correct order of priority. If help echo was found in an overlay,
9527 use that overlay as the object in which the help echo was found.
9528
e2db3069
MB
95292000-07-22 Miles Bader <miles@gnu.org>
9530
9531 * textprop.c (Fprevious_single_char_property_change): The initial
9532 property value should be from the position preceding POSITION, not
9533 following it.
9534
5e3203e4
EZ
95352000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9536
9537 * coding.c (syms_of_coding): Doc fix for
9538 inhibit-iso-escape-detection.
9539
62145073
GM
95402000-07-21 Gerd Moellmann <gerd@gnu.org>
9541
c20aeb83
GM
9542 * xterm.c (note_mouse_highlight): Process overlays in the right
9543 order of priority.
34a7a267 9544
743934db
GM
9545 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9546
9547 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9548 overlay, use that overlay as the object in which the help was found.
743934db 9549
d1dc7e43 9550 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9551
62145073
GM
9552 * window.c (foreach_window): Instead of a fake variable argument
9553 list, take one USER_DATA argument.
9554 (foreach_window_1): Likewise, and call callback functions with two
9555 args, the window and USER_DATA.
9556 (struct check_window_data): New struct.
9557 (check_window_containing): Use it.
9558 (window_from_coordinates): Set up a struct check_window_data for
9559 foreach_window.
9560 (add_window_to_list, freeze_window_start): Change parameters
9561 according to new calling convention.
9562
9563 * window.h (foreach_window): Change prototype.
9564
9565 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9566
95672000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9568
9569 * xmenu.c (menu_help_callback): Call show_help_echo with
9570 additional arguments OBJECT and POS.
9571
11270583
KH
95722000-07-21 Kenichi Handa <handa@etl.go.jp>
9573
07b14857
KH
9574 * data.c (Faset): Allow storing any multibyte character in a
9575 string. Convert unibyte string to multibyte if necessary.
9576
11270583
KH
9577 * xfns.c (x_encode_text): New function.
9578 (x_set_name): Use x_encode_text.
9579 (x_set_title): Likewise.
9580
9581 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9582
9583 * xterm.h (x_encode_text): Add prototype.
9584
bc75b4fd
DL
95852000-07-20 Dave Love <fx@gnu.org>
9586
9587 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9588 xfree, not free.
9589
48c14970
EZ
95902000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9591
9592 * msdos.c (help_echo_window): New variable.
9593 (syms_of_msdos): Initialize and staticpro it.
9594 (IT_note_mode_line_highlight): Set help_echo_window.
9595 (IT_note_mouse_highlight): Ditto.
9596 (dos_rawgetc): Store help_echo_window in the second event produced
9597 for HELP_EVENTs.
9598
9599 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9600 Record the object that generated the help echo and the position of
9601 that object in help_echo_object and help_echo_pos. Record that
9602 some glyphs in a row are displayed in mouse-face.
9603 (IT_update_begin): Don't clear mouse highlight unless one of the
9604 enabled glyph rows is marked as being displayed in mouse-face.
9605 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9606 and position recorded in help_echo_object and help_echo_pos to the
9607 event queue.
9608 (IT_menu_display): Accept a new argument PN: the pane number of
9609 the current menu pane. Record the pane number and the item
9610 number of the item which has associated help string.
9611 (XMenuActivate): Update the prototype for help_callback in
9612 function declaration. Call IT_menu_display with the current menu
9613 pane number as an additional argument. Call help_callback with
9614 two additional arguments: the pane number and the item number of
9615 the menu item associated with the help text.
9616 (help_echo_object, help_echo_pos): New variables.
9617 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9618
9619 * msdos.h (XMenuActivate): Update prototype.
9620
4279296d
GM
96212000-07-19 Gerd Moellmann <gerd@gnu.org>
9622
47db06aa
GM
9623 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9624 Add some more prototypes.
9625
9626 * xterm.c, xterm.h: Add some more prototypes.
9627
9628 * lisp.h (Fnext_single_char_property_change): Add prototype.
9629
9630 * dispnew.c (direct_output_for_insert): Remove confusing
9631 outer local variable mouse_face_overwritten_p.
9632 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9633
4279296d
GM
9634 * alloc.c (allocate_string_data): Don't copy old string contents.
9635
670acd62
KH
96362000-07-19 Kenichi Handa <handa@etl.go.jp>
9637
9638 * coding.c (code_convert_region): Delete text properties before
9639 shrinking the conversion region.
9640
7cea38bc
GM
96412000-07-18 Gerd Moellmann <gerd@gnu.org>
9642
dc1cac59
GM
9643 * dispnew.c (update_text_area): Write the whole row if it
9644 has mouse-face in it.
9645
85a8aca9
GM
9646 * xfaces.c (face-alternative-font-family-alist): Remove
9647 DEFVAR_LISP; staticpro instead.
9648
34a7a267 9649 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9650 new arguments.
9651
9652 * keyboard.c (show_help_echo): Add parameter WINDOW.
9653 (read_char): Call show_help_echo with window extracted from Lisp
9654 help event.
9655 (gen_help_event): Add parameter WINDOW.
9656
9657 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9658
9659 * xterm.c (help_echo_window): New variable.
52283633 9660 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9661 (XTread_socket): Pass help_echo_window to gen_help_event.
9662 (syms_of_xterm): Initialize and staticpro help_echo_window.
9663
f8276b77
DL
96642000-07-18 Dave Love <fx@gnu.org>
9665
52283633 9666 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9667
088831a6
GM
96682000-07-18 Gerd Moellmann <gerd@gnu.org>
9669
3d6cd763
GM
9670 * alloc.c (allocate_string_data): If string had already data
9671 assigned, copy old contents to new string data.
9672
9673 * coding.c (syms_of_coding): Fix typo in spelling of variable
9674 `inhibit-iso-escape-detection'.
9675
088831a6
GM
9676 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9677
9678 * Makefile.in: Add dependencies on dispextern.h.
9679 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9680 `free'; both can conflict with system header files.
9681
bc8a8d55
KH
96822000-07-18 Kenichi Handa <handa@etl.go.jp>
9683
9684 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9685 undefined.
9686
069f5950
DL
96872000-07-18 Dave Love <fx@gnu.org>
9688
9689 * window.c (Fwindow_list): Declare arg `window'.
9690
aa96c820
KH
96912000-07-18 Kenichi Handa <handa@etl.go.jp>
9692
9693 * coding.c (setup_coding_system): Don't override the explicitly
9694 specified designations.
9695
06be8d32
MB
96962000-07-15 Miles Bader <miles@gnu.org>
9697
9698 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9699 from `text_property_eq' and `text_property_stickiness', respectively.
9700 (find_field, Fconstrain_to_field, char_property_eq)
9701 (char_property_stickiness): Changed to call char-property functions
9702 instead of text-property-only ones.
9703
9704 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9705 `next_single_char_property_change'). Do more error checking, and
9706 cleanup limit behavior.
9707 (Fprevious_single_char_property_change): New function.
9708 (syms_of_textprop): Initialize new subrs.
9709
9710 * xdisp.c (display_prop_end, invisible_text_between_p):
9711 Call Fnext_single_char_property_change instead of
9712 next_single_char_property_change.
9713
3fddcdc3
JR
97142000-07-15 Jason Rumney <jasonr@gnu.org>
9715
9716 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9717 after menu is finished with.
9718 (add_menu_item): Only consider wv->title as a menu title.
9719 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9720
9721 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9722 null title.
9723 (FONT_REGEXP): Remove unused macro, and its sub-components.
9724 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9725
9726 * w32term.c (help_echo_object, help_echo_pos): New variables.
9727 (note_mode_line_highlight): Store additional information about the
9728 help-echo in help_echo_object and help_echo_pos. Check both
9729 `local-map' and `keymap' properties for changing the cursor
9730 (note_mouse_highlight): Store additional information about the
9731 help-echo in help_echo_object and help_echo_pos.
9732 (note_tool_bar_highlight): Set help_echo_object to nil and
9733 help_echo_pos to -1.
9734 (w32_read_socket): Use gen_help_event instead of filling
9735 input_events manually.
9736 (syms_of_w32term): Staticpro help_echo_object.
9737 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9738 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9739 (x_clear_mouse_face): New function.
9740 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9741 (x_update_window_begin): No need to turn off the mouse
9742 highlight here.
9743 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9744 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9745 (x_fill_stretch_glyph_string): Consume runs of stretch
9746 glyphs instead of a single one.
9747 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9748 with new argument list.
9749 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9750 (x_append_glyph, x_append_composite_glyph)
9751 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9752 changes in struct glyph starting 1999-12-27. See comments for
9753 xterm.c on 2000-07-05.
9754
178c5d9c
SS
97552000-07-14 Sam Steingold <sds@gnu.org>
9756
9757 * xfaces.c (realize_x_face): Fix the last patch:
9758 check `default_face' before dereferencing.
9759
6fe533f6
DL
97602000-07-14 Dave Love <fx@gnu.org>
9761
069f5950 9762 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9763
dd7b81cf
KH
97642000-07-14 Kenichi Handa <handa@etl.go.jp>
9765
0693904a 9766 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9767 default_face's fontset, not using the default fontset.
0693904a 9768
dd7b81cf
KH
9769 * coding.c (inhibit_iso_escape_detection): New variable.
9770 (syms_of_coding): Make it a Lisp variable.
9771 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9772 nonzero, ignore ISO2022's escape sequence.
9773
d5aa31d8
GM
97742000-07-14 Gerd Moellmann <gerd@gnu.org>
9775
e5acf0ca
GM
9776 * alloca.c (malloc) [emacs]: Define as xmalloc.
9777
bd23a692
GM
9778 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9779 use that instead of the mouse position. Add parameters DX and DY.
9780
9781 * dispextern.h (Fx_show_tip): Adjust number of parameters
9782 in prototype.
9783
9662da0b
GM
9784 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9785 if HELP is a function, call it with OBJECT and POS as parameters
9786 to get the help to display.
9787 (gen_help_event, kbd_buffer_store_help_event): New functions.
9788 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9789 (read_char): Call show_help_echo with new parameters.
9790
178c5d9c 9791 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9792 Add prototypes.
9793
9794 * xterm.c (help_echo_object, help_echo_pos): New variables.
9795 (note_mode_line_highlight): Store additional information about the
9796 help-echo in help_echo_object and help_echo_pos. Check both
9797 `local-map' and `keymap' properties for changing the cursor
9798 (note_mouse_highlight): Store additional information about the
9799 help-echo in help_echo_object and help_echo_pos.
9800 (note_tool_bar_highlight): Set help_echo_object to nil and
9801 help_echo_pos to -1.
9802 (XTread_socket): Use gen_help_event instead of filling
9803 input_events manually.
9804 (syms_of_xterm): Staticpro help_echo_object.
9805
9806 * xmenu.c (menu_highlight_callback): Use
9807 kbd_buffer_store_help_event instead of setting up and input_event
9808 structure manually.
9809
9810 * xdisp.c (eval_form): GCPRO argument sexpr.
9811 (call_function): New function.
9812 (handle_single_display_prop): Use call_function and FUNCTIONP
9813 instead of checking whether if font_height is a symbol and
9814 using eval_form.
9815
9816 * eval.c (internal_condition_case_2): New function.
9817
9818 * lisp.h (FUNCTIONP): New macro.
9819 (internal_condition_case_2, call_function): Add prototypes.
9820
d5aa31d8
GM
9821 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9822 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9823 Always set `arg' member of input_events.
9824 (construct_menu_click): Unused function removed.
9825
9826 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9827
9828 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9829 (construct_drag_n_drop, x_scroll_bar_handle_click)
9830 (w32_read_socket): Always set `arg' member of input_events.
9831
9832 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9833
9834 * lisp.h (eval_form): Add prototype.
9835
9836 * xdisp.c (eval_form): Make it externally visible.
9837
0f1a9b23
GM
98382000-07-13 Gerd Moellmann <gerd@gnu.org>
9839
9840 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9841 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9842 consing. For prefix events, store the frame in the `arg' slot of
9843 the event, otherwise store the key there.
9844 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9845 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9846
9847 * xmenu.c (menu_highlight_callback): Store help string in the
9848 `arg' member of the input event; don't cons.
9849 (menubar_selection_callback): Use the `arg' slot of input events
9850 to queue additional information, instead of consing.
9851
9852 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9853
9854 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9855 TOOL_BAR_EVENTs.
9856 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9857
9858 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9859 input events to queue additional information, instead of consing.
9860
9861 * keyboard.c (kbd_buffer_gcpro): Renamed from
9862 kbd_buffer_frame_or_window. Now used for all Lisp objects
9863 referenced from the input queue.
9864 (kbd_buffer_store_event): Always use structure assignment for
9865 copying input events. Record all Lisp objects referenced from
9866 events in kbd_buffer_gcpro.
9867 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9868 differently from input events. Test for prefix menu_bar_events
9869 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9870 event in kbd_buffer_gcpro to nil.
9871 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9872 frame_or_window is equal to its arg member as prefix events.
9873 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9874 used by an input event to nil.
9875 (init_keyboard): Use two times the size of the input queue
9876 for kbd_buffer_gcpro.
9877 (syms_of_keyboard): Likewise.
9878
52283633
SM
9879 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9880 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9881
9882 * termhooks.h (struct input_event): Add member `arg'.
9883 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9884 (USER_SIGNAL_EVENT): Renamed from user_signal.
9885
9886 * xfaces.c (ASET): Remove definition.
9887
9888 * lisp.h (AREF, ASET, ASIZE): New macros.
9889
9890 * fontset.c (AREF, ASIZE): Remove definitions.
9891
9892 * fns.c (AREF): Remove definition.
178c5d9c 9893
0f1a9b23
GM
9894 * composite.c (AREF): Remove definition.
9895
712eaef2
GM
98962000-07-12 Gerd Moellmann <gerd@gnu.org>
9897
d8ee7803
GM
9898 * dispnew.c (redraw_overlapped_rows): Add missing local.
9899 (scrolling_window): Remove debug code.
9900
712eaef2
GM
9901 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9902 Before scrolling, turn off a mouse-highlight in the window
9903 being scrolled.
9904
9905 * xterm.c (x_update_window_end): Add parameter
9906 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9907 redisplay in XTframe_up_to_date.
9908 (x_clear_mouse_face): New function.
9909 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9910
9911 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9912 current glyph row.
9913 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9914 it when any row is written to that contains glyphs highlighted in
9915 mouse-face.
9916 (update_window): Call the window update end hook with new
9917 parameter MOUSE_FACE_OVERWRITTEN_P.
9918 (direct_output_for_insert): Give up if row contains mouse-face.
9919
9920 * dispextern.h (struct redisplay_interface): Add parameter
9921 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9922 (clear_mouse_face): New function pointer member.
9923
02010917
SM
99242000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9925
9926 * syntax.c (back_comment): Use one switch rather than a few `if's.
9927 Obey open_paren_in_column_0_is_defun_start.
9928 When reverting to the `slow' method, try to nicely handle the case
9929 of nested comments by checking that the comment-starter we found
9930 does indeed match the comment-ender.
9931 (scan_sexps_forward, scan_sexps_forward):
9932 Ignore excessive opening parenthesis rather than throwing an error.
9933
d76c03ea
GM
99342000-07-11 Gerd Moellmann <gerd@gnu.org>
9935
9936 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9937 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9938
9939 * dispnew.c (direct_output_forward_char): Give up if currently
9940 displaying a message instead of the minibuffer contents.
9941
9942 * xterm.c (x_update_window_begin): No need to turn off the mouse
9943 highlight here.
9944 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9945 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9946
9947 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9948 compare the mouse_face_p flags of both rows.
9949
9950 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9951
d55ead18
EZ
99522000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9953
9954 * keyboard.c (show_help_echo): Accept additional parameter
9955 ok_to_overwrite_keystroke_echo.
9956 (read_char): Call show_help_echo with a zero
9957 ok_to_overwrite_keystroke_echo argument.
52283633 9958 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9959 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9960 ok_to_overwrite_keystroke_echo argument.
9961 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9962 non-zero ok_to_overwrite_keystroke_echo argument.
9963
df75b1a3
GM
99642000-07-10 Gerd Moellmann <gerd@gnu.org>
9965
4b92c49a
GM
9966 * xdisp.c (try_window_id): If changes are all below what is
9967 displayed in the window, and point is in the window, we still
9968 might have to find point on the display.
9969
9970 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9971 glyphs instead of a single one.
9972 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9973 with new argument list.
9974 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9975
df75b1a3
GM
9976 * keymap.c (get_keymap_1): Add comment that this function can GC.
9977 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9978 comment that functions can GC.
9979 (Fset_keymap_parent): GCPRO arg KEYMAP.
9980
4314cf3e
EZ
99812000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9982
9983 * msdos.c (XMenuActivate): After exiting the menu, restore the
9984 echo area message and erase it.
9985
ab49ce15
KH
99862000-07-10 Kenichi Handa <handa@etl.go.jp>
9987
9988 * fontset.c (Ffontset_info): Make the return value more compatible
9989 with that of Emacs 20.
9990
090a072f
GM
99912000-07-07 Gerd Moellmann <gerd@gnu.org>
9992
9993 * eval.c (Fsignal): Handle case that backtrace_list is null.
9994
f92de4a6
KH
99952000-07-07 Kenichi Handa <handa@etl.go.jp>
9996
9997 * ccl.c (Fccl_execute): Typo fixed.
9998
dd8888a1
GM
99992000-07-06 Gerd Moellmann <gerd@gnu.org>
10000
e5c81191 10001 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10002
dd8888a1
GM
10003 * window.c (Fwindow_list): Reverse list at the end.
10004 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10005 means allow windows on OWINDOW's frame, only.
10006 (window_loop): Simplified; use Fwindow_list.
10007
10008 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10009
485266d0
GM
100102000-07-05 Gerd Moellmann <gerd@gnu.org>
10011
10012 * xterm.c (XTread_socket): Increment handling_signal at the start,
10013 decrement it at the end.
10014
10015 * eval.c (handling_signal): New variable.
10016 (Fsignal): Abort if handling_signal is non-zero.
10017
10018 * lisp.h (handling_signal): External declaration.
178c5d9c 10019
485266d0
GM
10020 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10021
80fcd514
KR
100222000-07-05 Ken Raeburn <raeburn@gnu.org>
10023
10024 Sound support for NetBSD through "Linux emulation" support:
10025 * config.in (HAVE_SOUNDCARD_H): Undef.
10026 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10027 * Makefile.in (LIBSOUND): New variable.
10028 (LIBES): Include it.
52283633
SM
10029 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10030 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10031 (vox_open): Use DEFAULT_SOUND_DEVICE.
10032 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10033
d5c5cddd
GM
100342000-07-05 Gerd Moellmann <gerd@gnu.org>
10035
10036 * print.c (print_error_message): If Vsignaling_function is set,
10037 show it in *Messages*.
10038
10039 * lisp.h (Vsignaling_function): External declaration.
10040
10041 * eval.c (Vsignaling_function): New variable.
10042 (Fsignal): Compute it.
10043 (syms_of_eval): Staticpro it.
10044
65171e3a
DL
100452000-07-05 Dave Love <fx@gnu.org>
10046
10047 * syswait.h: Use the autoconf recommended approach. Old code
10048 #if'd out in case we need to revert.
10049
178c5d9c 10050 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10051
e2c46326
AI
100522000-07-05 Andrew Innes <andrewi@gnu.org>
10053
10054 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10055 when non-NULL instead of __morecore, to take account of buffer
10056 memory. This also solves a problem with spurious memory warnings
10057 on Windows.
10058
10059 * ralloc.c: Make real_morecore non-static.
10060
10061 * eval.c (internal_condition_case): Comment out abort if
10062 interrupt_input_blocked is not zero.
10063
10064 * makefile.nt: Add support for `bootstrap' and related targets.
10065 Include minimal debug info in emacs.exe in release build.
10066 Remove all dependencies on lisp.h, and fixup some others.
10067
10068 * w32.c (init_environment): Install code from 20.7 for providing
10069 default values for environment variables, based on the
10070 executable's own location.
52283633 10071 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10072 (sys_socket): Install socket inheritance bug fix from 20.7.
10073
10074 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10075 here via blockinput.h).
10076
a027a91b
SM
100772000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10078
e4b31601
SM
10079 * w32menu.c (w32_menu_display_help):
10080 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10081
10082 * keyboard.h (show_help_echo): Declare.
10083
10084 * keyboard.c (show_help_echo): New function, extracted from read_char.
10085 Feval its `msg' argument if it's a cons cell.
10086 (read_char): Use it.
4cf8d9d5 10087 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10088
178c5d9c 10089 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10090 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10091 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10092 (dos_rawgetc):
10093 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10094 (note_tool_bar_highlight, w32_read_socket):
10095 Do not gratuitously ignore non-string `help-echo' properties.
10096
88d75730
GM
100972000-07-05 Gerd Moellmann <gerd@gnu.org>
10098
969f7e79
GM
10099 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10100
71201b00
GM
10101 * window.c (delete_all_subwindows): Reset Vwindow_list.
10102
88d75730
GM
10103 * xterm.c (x_append_glyph, x_append_composite_glyph)
10104 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10105 changes in struct glyph starting 1999-12-27. Some bit-fields of
10106 struct glyph were not set, which made glyphs unequal when compared
10107 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10108 effects were the result. This also depended on the contents of
10109 memory returned by xmalloc. If flickering happens again, activate
10110 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10111 gone with that, chances are that it is caused by something similar.
88d75730
GM
10112
10113 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10114
88d75730
GM
10115 * dispextern.h: Add some comments.
10116
10117 * window.c (add_window_to_list): Add parameter LIST.
10118 (window_list): Order list so that, for each frame, windows are
10119 in canonical order, and so that frames appear in the list in
10120 the order given by Vframe_list.
10121 (next_window): Reverse the handling of NEXT_P.
10122
53654733
GM
101232000-07-04 Gerd Moellmann <gerd@gnu.org>
10124
87efd256
GM
10125 * window.c (Vwindow_list): New variable.
10126 (make_window, delete_window): Set Vwindow_list to nil.
10127 (check_window_containing): New function.
10128 (window_from_coordinates): Rewritten.
10129 (add_window_to_list, window_list, candidate_window_p)
10130 (decode_next_window_args, next_window): New functions.
52283633 10131 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10132 (Fwindow_list): New function.
10133 (Fother_window): Cleaned up.
10134 (foreach_window): Add a longer "variable argument list". Let
10135 callback function return 0 to indicate that cycling over windows
10136 should stop.
10137 (foreach_window_1): Likewise.
10138 (freeze_window_start): Return int.
10139 (init_window): New function.
10140 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10141
10142 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10143 input_event with bzero.
10144 (main): Call init_window.
10145
53654733
GM
10146 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10147 a menu filter.
10148
4a8c194f
KH
101492000-07-04 Kenichi Handa <handa@etl.go.jp>
10150
10151 * composite.h (make_composition_value_copy): Extern it.
10152
10153 * composite.c (make_composition_value_copy): New function.
10154
10155 * editfns.c (Fformat): While copying text properties, make each
10156 composition property value a copy.
10157
10158 * fns.c (concat): While copying text properties, make each
10159 composition property value a copy.
10160
831a6cb0
GM
101612000-07-03 Gerd Moellmann <gerd@gnu.org>
10162
2f516940
GM
10163 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10164
178c5d9c 10165 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10166 marked already.
10167
831a6cb0
GM
10168 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10169 include those frames as candidates which have their focus
10170 redirected to the minibuffer frame.
10171
d9c4f922
SM
101722000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10173
10174 * fns.c (Fputhash): Return `value' rather than nil.
10175
3780bc22
GM
101762000-06-30 Gerd Moellmann <gerd@gnu.org>
10177
97d176db
GM
10178 * frame.c (next_frame): Don't check focus redirection in case
10179 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10180 unless their focus is redirected, which contradicts the
10181 specification of next-frame, and leads to infinite loops in
10182 certain situations when cycling through windows with next-window.
10183
dca9961d
KH
101842000-06-30 Kenichi Handa <handa@etl.go.jp>
10185
10186 * coding.c (code_convert_region): Even if the length of text is
10187 zero, try to convert it if coding->type is coding_type_ccl.
10188 (decode_coding_string, encode_coding_string): Likewise.
10189
d5483ab1
GM
101902000-06-28 Gerd Moellmann <gerd@gnu.org>
10191
af5c25e1 10192 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10193 the display if windows_or_buffers_changed.
af5c25e1
GM
10194
10195 * dispnew.c (struct row_entry): New structure.
10196 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10197 (row_table_size, old_lines, new_lines, old_lines_size)
10198 (new_lines_size, run_pool, runs_size, runs): New variables.
10199 (add_row_entry): New function.
10200 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10201 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10202 holding them in local variables. Use a larger hash table whose
10203 size depends on glyph matrix sizes. Don't use bzero to clear the
10204 hash table; instead, clear used slots only.
10205
10206 * fns.c (next_almost_prime): Make it externally visible.
10207
10208 * lisp.h (next_almost_prime): Add prototype.
10209
d5483ab1
GM
10210 * s/isc4-0.h (sigunblock): Define.
10211
10212 * s/sco5.h (sigunblock): Define.
10213
93e40f40
DL
102142000-06-27 Dave Love <fx@gnu.org>
10215
10216 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10217 (moved to osf5-0.h).
10218 [!NOT_C_CODE]: Protect string.h stuff.
10219
10220 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10221 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10222
3c4b7685
GM
102232000-06-27 Gerd Moellmann <gerd@gnu.org>
10224
97d176db 10225 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10226 below the last line from the needed window height.
10227
32cad0aa
SM
102282000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10229
10230 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10231 (Fwidget_get): Use it.
10232 (syms_of_fns): Defsubr it.
10233
2c69ced2
GM
102342000-06-26 Gerd Moellmann <gerd@gnu.org>
10235
178c5d9c 10236 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10237 display info for XIM.
10238 (xim_open_dpy): Likewise.
10239 (xim_close_dpy): Don't free the display info's XIM.
10240
10241 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10242
10243 * config.in (USE_XIM): New define.
10244
3fc720e4
GM
10245 * keymap.c (get_keyelt): For menu-items containing a `:filter
10246 FILTER', apply FILTER to the menu-item's definition to get the
10247 real definition to use.
10248
10249 * lisp.h (QCfilter): External declaration.
10250
2c69ced2
GM
10251 * xfns.c (Fimage_size): New function.
10252 (syms_of_xfns): Defsubr it.
10253
f978b2a2
AS
102542000-06-26 Andreas Schwab <schwab@suse.de>
10255
10256 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10257 Fstring_as_unibyte.
10258
94cc7892
DL
102592000-06-25 Dave Love <fx@gnu.org>
10260
52283633 10261 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10262
10263 * Makefile.in (blockinput.h): Depend on atimer.h.
10264 (atimer.h): Depend on systime.h.
10265
52283633 10266 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10267
52283633 10268 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10269
10270 * lisp.h (swap_in_global_binding): Declare.
10271
b8c24556
KR
102722000-06-24 Ken Raeburn <raeburn@gnu.org>
10273
10274 * process.c (Fopen_network_stream): Turn off atimers for duration
10275 of call to connect. (Patch from Gerd.)
10276
8cf8560b
DL
102772000-06-23 Dave Love <fx@gnu.org>
10278
511c7541
DL
10279 * ralloc.c: Maybe include unistd.h
10280
8cf8560b
DL
10281 * emacs.c (setgrp): Undefine before defining.
10282 (malloc_warning, set_time_zone_rule, index): Prototype.
10283
10284 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10285 HAVE_STRUCT_TIMEZONE.
10286
10287 * s/osf1.h: Move string.h hack here from alpha.h and make it
10288 conditional.
10289 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10290 _XOPEN_SOURCE.
10291 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10292 (SOCKLEN_TYPE): Don't define.
10293
10294 * m/alpha.h: Remove string.h hack.
10295
10296 * s/osf5-0.h: New file.
10297
10298 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10299 include time.h, done by systime.h.
10300 [__FreeBSD__]: Remove redundant includes.
10301
3fc720e4 10302 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10303 (delete_temp_file): Return Qnil to avoid warning.
10304
10305 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10306
10307 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10308 HAVE_X_WINDOWS.
10309
10310 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10311
10312 * composite.h (compose_text): Declare.
10313
10314 * xterm.c: Don't include sys/types.h unconditionally. Don't
10315 protect its inclusion with !USG (following xmenu.c).
10316
ea055732
GM
103172000-06-23 Gerd Moellmann <gerd@gnu.org>
10318
10319 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10320 in x_create_frame.
10321
74b01b80
EZ
103222000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10323
10324 * coding.c (decode_eol_post_ccl): Special handling for undecided
10325 and inconsistent EOL types.
10326
64f3a166
GM
103272000-06-22 Gerd Moellmann <gerd@gnu.org>
10328
16cf31f7
GM
10329 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10330 trough color and main window's background color.
10331
52283633 10332 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10333
10334 * xterm.h (Xt_app_con): External declaration.
10335
10336 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10337
486a103d
GM
10338 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10339
64f3a166
GM
10340 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10341 (handle_invisible_prop): Record the start of invisible text in
10342 it->add_overlay_start.
10343 (struct overlay_entry): Add member `overlay'.
10344 (handle_overlay_change): Simplify.
10345 (next_overlay_string): After having processed overlay strings at the
10346 end of the buffer, record that fact in
10347 it->overlay_strings_at_end_processed_p.
10348 (compare_overlay_entries): If before- and after-strings come
10349 from the same overlay, let before-strings come first.
10350 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10351 (load_overlay_strings): Take it->add_overlay_start into account
10352 when adding overlay strings.
10353
10354 * dispextern.h (struct it): Add member add_overlay_start.
10355
bb746ea6
DL
103562000-06-22 Dave Love <fx@gnu.org>
10357
10358 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10359
10360 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10361
a8f573f3
KH
103622000-06-22 Kenichi Handa <handa@etl.go.jp>
10363
10364 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10365 is greater than 0.
10366
9f2bbc92
DL
103672000-06-21 Dave Love <fx@gnu.org>
10368
178c5d9c 10369 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10370
3ee5041c
SM
103712000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10372
10373 * syntax.c (back_comment): Simplify string-parity counting (with
10374 the added benefit of handling multiple string-styles as long as
10375 they are not intertwined).
10376 Jump to the slow code as soon as a comment starter is found in
10377 a "string_lossage" position. Fixes the case: " /* " /* " */.
10378
4c343001
DL
103792000-06-21 Dave Love <fx@gnu.org>
10380
10381 * Makefile.in: Use GETLOADAVG_LIBS.
10382
10383 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10384 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10385
e6365855
SM
103862000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10387
10388 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10389 (Fforward_comment, scan_lists):
10390 Check the comstyle of single-char comment-starters.
10391 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10392 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10393 Check the comstyle of single-char comment-starters.
10394 Clarify control-flow around the Scomment case.
e6365855 10395
5700d2cc
DL
103962000-06-20 Dave Love <fx@gnu.org>
10397
d355bd8a
SM
10398 * fns.c (make_hash_table, maybe_resize_hash_table):
10399 Cast arg of next_almost_prime.
5700d2cc 10400
178c5d9c 10401 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10402
10403 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10404 and unistd.h.
10405
4a27bdfb
GM
104062000-06-20 Gerd Moellmann <gerd@gnu.org>
10407
a61d762c 10408 * keyboard.c (adjust_point_for_property): Check if display
52283633 10409 property should be treated as intangible by looking at its value.
a61d762c 10410
178c5d9c 10411 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10412 (display_prop_intangible_p): New functions.
10413
10414 * dispextern.h (display_prop_intangible_p): Add prototype.
10415
10416 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10417
4a27bdfb
GM
10418 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10419 argument to sigprocmask.
10420
10421 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10422 argument to sigprocmask.
10423
10424 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10425 sigprocmask_set, and pass a pointer to it to sigprocmask.
10426
10427 * sysdep.c (sigprocmask_set): New variable.
10428
10429 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10430 report_file_error.
10431
427ec082
SS
104322000-06-20 Sam Steingold <sds@gnu.org>
10433
10434 * xrdb.c: Don't declare xmalloc, xrealloc.
10435
8972fe79 104362000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10437
10438 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10439 (re_comp): Cast gettext return value to avoid complaints when
10440 !HAVE_LIBINTL.
10441
074b6efe
DL
104422000-06-20 Dave Love <fx@gnu.org>
10443
52283633 10444 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10445
5700d2cc 10446 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10447
d355bd8a 10448 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10449
10450 * m/alpha.h: Don't declare xmalloc, xrealloc.
10451
0af4f205
DL
10452 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10453
10454 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10455
10456 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10457
10458 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10459 HAVE_GETWD.
10460
074b6efe
DL
10461 * keyboard.h (poll_for_input_1): Declare.
10462
10463 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10464
10465 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10466
10467 * doprnt.c: Don't declare xmalloc, xrealloc.
10468
10469 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10470 (getenv, ctime, getwd): Removed.
10471 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10472
10473 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10474 x_set_tool_bar_lines.
10475
10476 * config.in: Add HAVE_GETWD. Move some definitions above
10477 machine/system includes.
10478
68a5e97b
KH
104792000-06-20 Kenichi Handa <handa@etl.go.jp>
10480
95417e1e
KH
10481 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10482
68a5e97b
KH
10483 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10484 contain information about ENCODING.
10485
10486 * fontset.c (FONTSET_ASCII): Use the first element of char table
10487 for an ASCII font, not defalt slot.
10488 (fontset_ref_via_base): If FONTSET doesn't contain information for
10489 C, try the default fontset.
10490 (make_fontset): Don't copy the default fontset.
10491 (fontset_font_pattern): Likewise.
10492 (accumulate_font_info): If ELT is nil, use the corresponding
10493 element in the default fontset.
10494
3b4fa1b2
DL
104952000-06-19 Dave Love <fx@gnu.org>
10496
943e731c
DL
10497 * syntax.c (Fparse_partial_sexp): Doc fix.
10498
10499 * regex.h: Test PROTOTYPES as well as __STDC__.
10500
3b4fa1b2
DL
10501 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10502 errno, strerror. Put text after #endif in comment.
10503
52283633 10504 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10505
10506 * xterm.c (x_frame_of_widget): Likewise.
10507
cdf0357b
GM
105082000-06-19 Gerd Moellmann <gerd@gnu.org>
10509
10510 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10511 to Vfundamental_mode_abbrev_table.
10512
10513 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10514 bogus objects are marked. This slows down GC by ~80 percent, but
10515 it might be worth trying when debugging GC-related problems.
10516 This feature requires conservative stack marking to be enabled.
10517
10518 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10519 returns XLookupChars, reset `modifiers' to zero.
10520
998e9f8c
DL
105212000-06-19 Dave Love <fx@gnu.org>
10522
10523 * mktime.c: Unprotoized.
10524
18e21ce8 105252000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10526
10527 * data.c (set_internal): If variable is frame-local,
10528 store the new value immediately into the frame parameter alist.
10529
140c4ac6
KR
105302000-06-19 Ken Raeburn <raeburn@gnu.org>
10531
14358466
KR
10532 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10533 in the custom handler pointer.
10534
140c4ac6
KR
10535 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10536 value, or checks for CHAR_META can fail when Lisp_Object is a
10537 union type.
10538 * keymap.c (get_keyelt): Likewise.
10539
10d7bf84
KH
105402000-06-19 Kenichi Handa <handa@etl.go.jp>
10541
10542 * ccl.h (struct ccl_program): New member eol_type.
10543 (struct ccl_spec): New member cr_carryover.
10544
10545 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10546 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10547
10548 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10549 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10550 (decode_eol_post_ccl): New function.
10551 (decode_coding): Don't detect EOL format here for CCL based coding
10552 systems.
10553 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10554 decode_eol_post_ccl after running the CCL program.
10555 (code_convert_region): Don't detect EOL format here for CCL based
10556 coding systems.
10557 (decode_coding_string): Likewise.
10558
52e386c2
KR
105592000-06-18 Ken Raeburn <raeburn@gnu.org>
10560
10561 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10562 when treating it as an integer.
10563
10564 * coding.h (encode_coding_string): Declare.
10565
10566 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10567 it as an integer.
10568
10569 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10570 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10571 to be passed to get_local_map.
10572
10573 * sound.c (Fplay_sound): Don't call make_number on
10574 Frun_hook_with_args count argument.
10575
10576 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10577 for lisp objects in X event structure data field, when lisp
10578 objects are represented with unions.
10579 (x_scroll_bar_to_input_event): Ditto.
10580
b357b9d4
KR
105812000-06-16 Ken Raeburn <raeburn@gnu.org>
10582
10583 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10584 termination of string. Fix sense of test whether
10585 Vline_number_display_limit is an integer.
b357b9d4 10586
a871441d
GM
105872000-06-16 Gerd Moellmann <gerd@gnu.org>
10588
a9021acd
GM
10589 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10590 only if HAVE_X_WINDOWS.
10591
6344985d
GM
10592 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10593 of titles.
10594
427ec082 10595 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10596 out of bounds.
10597
228b083e
EZ
105982000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10599
10600 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10601 of its headers.
10602
c25b53a2
KH
106032000-06-15 Kenichi Handa <handa@etl.go.jp>
10604
10605 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10606 start of the while loop.
10607
a6981b11
GM
106082000-06-15 Gerd Moellmann <gerd@gnu.org>
10609
e9924e52
GM
10610 * atimer.c (alarm_signal_handler): Add forward declaration.
10611
a6981b11
GM
10612 * data.c (set_internal): Remove debug code.
10613
25fa6deb
GM
106142000-06-14 Gerd Moellmann <gerd@gnu.org>
10615
dce6b995
GM
10616 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10617
9f817ea4
GM
10618 * unexec.c (toplevel) [COFF]: Include coff.h.
10619
10620 * s/lynxos.h: New file.
10621
10622 * keymap.c (Fsingle_key_description): Enclose function key and
10623 event symbol names in angle brackets.
10624
8a4e3c0c
GM
10625 * xdisp.c (setup_echo_area_for_printing): Call
10626 message_log_maybe_newline if message_buf_print is not set.
10627
10628 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10629 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10630 function does something useful even when message_buf_print is
10631 already set.
10632
52283633
SM
10633 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10634 New variables.
25fa6deb
GM
10635 (ensure_echo_area_buffers): Initialize echo buffer's
10636 truncate lines setting to nil.
10637 (with_echo_area_buffer): Don't set the echo buffer's truncate
10638 lines setting here.
8a4e3c0c 10639 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10640 of message_truncate_lines.
10641 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10642 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10643 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10644
10645 * keyboard.c (read_char): Bind message-truncate-lines to t
10646 while displaying a help-echo.
10647
10648 * lisp.h (Qmessage_truncate_lines): External declaration.
10649
163dcff3
GM
106502000-06-13 Gerd Moellmann <gerd@gnu.org>
10651
1681ead6
GM
10652 * xdisp.c (Vline_number_display_limit): Renamed from
10653 line_number_display_limit.
10654 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10655 Extend documentation string. Initialize
10656 Vline_number_display_limit to nil meaning no limit.
10657 (decode_mode_spec): Use Vline_number_display_limit with its new
10658 meaning.
10659
163dcff3
GM
10660 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10661
18e21ce8 106622000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10663
10664 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10665
163dcff3
GM
10666 * xfns.c (x_set_frame_parameters): Comment fix.
10667
10668 * frame.c (store_frame_param): Call swap_in_global_binding if the
10669 variable's current binding was chosen based on this frame.
10670
10671 * data.c (swap_in_global_binding): New function.
10672
a704139d
EZ
106732000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10674
10675 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10676 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10677
9b6610db
EZ
106782000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10679
10680 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10681
c68833d2
JR
106822000-06-12 Jason Rumney <jasonr@gnu.org>
10683
10684 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10685
10686 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10687
10688 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10689
10690 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10691
ed1056b3
GM
106922000-06-12 Gerd Moellmann <gerd@gnu.org>
10693
10694 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10695 (syms_of_xfaces): Defsubr Sdump_colors.
10696 (x_free_colors): Don't treat b&w specially on default visual.
10697 (x_free_dpy_colors): New function.
10698 (free_face_colors): Don't check visual class; it's done
10699 in x_free_colors.
10700
10701 * xterm.c (x_frame_of_widget): New function.
10702 (x_alloc_nearest_color_for_widget): Use it.
10703 (x_copy_dpy_color): New function.
10704 (x_destroy_window): Free various colors.
10705
5050a2ef
KH
107062000-06-12 Kenichi Handa <handa@etl.go.jp>
10707
10708 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10709
10710 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10711
10712 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10713
10714 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10715
10716 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10717
fb1b041d
DL
107182000-06-11 Dave Love <fx@gnu.org>
10719
10720 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10721
ff96b5f4
EZ
107222000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10723
10724 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10725
db8eeecd
GM
107262000-06-11 Gerd Moellmann <gerd@gnu.org>
10727
ed1056b3 10728 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10729 to `XEvent *'.
10730
49b71c5f
KH
107312000-06-10 Kenichi Handa <handa@etl.go.jp>
10732
c479bd55
KH
10733 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10734 (regex_compile): Fix the code for handling the case of single byte
10735 char and multibyte char being mixed in a range within [...].
10736
ff6a65c2
KH
10737 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10738 and dst_multibyte members of coding.
10739
49b71c5f
KH
10740 * charset.c (update_charset_table): Update the table
10741 bytes_by_char_head.
10742 (init_charset_once): Initialize elements of bytes_by_char_head to
10743 1 except for leading codes for private charases.
10744
10745 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10746 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10747
9e80b57d
KR
107482000-06-09 Ken Raeburn <raeburn@gnu.org>
10749
10750 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10751 access the data it doesn't point to.
10752
f83fe4b4
GM
107532000-06-08 Gerd Moellmann <gerd@gnu.org>
10754
10755 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10756 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10757 event queue. This is necessary because Emacs otherwise won't
10758 perform a switch-frame to a new frame until some other event, for
10759 example a keystroke event, forces it to do so. This has various
10760 effects, one visible being that the cursor of a frame created with
10761 C-x 5 2 or switched to with a window manager key binding like
10762 A-TAB stays hollow because selected_window isn't on the newly
10763 focused frame until the switch-frame is performed.
10764
10765 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10766 generating a switch-frame event if necessary.
10767
10768 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10769
10770 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10771 it's an integer.
10772
0890801b
KH
107732000-06-08 Kenichi Handa <handa@etl.go.jp>
10774
52283633 10775 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10776
173cbca8
GM
107772000-06-07 Gerd Moellmann <gerd@gnu.org>
10778
3091c2a6
GM
10779 * window.c (displayed_window_lines): Take empty lines at
10780 the bottom of a window into account.
427ec082 10781
f38952fe
GM
10782 * window.c (displayed_window_lines): New function.
10783 (Fmove_to_window_line): Use displayed_window_lines to determine
10784 the number of lines to move, instead of using the window's height.
10785
10786 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10787 to stop reading, even if the form read sets point to a different
10788 value when evaluated.
10789
427ec082 10790 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10791 put the cursor.
10792
6ba6c818
KH
107932000-06-07 Kenichi Handa <handa@etl.go.jp>
10794
10795 * fileio.c (e_write): Free composition data if stored in
10796 coding->cmp_data.
10797
5f1aea9a
GM
107982000-06-06 Gerd Moellmann <gerd@gnu.org>
10799
666852af
GM
10800 * xdisp.c (display_line): Set row's and iterator's
10801 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10802 Set cursor even if row ends in the middle of a character.
10803 (dump_glyph_row): Print values of new flags.
10804 (redisplay_window) <cursor movement in unchanged window>: When
10805 point has been moved forward, and PT is at the end of the cursor
10806 row, don't place the cursor in the next row if the cursor row ends
10807 in the middle of a character or at ZV.
10808
10809 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10810 (struct glyph_row): Add starts_in_middle_of_char_p and
10811 ends_in_middle_of_char_p.
10812 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10813 ends_in_middle_of_char_p flag.
10814 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10815
d13f3e2e
GM
10816 * term.c (append_glyph): Revert change of 2000-06-06.
10817
10818 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10819 padding glyph not fitting on line as whole character not
10820 fitting on line.
10821
5f1aea9a
GM
10822 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10823 this isn't true for images with `:ascent 100'.
10824
10cda9b0
KH
108252000-06-06 Kenichi Handa <handa@etl.go.jp>
10826
ed00559d
KH
10827 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10828 as modified if it is originally unmodified.
10829
10cda9b0
KH
10830 * term.c (encode_terminal_code): Change the way to check if
10831 terminal coding does any conversion.
10832 (append_glyph): Set glyph->pixel_width correctly.
10833
10834 * xdisp.c (display_line): While checking line continuation, pay
10835 attention to a padding glyph.
10836
1969fae2
GM
108372000-06-05 Gerd Moellmann <gerd@gnu.org>
10838
10839 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10840
162ccef4
DL
108412000-06-05 Dave Love <fx@gnu.org>
10842
f19f32dd
DL
10843 * xdisp.c: Include fontset.h.
10844
10845 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10846
10847 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10848
10849 * dispnew.c: Conditionally include term.h.
10850
10851 * coding.h: Declare code_convert_string_norecord.
10852
10853 * frame.h (struct frame): Use volatile unconditionally.
10854
10855 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10856
10857 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10858
10859 * systime.h: Protect against multiple inclusion.
10860 (timezone) [USG5_4]: Define as time_t.
10861
10862 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10863 (Foptimize_char_table, make_temp_name): Declare.
10864
10865 * Makefile.in (xdisp.o): Depend on fontset.h.
10866
10867 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10868
10869 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10870 (Foptimize_char_table, make_temp_name): Declare.
10871
427ec082 10872 * s/irix4-0.h:
162ccef4
DL
10873 * s/irix5-0.h:
10874 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10875
2082fe81
DL
108762000-06-02 Dave Love <fx@gnu.org>
10877
10878 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10879
dcf671d2
GM
108802000-06-02 Gerd Moellmann <gerd@gnu.org>
10881
10882 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10883 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10884 be freed.
10885
10886 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10887 glyph, use the ASCII NUL character to determine the face.
10888
d42122a3
DL
108892000-06-02 Dave Love <fx@gnu.org>
10890
10891 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10892 (VFORK_RETURN_TYPE): Remove.
427ec082 10893
d42122a3
DL
10894 * config.in: Add NO_MATHERR.
10895
dd432f16
DL
108962000-06-01 Dave Love <fx@gnu.org>
10897
90aa4ea8
DL
10898 * cmds.c (internal_self_insert): Don't check
10899 Vbefore_change_function, Vafter_change_function.
10900
10901 * insdel.c (signal_before_change, signal_after_change): Likewise.
10902
10903 * buffer.c (Vbefore_change_function, Vafter_change_function):
10904 Variables and their initializations deleted.
10905
2330c9d4
DL
10906 * callint.c (Fcall_interactively): Doc fix.
10907
dd432f16
DL
10908 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10909
bf9e8804
DL
109102000-05-31 Dave Love <fx@gnu.org>
10911
10912 * textprop.c: Revert last change -- duplicated.
10913
3694b4ab
GM
109142000-05-31 Gerd Moellmann <gerd@gnu.org>
10915
10916 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10917 in #if 0.
10918
10919 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10920
f14156cd
JR
109212000-05-31 Jason Rumney <jasonr@gnu.org>
10922
8119aab8
JR
10923 * search.c (Fre_search_forward, Fre_search_backward)
10924 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10925
f14156cd
JR
10926 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10927
4aab9be3
JR
109282000-05-30 Jason Rumney <jasonr@gnu.org>
10929
10930 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10931 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10932
52283633 10933 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10934
10935 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10936 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10937 expand a nil default_filename.
10938
10939 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10940 pointer to glyph_to_pixel_coords, not a frame.
10941
10942 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10943 coding.h to dependencies.
10944
10945 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10946
10947 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10948 window pointer to be consistent with w32term.c and xterm.c.
10949
10950 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10951 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10952 (Qline_spacing, Qcenter): New variables.
10953 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10954 (x_set_line_spacing): New function.
52283633 10955 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10956 (x_specified_cursor_type): New function.
10957 (x_set_cursor_type): Use it.
10958 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10959 and icon strings.
10960 (validate_x_resource_name, x_get_resource_string): Measure lengths
10961 of external strings in bytes.
10962 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10963 GetTextExtentPoint32 with NULL title.
10964 (Fx_create_frame): Initialize Qline_spacing.
10965 (w32_load_system_font): Initialize font->double_byte_p.
10966 (x_to_w32_charset): Use Vw32_charset_info_alist.
10967 (Image, busy cursor, tooltip functions): Merged changes from
10968 xfns.c. Not yet functional on Windows.
10969
10970 * w32gui.h (W32FontStruct): Add double_byte_p member.
10971
10972 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10973 (emacs_button_translation): Use it.
10974 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10975 in `mask' to be set.
10976
10977 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10978 menu strings.
10979
10980 * w32term.c: Format and doc changes to bring closer to xterm.c.
10981 (w32_char_font_type): New enum.
10982 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10983 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10984 (w32_encode_char): New function.
10985 (x_encode_char): Removed.
10986 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10987 x_encode_char and w32_font_is_double_byte.
10988 (x_produce_image_glyph): Use image_ascent.
10989 (x_produce_glyphs): Use new version of w32_per_char_metric and
10990 handle NULL return value. Allow extra line spacing.
10991 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10992 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10993 w32_font_type member of glyph instead.
10994 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10995 (fast_find_position): Make sure not to consider rows not visible
10996 in the window.
10997 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10998 w32_menu_display_help with input blocked, as it can abort.
10999 (x_display_and_set_cursor): Choose cursor depending
11000 on buffer-local value of cursor_type.
11001 (x_draw_bar_cursor): Add parameter WIDTH.
11002
11003 * w32term.h (CP_DEFAULT): Define.
11004 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11005
10fc3187
GM
110062000-05-30 Gerd Moellmann <gerd@gnu.org>
11007
11008 * search.c (Fre_search_forward, Fre_search_backward)
11009 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11010
d0555360
KH
110112000-05-30 Kenichi Handa <handa@etl.go.jp>
11012
11013 * coding.c (detect_coding_iso2022): Fix code for checking
11014 CODING_CATEGORY_MASK_ISO_8_2.
11015
f1ad044f
SM
110162000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11017
11018 * regex.c (PREFETCH_NOLIMIT): New function.
11019 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11020
84ec3b4b
GM
110212000-05-29 Gerd Moellmann <gerd@gnu.org>
11022
66254a13
GM
11023 * syntax.c (find_defun_start): Move test for
11024 open_paren_in_column_0_is_defun_start outside of the loop.
11025
49e70dec
GM
11026 * xdisp.c (redisplay_window): Really switch buffers when
11027 displaying mode lines, and temporarily set selected_frame to the
11028 frame of the window that's redisplayed.
11029
84ec3b4b
GM
11030 * xfaces.c (free_realized_faces): Block/unblock input.
11031 (free_realized_multibyte_face): Ditto.
11032
869a3a14
DL
110332000-05-29 Dave Love <fx@gnu.org>
11034
11035 * textprop.c (Qkeymap): New variable.
11036 (syms_of_textprop): Intern it.
11037
11038 * keymap.c: Include intervals.h.
11039 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11040
11041 * Makefile.in (keymap.o): Depend on intervals.h.
11042
11043 * keyboard.c (menu_bar_items, tool_bar_items)
11044 (Fexecute_extended_command): Deal with `keymap' property.
11045 (read_key_sequence): Track map from `keymap' property as well as
11046 `local_map'.
11047
11048 * intervals.c (get_local_map): Extra arg to allow looking for
11049 `keymap' too.
11050
11051 * intervals.h (map_property): New enum.
11052 (get_local_map): Extra arg using it.
11053 (Qkeymap): Declare.
11054
84ec3b4b 11055 * lisp.h (get_local_map): Don't declare here.
869a3a14 11056
89d0c844
KH
110572000-05-29 Kenichi Handa <handa@etl.go.jp>
11058
11059 * Makefile.in (callproc.o): Depend on composite.h.
11060
11061 * callproc.c: Include composite.h.
11062 (Fcall_process): Handle composition correctly.
11063
11064 * coding.h (coding_allocate_composition_data): Extern it.
11065 (coding_restore_composition): Likewise.
11066
11067 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11068 yet allocated, finish decoding with result
11069 CODING_FINISH_INSUFFICIENT_CMP.
11070 (coding_allocate_composition_data): Make it non-static.
11071 (coding_restore_composition): Likewise.
11072
797a084a
EZ
110732000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11074
11075 * charset.c (syms_of_charset): Revert last change.
11076
cf872af5
EZ
110772000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11078
11079 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11080 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11081 Handa.
cf872af5 11082
5b1ae051
EZ
110832000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11084
11085 * charset.c (syms_of_charset): Set width of character sets
11086 eight-bit-control and eight-bit-graphic to 1 column.
11087
34ec9ebe
GM
110882000-05-26 Gerd Moellmann <gerd@gnu.org>
11089
11090 * config.in (HAVE_SPEED_T): New define.
11091
11092 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11093 `extern speed_t'.
11094
dd854dc2
DL
110952000-05-26 Dave Love <fx@gnu.org>
11096
11097 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11098
11099 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11100 (Fsubr_arity): New function.
11101 (syms_of_data): Install them.
11102
ba9f8f95
KH
111032000-05-26 Kenichi Handa <handa@etl.go.jp>
11104
0f3e0672
KH
11105 * charset.c (init_charset_once): Set the table bytes_by_char_head
11106 correctly.
11107
cebefb44
KH
11108 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11109 the default fontset to what Emacs uses by default.
0f3e0672
KH
11110 (check_registry_encoding): This function deleted.
11111 (Fset_fontset_font): Remove the adhoc condition for the default
11112 fontset. Allow cons in FONTNAME.
cebefb44 11113
0f3e0672
KH
11114 * fns.c (map_char_table): Ignore char-table entries for
11115 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11116
7a18af49
KR
111172000-05-25 Ken Raeburn <raeburn@gnu.org>
11118
11119 * emacs.c (main): Initialize keyboard syms before initializing
11120 window code, so face names are available.
11121
d2af47df
SM
111222000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11123
11124 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11125 of an anchor at the beginning of a shy-group.
11126
fc6a6a4e
GM
111272000-05-25 Gerd Moellmann <gerd@gnu.org>
11128
11129 * xdisp.c (handle_invisible_prop): Don't try to skip over
11130 invisible text if end of text is already reached.
11131
005f0d35
DL
111322000-05-25 Dave Love <fx@gnu.org>
11133
02513cdd
DL
11134 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11135
005f0d35
DL
11136 * coding.c (encode_eol): Add null statement after label.
11137
89f6ca4e
EZ
111382000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11139
11140 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11141 2000-05-20.
11142
a4e1759e
KH
111432000-05-25 Kenichi Handa <handa@etl.go.jp>
11144
11145 * ccl.c (ccl_driver): Fix previous change.
11146
eacfd7fe
KH
111472000-05-25 Kenichi Handa <handa@etl.go.jp>
11148
46ab33a9
KH
11149 * coding.c (run_pre_post_conversion_on_str): Set point to the
11150 beginning of buffer before calling coding->post_read_conversion.
11151 (decode_coding_string): Give correct args to
11152 run_pre_post_conversion_on_str.
11153 (encode_coding_string): Likewise.
11154
eacfd7fe
KH
11155 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11156 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11157 eight-bit-graphic correctly.
11158
f8569325
DL
111592000-05-24 Kenichi HANDA <handa@etl.go.jp>
11160
11161 * fileio.c (Finsert_file_contents): Even if a file is not found,
11162 execute codes for setting up coding system. Call
11163 after-insert-file-functions unconditionally.
11164
04545643
GM
111652000-05-24 Gerd Moellmann <gerd@gnu.org>
11166
11167 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11168 BSD_PGRPS are not defined.
11169
747d90ea
KH
111702000-05-24 Kenichi Handa <handa@etl.go.jp>
11171
11172 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11173 DESCRIPTION.
11174 (syms_of_charset): Avoid building same strings.
11175
716e3b88
GM
111762000-05-23 Gerd Moellmann <gerd@gnu.org>
11177
11178 * lread.c (Fload): Add a comment about the meaning of
11179 Vuser_init_file being t.
11180
11181 * puresize.h (BASE_PURESIZE): Increase to 675000.
11182
11183 * s/gnu-linux.h (setpgrp): Don't define it here because this
11184 prevents compilation on GNU/Linux systems with glib 2.2.
11185
11186 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11187 as setpgid.
427ec082 11188
9aeb39fa
EZ
111892000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11190
11191 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11192 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11193 version.
11194 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11195
29ced61b
KH
111962000-05-23 Kenichi Handa <handa@etl.go.jp>
11197
52283633 11198 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11199
3d80f24d
KH
11200 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11201
52283633 11202 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11203
29ced61b
KH
11204 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11205
d7e00792
KH
112062000-05-22 Kenichi Handa <handa@etl.go.jp>
11207
c9d80d38
KH
11208 * keyboard.c (read_char): Allow character codes 128..255 to be
11209 handled by input-method-function.
11210
d7e00792
KH
11211 * insdel.c (adjust_markers_for_replace): Fix previous change.
11212 (adjust_after_replace): If PREV_TEXT is nil, call
11213 adjust_markers_for_insert, not adjust_markers_for_replace.
11214
087121cc 112152000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11216
087121cc
GM
11217 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11218 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11219 [HAVE_GRANDPT]: Define.
11220 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11221
11222 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11223 like SYSV_PTYS.
11224
11225 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11226
11227 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11228
c9671f81
KH
112292000-05-20 Kenichi Handa <handa@etl.go.jp>
11230
11231 The following changes are to handle 8-bit characters in a
11232 multibyte buffer/string without facing with byte combining
11233 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11234 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11235
11236 * Makefile.in (fns.o): Depend on charset.h.
11237
11238 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11239 convert it to unibyte.
11240 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11241
11242 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11243 apparent char boundary.
11244 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11245 0x80..0x9F to/from multibyte form.
11246
11247 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11248 to unibyte.
11249
11250 * callproc.c (Fcall_process): Always encode an argument string if
11251 it is multibyte. Setup src_multibyte and dst_multibyte members of
11252 process_coding properly.
ce75fd23 11253
c9671f81
KH
11254 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11255 SPLIT_NON_ASCII_CHAR.
11256
11257 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11258 as is.
11259 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11260
52283633 11261 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11262 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11263 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11264 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11265 and eight-bit-graphic.
11266 (char_to_string): Likewise. Signal an error for too large
11267 character code.
11268 (char_printable_p): Return 0 for 8-bit characters.
11269 (update_charset_table): Update iso_charset_table only when a final
11270 character is non-negative.
11271 (find_charset_in_text): Renamed from find_charset_in_str.
11272 Arguments and return value changed. Callers changed.
11273 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11274 be -1 if CHARSET is used only internally.
11275 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11276 eight-bit-graphic.
11277 (Fcharset_after): Simplified.
11278 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11279 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11280 (multibyte_chars_in_text): Simplified by assuming there's no
11281 invalid multibyte sequence.
52283633
SM
11282 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11283 (str_as_unibyte): New functions.
11284 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11285 (init_charset_once): Initialization for
11286 LEADING_CODE_8_BIT_CONTROL.
11287 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11288 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11289 eight-bit-control and eight-bit-graphic.
11290
52283633
SM
11291 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11292 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11293 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11294 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11295 (CHARSET_REVERSE_CHARSET): Likewise.
11296 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11297 eight-bit-graphic.
11298 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11299 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11300 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11301 encounter an invalid multibyte sequence.
11302 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11303 sequence is always valid.
11304 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11305 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11306 (CHAR_STRING): For 8-bit characters, call char_to_string.
11307 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11308 multibyte sequence is always valid.
11309 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11310 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11311 (str_as_unibyte): Extern them.
c9671f81 11312 (BCOPY_SHORT): Fix a bug.
52283633 11313 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11314 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11315 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11316 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11317
bd4bde7f 11318 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11319 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11320 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11321 (EMIT_BYTES): New macros.
11322 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11323 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11324 macros deleted.
11325 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11326 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11327 check the validity of multibyte sequence.
11328 (decode_coding_emacs_mule): New function.
11329 (encode_coding_emacs_mule): New macro.
11330 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11331 the source.
11332 (DECODE_ISO_CHARACTER): Just return a character code.
11333 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11334 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11335 EMIT_CHAR to produced decoded characters. Exit the loop only by
11336 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11337 block here.
11338 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11339 only position codes for an invalid character.
11340 (encode_designation_at_bol): Return new destination pointer. 5th
11341 arg DSTP is changed to DST.
11342 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11343 from the source by ONE_MORE_CHAR. Don't handle the case of last
11344 block here.
11345 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11346 macros deleted.
52283633
SM
11347 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11348 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11349 TWO_MORE_BYTES to fetch a byte from the source.
11350 (encode_eol): Pay attention to coding->src_multibyte.
11351 (detect_coding, detect_eol): Preserve members src_multibyte and
11352 dst_multibyte.
11353 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11354 (encoding_buffer_size): Set magnification to 3 for all coding
11355 systems that require encoding.
11356 (ccl_coding_driver): For decoding, be sure that the result is
11357 valid multibyte sequence.
11358 (decode_coding): Initialize coding->errors and coding->result.
11359 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11360 and raw-text, always call decode_eol. Handle the case of last
11361 block here. If not coding->dst_multibyte, convert the resulting
11362 sequence to unibyte.
11363 (encode_coding): Initialize coding->errors and coding->result.
11364 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11365 and raw-text, always call encode_eol. Handle the case of last
11366 block here.
11367 (shrink_decoding_region, shrink_encoding_region): Detect cases
11368 that we can't skip data more rigidly.
11369 (code_convert_region): Setup src_multibyte and dst_multibyte
11370 members of coding. For decoding, if the buffer is multibyte,
11371 convert the source sequence to unibyte in advance. For encoding,
11372 if the buffer is multibyte, convert the resulting sequence to
11373 multibyte afterward.
11374 (run_pre_post_conversion_on_str): New function.
11375 (code_convert_string): Deleted and divided into the following two.
11376 (decode_coding_string, encode_coding_string): New functions.
11377 (code_convert_string1, code_convert_string_norecord): Call one of
11378 above.
11379 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11380 MAKE_NON_ASCII_CHAR.
52283633
SM
11381 (Fset_terminal_coding_system_internal)
11382 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11383 and dst_multibyte members.
11384 (init_coding_once): Initialize iso_code_class with new enum
11385 ISO_control_0 and ISO_control_1.
11386
11387 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11388 devided into ISO_control_0 and ISO_control_1.
11389 (struct coding_system): New members src_multibyte, dst_multibyte,
11390 errors, and result. Delete member fake_multibyte.
11391 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11392 nonzero.
11393 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11394 nonzero.
11395
11396 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11397 (Faset): Likewise.
11398
11399 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11400 multibyte form.
11401 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11402 combining occurs.
11403 (Ftranspose_region): Delete codes for handling byte combining.
11404
11405 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11406 dst_multibyte members of coding. On handling REPLACE on unibyte
11407 buffer, convert the result of decode_coding to unibyte. On
11408 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11409 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11410 multibyteness of the source (buffer or string).
11411
11412 * fns.c (concat): Handle 8-bit characters correctly.
11413 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11414 unibyte in the result.
11415 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11416 valid multibyte form in the result.
11417 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11418 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11419 return -1, signal an error.
11420 (base64_encode_1): New arg MULTIBYTE. Get each character by
11421 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11422 character is found, return -1.
11423 (Fbase64_decode_region): Delete codes for handling byte-combining.
11424 Treat each decoded byte as a unibyte character.
11425 (Fbase64_decode_string): Return unibyte string.
11426 (Fcompare_strings, concat, string_byte_to_char): Use
11427 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11428 FETCH_STRING_CHAR_ADVANCE.
11429 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11430 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11431
11432 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11433 SPLIT_NON_ASCII_CHAR.
11434 (fontset_ref_via_base, fontset_set): Likewise
11435
11436 * insdel.c (adjust_markers_for_record_delete): Deleted.
11437 (adjust_markers_for_insert): Argument changed. Caller changed.
11438 (adjust_markers_for_replace): Likewise.
52283633
SM
11439 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11440 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11441 (copy_text): Delete unused local varialbe c_save. For converting
11442 to multibyte, be sure to make all 8-bit characters in valid
11443 multibyte form.
11444 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11445 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11446 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11447 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11448 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11449 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11450 handling byte combining.
11451 (adjust_before_replace): Deleted.
427ec082 11452
c9671f81
KH
11453 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11454 SPLIT_NON_ASCII_CHAR.
11455 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11456 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11457 (Fkey_description): Likewise.
11458
11459 * lread.c (read1): On reading multibyte string, be sure to make
11460 all 8-bit chararacters in valid multibyte form.
11461 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11462
11463 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11464 unconditionally.
11465
11466 * process.c (Fstart_process): GCPRO current_dir before calling
11467 Ffind_operation_coding_system. Encode arguments here.
11468 (create_process): Don't encode arguments here. Setup
11469 src_multibyte and dst_multibyte members of struct coding.
11470 (read_process_output): Setup src_multibyte and dst_multibyte
11471 members of struct coding. If the output is to multibyte buffer,
11472 always decode the output of the process. Adjust the
52283633 11473 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11474 (send_process): Setup coding->src_multibyte according to the
11475 multibyteness of the source.
11476
52283633 11477 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11478 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11479 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11480
52283633 11481 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11482
11483 * w16select.c (Fw16_set_clipboard_data): Setup members
11484 src_multibyte and dst_multibyte of coding. Adjusted for the
11485 change for find_charset_in_str.
11486 (Fw16_get_clipboard_data): Likewise.
11487
11488 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11489 dst_multibyte of coding.
11490 (x_to_w32_font): Likewise.
11491
11492 * w32select.c (Fw32_set_clipboard_data): Setup members
11493 src_multibyte and dst_multibyte of coding. Adjusted for the
11494 change for find_charset_in_str.
11495 (Fw32_get_clipboard_data): Likewise.
11496
11497 * xdisp.c (get_next_display_element): Handle 8-bit characters
11498 correctly.
52283633
SM
11499 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11500 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11501
11502 * xselect.c (selection_data_to_lisp_data): Setup members
11503 src_multibyte and dst_multibyte of coding. Adjusted for the
11504 change for find_charset_in_str.
11505 (lisp_data_to_selection_data): Likewise.
11506
5f64c9e0
GM
115072000-05-19 Gerd Moellmann <gerd@gnu.org>
11508
52283633 11509 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11510
5f64c9e0
GM
11511 * dispextern.h (Vimage_types): Add extern declaration.
11512
11513 * xdisp.c (Vimage_types): Moved here from xfns.c.
11514 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11515
11516 * xfns.c (Vimages_types): Moved to xdisp.c.
11517 (syms_of_xfns): Move `image-types' to xdisp.c.
11518
11519 * w32fns.c (Vimage_types): Removed.
11520 (syms_of_w32fns): Remove `image-types'.
11521
813086ea
KH
115222000-05-18 Kenichi Handa <handa@etl.go.jp>
11523
11524 * fns.c (map_char_table): Pay attention to character number of
11525 charset. Check the validity of charset at the first level. For
11526 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11527 the default value.
11528
11529 * fontset.c: Include "buffer.h".
11530 (fs_load_font): If the face has fontset, record the face ID in
11531 that fontset.
11532 (Finternal_char_font): New function.
11533 (accumulate_font_info): New function.
11534 (Ffontset_info): Rewritten for the new fontset implementation.
11535 (syms_of_fontset): Register Vdefault_fontset in the first element
11536 of Vfontset_table. Include Vdefault_fontset in
11537 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11538 function.
11539
bdaebbf0
DL
115402000-05-16 Dave Love <fx@gnu.org>
11541
11542 * m/iris5d.h: Deleted -- unused.
11543
cb613bb8
GM
115442000-05-16 Gerd Moellmann <gerd@gnu.org>
11545
b15f3b77
GM
11546 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11547 `invalid' instead of `illegal'.
11548
11549 * indent.c (Fmove_to_column): When ending within a tab, insert
11550 spaces first so that markers at the end of the tab get adjusted.
11551
835c1b36
GM
11552 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11553 buffer list that wasn't selected in that frame.
11554
cb613bb8
GM
11555 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11556 is needed on mescaline, use a 2 char prefix, and call
11557 make_temp_name with second arg non-zero.
11558
11559 * fileio.c (make_temp_name): New function, extracted from
11560 Fmake_temp_name.
11561 (Fmake_temp_name): Use it.
11562
f685bea9
EZ
115632000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11564
52283633 11565 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11566
a1b8d58b
GM
115672000-05-15 Gerd Moellmann <gerd@gnu.org>
11568
11569 * Makefile.in (lisp): Add env.elc.
11570
11571 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11572
a265079f
GM
115732000-05-12 Gerd Moellmann <gerd@gnu.org>
11574
11575 * search.c (Freplace_match): Handle case of `\N' in the
11576 replacement when there's no group N.
11577
da4496b6
GM
115782000-05-11 Gerd Moellmann <gerd@gnu.org>
11579
0ace421a
GM
11580 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11581 of the message to message_dolog.
11582
1172eb8d
GM
11583 * keyboard.c (read_char): Don't clear current message for help
11584 events; let the code handling help events handle this. Change
11585 code detecting help events that should be ignored.
11586
da4496b6
GM
11587 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11588 we're interating over a string.
11589
0623e40f
DL
115902000-05-09 Dave Love <fx@gnu.org>
11591
11592 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11593 that offset before writing. Move gcpro region past call of
11594 Ffile_regular_p.
11595
bae2503b
DL
115962000-05-04 Dave Love <fx@gnu.org>
11597
11598 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11599
ec82fb2f
GM
116002000-05-04 Gerd Moellmann <gerd@gnu.org>
11601
11602 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11603 of inserted characters when BUF equals the current buffer, and PT
11604 is in front of or equal to FROM.
11605
cbf18892
GM
116062000-05-03 Gerd Moellmann <gerd@gnu.org>
11607
4ff40dd0
GM
11608 * xdisp.c (handle_single_display_prop): If display property value
11609 is invalid, or something not supported on the frame, restore
11610 iterator's position to what it was initially. Make sure to return
11611 0 for invalid and unsupported property values.
11612
cbf18892
GM
11613 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11614 that x_per_char_metric returns null.
11615
1b0672c3
GM
116162000-05-02 Gerd Moellmann <gerd@gnu.org>
11617
576da55d
GM
11618 * xterm.h (struct face): Add forward declaration.
11619 (struct image): Ditto.
11620 (image_ascent): Add prototype.
11621
11622 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11623 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11624 image_ascent instead of using IMAGE_ASCENT.
11625
11626 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11627 (IMAGE_ASCENT): Removed.
11628
11629 * xfns.c (Qcenter): New variable.
11630 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11631 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11632 (image_ascent): New function.
11633 (lookup_image): Recognize `:ascent center'.
11634 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11635 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11636 (xbm_load): Don't set image's ascent here.
11637 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11638 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11639 check ascent values here.
11640 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11641 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11642 (syms_of_xfns): Initialize Qcenter.
11643
1b0672c3
GM
11644 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11645 to the limits, increase the limits.
11646
0d7811ed
KH
116472000-05-01 Kenichi Handa <handa@etl.go.jp>
11648
11649 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11650 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11651
a943a5ca
GM
116522000-04-28 Gerd Moellmann <gerd@gnu.org>
11653
11654 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11655 taller than the window.
11656
5dba1e29
KH
116572000-04-28 Kenichi Handa <handa@etl.go.jp>
11658
11659 * xfaces.c (realize_x_face): Fix the argument of the second
11660 xassert. BASE_FACE may not be a face for ASCII.
11661
353964e3
GM
116622000-04-27 Gerd Moellmann <gerd@gnu.org>
11663
c76e04a8
GM
11664 * print.c (print_object): Treat print-length < 0 as nil.
11665
11666 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11667
11668 * s/freebsd.h (TERMCAP_OBJ): Removed.
11669 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11670
11671 * lread.c (read1): Don't treat period followed by certain
11672 characters as symbol start.
11673
11674 * xfns.c (slurp_file): New function.
11675 (xbm_image_p): Handle case of in-memory XBM files.
11676 (xbm_scan): Rewritten to work on memory buffers instead of files.
11677 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11678 Work on memory buffers instead of files. If DATA is null test
11679 if buffer looks like an in-memory XBM file.
11680 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11681 memory buffers instead of files.
11682 (xbm_file_p): New function.
11683 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11684
353964e3
GM
11685 * lread.c (end_of_file_error): New function.
11686 (read1): Call it instead of signaling `end-of-file' directly.
11687
427ec082 11688 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11689 with Fprinc instead of Fprin1.
11690
24d744ac
KR
116912000-04-26 Ken Raeburn <raeburn@gnu.org>
11692
11693 * window.c (freeze_window_start): Check that minibuffer scroll
11694 window isn't nil before extracting the window structure pointer
11695 from it.
11696
11697 * undo.c (record_delete): If we hit the end of the undo list, stop
11698 picking elements apart.
11699
7464346d
GM
117002000-04-26 Gerd Moellmann <gerd@gnu.org>
11701
11702 * xdisp.c (display_line): If lines are continued, restore
11703 iterator's ascent/descent information to the values before the
11704 first glyph not fitting on the line.
11705
612839b6
GM
117062000-04-25 Gerd Moellmann <gerd@gnu.org>
11707
11708 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11709 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11710
11711 * dispnew.c (increment_matrix_positions): Renamed from
11712 increment_glyph_matrix_buffer_positions.
11713 (increment_row_positions): Renamed from
11714 increment_glyph_row_buffer_positions.
11715
11716 * dispextern.h: Change names of renamed functions from dispnew.c
11717 in prototypes.
11718
cc181e95
GM
117192000-04-24 Gerd Moellmann <gerd@gnu.org>
11720
abfcc168
GM
11721 * fileio.c (Fdo_auto_save): Create directories for auto-save
11722 list file if necessary.
11723
cc181e95
GM
11724 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11725 from buffer or frame.
11726 (automatic_hscrolling_p): New variable.
11727 (hscroll_windows): Scroll windows horizontally only if automatic
11728 hscrolling is allowed.
11729 (syms_of_xdisp): New variable `automatic-hscrolling'.
11730
11731 * frame.h (struct frame): Add member extra_line_spacing.
11732
11733 * xfns.c (x_set_line_spacing): New function.
11734 (Fx_create_frame): Set line spacing from resources.
11735 (Qline_spacing): New variable.
11736 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11737
cc181e95
GM
11738 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11739
11740 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11741 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11742 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11743 extra_line_spacing from default value.
11744 (init_buffer_once): Initialize default value of extra_line_spacing.
11745
11746 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11747 and extra3.
11748
11749 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11750 prompt_width. Add extra line spacing.
11751
11752 * term.c (produce_glyphs): Remove reference to struct it's
11753 prompt_width.
11754
11755 * dispextern.h (struct it): Remove member prompt_width, add
11756 extra_line_spacing.
11757
58827478
GM
117582000-04-22 Gerd Moellmann <gerd@gnu.org>
11759
11760 * dispnew.c (update_frame_line): When writing a whole line, make
11761 sure cursor is in the right row afterwards, otherwise a use of
11762 capability `ch' in cmgoto might leave the cursor in the row below.
11763
25a87f42
GM
117642000-04-21 Gerd Moellmann <gerd@gnu.org>
11765
11766 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11767
11768 * keyboard.c (timer_check): Fix typo in comment.
11769
54edf5c2
KH
117702000-04-21 Kenichi Handa <handa@etl.go.jp>
11771
11772 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11773 name change: ch -> character.
11774
3a64eef5
GM
117752000-04-20 Gerd Moellmann <gerd@gnu.org>
11776
11777 * keyboard.c (echo_message_buffer): New variable.
11778 (echo_now): Set echo_message_buffer to the echo area buffer used
11779 to display the echo.
11780 (cancel_echoing): Reset echo_message_buffer to nil.
11781 (read_char): Code rewritten that handles canceling an echo or
11782 echoing a dash, respectively.
11783
11784 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11785 directory doesn't exist.
11786
6142fdcb
DL
117872000-04-19 Dave Love <fx@gnu.org>
11788
11789 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11790 (concat): Don't allow numeric args.
11791 (Fconcat): Doc change.
6142fdcb 11792
ac6b5352
SM
117932000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11794
11795 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11796 instead define end_match(1|2) more carefully.
11797 Use GET_CHAR_BEFORE_2 for `begline'.
11798
cb9215e4
GM
117992000-04-19 Gerd Moellmann <gerd@gnu.org>
11800
5e3dac3f
GM
11801 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11802 on 64-bit systems where NULL is defined as `0'.
11803
11804 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11805 the `variable argument list' to make it work on Alpha.
11806
cb9215e4
GM
11807 * m/alpha.h (_LP64) [!_LP64]: Define.
11808 (ORDINARY_LINK): Define for NetBSD.
11809
11810 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11811
f532dca0
DL
118122000-04-19 Dave Love <fx@gnu.org>
11813
c750667e
DL
11814 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11815 change.
11816
11817 * Makefile.in (LIBS): Don't use.
11818 (GETLOADAVG_OBJ): Define again.
11819 (otherobj): Add GETLOADAVG_OBJ.
11820
f532dca0
DL
11821 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11822
1c7e22fd
GM
118232000-04-18 Gerd Moellmann <gerd@gnu.org>
11824
f6d3257b
GM
11825 * lread.c (read_filtered_event): Cancel and start busy cursor.
11826
427ec082 11827 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11828 that the per-character metrics may be null.
11829
e10f64e7
GM
118302000-04-17 Gerd Moellmann <gerd@gnu.org>
11831
0daee095
GM
11832 * buffer.c (clone_per_buffer_values): New function.
11833 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11834 clone_per_buffer_values if CLONE is not nil.
11835
e10f64e7
GM
11836 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11837
38687d43
DL
118382000-04-16 Dave Love <fx@gnu.org>
11839
11840 * Makefile.in: Remove obsolete localcpp stuff.
11841 (GETLOADAVG_OBJ): Don't define.
11842 (obj): Move LIBOBJS...
11843 (otherobj): ... to here.
11844 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11845 whitespace-only lines after the continuation (Irix).
11846
c21c7262
GM
118472000-04-14 Gerd Moellmann <gerd@gnu.org>
11848
11849 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11850
11851 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11852
314767c0
DL
118532000-04-14 Dave Love <fx@gnu.org>
11854
11855 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11856 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11857 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11858 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11859 NLIST_STRUCT.
11860
11861 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11862 autoconfiscated HAVE_GETLOADAVG.
11863
11864 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11865 BROKEN_MKTIME.
11866
a2522dca
GM
118672000-04-14 Gerd Moellmann <gerd@gnu.org>
11868
11869 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11870 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11871
33744b5d
DL
118722000-04-14 Dave Love <fx@gnu.org>
11873
c21c7262 11874 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11875 (INTERVAL_SRC): Convert to make variable.
11876 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11877 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11878 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11879 add LIBOBJS.
11880 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11881 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11882 (shortlisp): Add facemenu, float-sup, frame.
11883 (SOME_MACHINE_LISP): Remove them from here.
11884 (LIBES): Change unused LDLIBS to autoconf LIBS.
11885
11886 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11887
9d3d5916
KH
118882000-04-14 Kenichi Handa <handa@etl.go.jp>
11889
11890 * composite.c (update_compositions): If FROM and TO are not in a
11891 valid range, do nothing.
11892
198e3c7a
GM
118932000-04-13 Gerd Moellmann <gerd@gnu.org>
11894
52283633 11895 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11896
52283633 11897 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11898
11899 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11900 as TERMCAP_OBJ.
11901
055a28c9
EZ
119022000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11903
11904 * fileio.c (a_write): Remove redundant semi-colons.
11905 (e_write): Return -1 if failed to write all the data.
11906 This fixes the changes made at 1999-12-15.
11907
f5c75033
DL
119082000-04-12 Dave Love <fx@gnu.org>
11909
11910 * fns.c (mapcar1): Test for null vals to support mapc.
11911 (Fmapc): New function.
11912
0c3cfc51
EZ
119132000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11914
11915 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11916 (IT_frame_up_to_date): Support the buffer local value of
11917 cursor-type, if defined.
11918
33465a31
DL
119192000-04-10 Dave Love <fx@gnu.org>
11920
11921 * editfns.c (preceding-char, following-char): Doc fix.
11922
6ed56568
KR
119232000-04-10 Ken Raeburn <raeburn@gnu.org>
11924
11925 * Makefile.in (temacs): Revert 2000-03-12 change.
11926
7cf80d4e
JR
119272000-04-10 Jason Rumney <jasonr@gnu.org>
11928
11929 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11930
34f3f342
GM
119312000-04-10 Gerd Moellmann <gerd@gnu.org>
11932
1a1b1895
GM
11933 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11934 area buffer, if it's not set up yet.
11935
34f3f342
GM
11936 * indent.c (compute_motion): Set immediate_quit.
11937
be0dbdab
GM
119382000-04-09 Gerd Moellmann <gerd@gnu.org>
11939
52283633 11940 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11941 (realize_tty_face): Suppress boldness if colors are the inverse of
11942 the default colors, and tty_suppress_bold_inverse_default_colors_p
11943 is set.
11944 (Ftty_suppress_bold_inverse_default_colors): New function.
11945 (syms_of_xfaces): Defsubr it.
11946
be0dbdab
GM
11947 * buffer.c (Frestore_buffer_modified_p): New function.
11948 (syms_of_buffer): Defsubr it.
11949
e8413c3b
KR
119502000-04-08 Ken Raeburn <raeburn@gnu.org>
11951
87f67317
KR
11952 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11953 charset id (int) argument, not a charset (Lisp_Object).
11954
e8413c3b
KR
11955 * coding.h (code_convert_string): Declare.
11956 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11957 object, as the fourth argument to code_convert_string.
11958
52283633 11959 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11960 (Fset_fontset_font): Use EQ to compare lisp objects.
11961
7c752c80
KR
119622000-04-05 Ken Raeburn <raeburn@gnu.org>
11963
c0333abc
KR
11964 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11965 a pointer that looks like a lisp object.
11966 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11967 zero, instead see whether it's an integer object, since they can't
11968 have intervals.
11969 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11970
52283633
SM
11971 * dispnew.c (allocate_matrices_for_frame_redisplay)
11972 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11973 to convert between (unsigned) int values and lisp integers.
11974 * keyboard.c (read_key_sequence): Likewise.
11975 * lread.c (substitute_object_recurse): Likewise.
11976 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11977 * minibuf.c (do_completion, Fminibuffer_complete_word)
11978 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11979 * term.c (produce_special_glyphs): Likewise.
11980
11981 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11982 * print.c (print_preprocess, print_object): Likewise.
11983
11984 * search.c (compile_pattern): Use NILP when checking for nil.
11985
74e49b38
KR
11986 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11987 __OPTIMIZE__]: Provide a GNU C macro version that handles
11988 lisp-object unions.
11989 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11990 field, to better cope with ENABLE_CHECKING and calls that modify a
11991 Lisp_Object using its old value.
11992
685e5ed2
GM
119932000-04-04 Gerd Moellmann <gerd@gnu.org>
11994
c407c570
GM
11995 * window.c (compare_window_configurations): Signal an error
11996 if parameters C1 or C2 aren't window configurations.
11997
685e5ed2
GM
11998 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11999 AFTER_POTENTIAL_GC calls around calls to functions that can
12000 signal an error and thus invoke the debugger.
12001
587a49ab
GM
120022000-04-03 Gerd Moellmann <gerd@gnu.org>
12003
62f20204
GM
12004 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12005 an error if decoding fails.
12006
587a49ab
GM
12007 * keyboard.c (lispy_mouse_names): Variable removed.
12008 (Vlispy_mouse_stem): New variable.
12009 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12010 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12011 for any mouse button number. Increase size of mouse_syms and
12012 button_down_location as needed. Call modify_event_symbol with
12013 different arguments.
12014 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12015 Call modify_event_symbol with different arguments.
12016 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12017 for any button number. Call modify_event_symbol with different
12018 arguments.
12019 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12020 Accept a string for NAME_ALIST_OR_STEM.
12021
12022 * lisp.h (larger_vector): Add prototype.
12023
12024 * fns.c (larger_vector): Make externally visible.
12025
12026 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12027
2d1675e4
SM
120282000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12029
12030 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12031 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12032 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12033 we are between str1 and str2.
12034 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12035 (PATFETCH): Use `TRANSLATE'.
12036 (PATFETCH_RAW): Fetch multibyte char if applicable.
12037 (PATUNFETCH): Remove.
12038 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12039 When writing a char, write it directly into the pattern buffer rather
12040 than going needlessly through a temp char-array.
12041 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12042 multibyte magic and remove the useless `#ifdef emacs'.
12043 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12044 buffer.
12045
12046 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12047 conditional on `emacs'.
12048
12049 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12050
cc2d8c6b
KR
120512000-04-01 Ken Raeburn <raeburn@gnu.org>
12052
12053 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12054 non-union-type versions of XMARK and friends here, because XMARK
12055 and friends won't work on an integer field if NO_UNION_TYPE is not
12056 defined.
52283633 12057 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12058
52283633 12059 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12060 (syms_of_composite): Delete local var NARGS, pass an int as first
12061 argument to Fmake_hash_table.
12062
2387b382
KR
12063 * editfns.c (text_property_stickiness): Use NILP to test
12064 Lisp_Object boolean value.
12065 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12066 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12067 problems reading from and changing the same lisp value in an
12068 XSETSTRING call.
12069
27660e89
GM
120702000-04-01 Gerd Moellmann <gerd@gnu.org>
12071
12072 * term.c (TN_no_color_video): New variable.
12073 (term_init): Intitialize TN_no_color_video.
12074 (enum no_color_bit): New enumeration.
12075 (MAY_USE_WITH_COLORS_P): New macro.
12076 (turn_on_face): Use it to determine if attributes may be used
12077 combined with colors.
12078
3578db3c
KR
120792000-04-01 Ken Raeburn <raeburn@gnu.org>
12080
12081 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12082 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12083 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12084 proper accessor macros.
12085 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12086 (grow_mini_window): Fix typo getting int value of root->height.
12087
6fc556fd
KR
12088 * xdisp.c (compute_string_pos): Fix order of arguments to
12089 string_pos_nchars_ahead.
12090 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12091 count arg to variable-arg routines like Frun_hook_with_args and
12092 Fformat.
587a49ab
GM
12093 (back_to_previous_visible_line_start)
12094 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12095 fixed-arg routines like Fget_char_property and Fmake_string.
12096 (reconsider_clip_changes): Use XINT when comparing integer lisp
12097 objects, or passing them as int arguments.
587a49ab
GM
12098 (mark_window_display_accurate, insert_left_trunc_glyphs)
12099 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12100 storing or passing integer values as lisp objects.
12101 (set_cursor_from_row, highlight_trailing_whitespace): Use
12102 INTEGERP, not implicit test against zero, for glyph object.
12103 (try_window_id): Don't use make_number when we want an int value.
12104
12105 * xfaces.c (xlfd_symbolic_value): Make last argument a
12106 Lisp_Object, to be consistent with callers.
12107 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12108 (lface_hash): Apply XFASTINT to lisp values before folding in.
12109
12110 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12111 fill in window width and height. Pass an int, not a lisp object,
12112 as first arg to Finsert.
12113
6e7b2457
GM
121142000-04-01 Gerd Moellmann <gerd@gnu.org>
12115
610d841e
GM
12116 * xfaces.c (realize_basic_faces): Block input while realizing
12117 the faces.
12118
6e7b2457
GM
12119 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12120
12121 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12122
aa110c0c
GM
121232000-03-31 Gerd Moellmann <gerd@gnu.org>
12124
12125 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12126 or ASCII, handle case that per-char metric is null.
aa110c0c 12127
8801a864
KR
121282000-03-30 Ken Raeburn <raeburn@gnu.org>
12129
c6129d7e
KR
12130 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12131
52283633
SM
12132 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12133 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12134 pointer, using eassert.
12135 * frame.h (XFRAME): Likewise.
12136
52283633
SM
12137 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12138 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12139 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12140 * data.c (set_internal): Likewise.
52283633
SM
12141 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12142 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12143 * fileio.c (auto_save_1): Likewise.
12144 * insdel.c (check_markers): Likewise.
12145 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12146 * undo.c (record_insert): Likewise.
12147 * vmsproc.c (child_sig): Likewise.
12148 * window.c (unshow_buffer, window_loop): Likewise.
12149 * xterm.c (x_erase_phys_cursor): Likewise.
12150
8e7af858
GM
121512000-03-30 Gerd Moellmann <gerd@gnu.org>
12152
12153 * xfns.c (free_image_cache): Free the cache structure itself
12154 last, after all its members have been freed.
12155
12156 * lisp.h (xstrdup): Add prototype.
12157
12158 * alloc.c (xstrdup): Moved here from xfaces.c.
12159 (allocating_for_lisp): Variable removed.
52283633 12160 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12161
12162 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12163 of Fsymbol_value.
12164 (xstrdup): Moved to alloc.c.
12165
e0b8c689
KR
121662000-03-29 Ken Raeburn <raeburn@gnu.org>
12167
b96f9fb7
KR
12168 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12169
12170 * emacs.c (main): Fix sense of no-loadup test.
12171
e0b8c689
KR
12172 * config.in (ENABLE_CHECKING): Undef.
12173
12174 * lisp.h (struct interval): Replace "parent" field with a union of
12175 interval pointer and Lisp_Object; add new bitfield to use as
12176 discriminant. Change other flag fields to bitfields.
12177 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12178 is defined and the supplied test fails, print a message and abort.
12179 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12180
12181 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12182 pointers; abort if the value looks like a lisp object.
52283633
SM
12183 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12184 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12185 Modify for new interval parent definition.
12186
52283633
SM
12187 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12188 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12189 addressable lisp object in the interval structure.
12190 (die): New function.
12191 (suppress_checking): New variable.
12192
12193 * intervals.c (interval_start_pos): Just return 0 if there's no
12194 parent object.
12195
f83c5440
GM
121962000-03-29 Gerd Moellmann <gerd@gnu.org>
12197
12198 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12199 and earlier Emacs versions.
12200
12201 * keyboard.c (Ftop_level): Cancel busy-cursor.
12202
12203 * eval.c (call_debugger): Cancel busy-cursor.
12204
fdce64ff
KH
122052000-03-29 Kenichi Handa <handa@etl.go.jp>
12206
12207 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12208 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12209
f6a3f532
SM
122102000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12211
12212 * regex.c (analyse_first): New function obtained by ripping out most
12213 of re_compile_fastmap and generalizing it a little bit so that it
12214 can also just return whether a given (sub)pattern can match the empty
12215 string or not.
12216 (regex_compile): Use `analyse_first' to decide whether the loop-check
12217 needs to be done or not for *, +, *? and +? (the loop check is costly
12218 for non-greedy repetition).
12219 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12220
e9b309ac
DL
122212000-03-28 Dave Love <fx@gnu.org>
12222
52283633 12223 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12224
e9b309ac
DL
12225 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12226
ed0767d8
SM
122272000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12228
12229 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12230 an expression.
12231 (enum re_opcode_t): Update description of succeed_n.
12232 (PATFETCH): Always define.
12233 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12234 operators, char classes, shy-groups and intervals).
12235 Optimize special cases of intervals so as to only use succeed_n and
12236 jump_n when really needed.
12237 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12238 that we don't have to handle the special cases any more.
12239 Simplify on_failure_jump handling as well.
12240
e11e7e46
JR
122412000-03-28 Jason Rumney <jasonr@gnu.org>
12242
12243 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12244
88faab89
GM
122452000-03-27 Gerd Moellmann <gerd@gnu.org>
12246
182ff242
GM
12247 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12248
12249 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12250
182ff242
GM
12251 * alloc.c (mark_maybe_object): New function.
12252 (mark_memory): Use it.
12253 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12254 (setjmp_tested_p, longjmp_done): New variables.
12255 (test_setjmp): New function.
12256 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12257 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12258
c1005d06
GM
12259 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12260 to DEC_TEXT_POS and INC_TEXT_POS.
12261
12262 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12263 with parameter MULTIBYTE_P.
12264
52283633 12265 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12266
7439e5b9 12267 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12268 buffers because it looks for multibyte character byte sequences
12269 which don't exist in unibyte text.
7439e5b9 12270
d9c545da
GM
12271 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12272
11fd416e 12273 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12274 [DEBUG_X_COLORS]: New functions.
12275 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12276
12277 * xfns.c (x_set_cursor_color): Get color reference counts right.
12278
12279 * xterm.c (x_copy_color): New function.
12280 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12281
12282 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12283 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12284 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12285 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12286 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12287 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12288 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12289 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12290 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12291 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12292
11fd416e
GM
12293 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12294 names for handling per-buffer variables.
d9c545da
GM
12295
12296 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12297 instead of MAX_BUFFER_LOCAL_VARS.
12298 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12299
12300 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12301
88faab89
GM
12302 * xfns.c (x_specified_cursor_type): New function.
12303 (x_set_cursor_type): Use it.
12304
12305 * buffer.h (struct buffer): Add cursor_type.
12306
d80f42b7
SM
123072000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12308
12309 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12310 (print_partial_compiled_pattern, re_compile_fastmap):
12311 Handle new opcode.
d80f42b7
SM
12312 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12313 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12314 executing it as well as when popping it off the stack to find infinite
12315 loops in non-greedy repetition operators.
12316
89e80928
GM
123172000-03-26 Gerd Moellmann <gerd@gnu.org>
12318
3d4ff2dd
GM
12319 * doc.c (Qfunction_documentation): New variable.
12320 (syms_of_doc): Initialize Qfunction_documentation.
12321 (Fdocumentation): If FUNCTION is a symbol with non-nil
12322 `function-documentation' property, return a documentation derived
12323 from that.
12324
bd96bd79
GM
12325 * buffer.c (syms_of_buffer): Add default-cursor-type.
12326 (init_buffer_once): Don't let cursor_type have a local value
12327 in every buffer.
12328
19d1bc27
GM
12329 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12330 on buffer-local value of cursor_type.
12331 (x_draw_bar_cursor): Add parameter WIDTH.
12332
12333 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12334 (init_buffer_once): Set default cursor_type value to t.
12335 Mark cursor_type as local everywhere.
12336 (syms_of_buffer): New per-buffer variable cursor-type.
12337
89e80928
GM
12338 * buffer.h (struct buffer): Remove member local_var_flags,
12339 add local_flags.
12340 (MAX_BUFFER_LOCAL_VARS): New macro.
12341 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12342 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12343 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12344 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12345
52283633 12346 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12347
12348 * category.c (Fset_category_table): Use new macros for per-buffer
12349 variables.
12350
12351 * buffer.c (buffer_permanent_local_flags): Make a char array.
12352 (max_buffer_local_idx): New variable.
12353 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12354 for new handling of per-buffer variables.
12355 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12356 (init_buffer_once): Initialize per-buffer vars differently.
12357 Set max_buffer_local_idx.
12358
12359 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12360 variables.
12361
52283633 12362 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12363
12364 * data.c (do_symval_forwarding, store_symval_forwarding)
12365 (find_symbol_value, set_internal, default_value, Fset_default)
12366 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12367 per-buffer variables.
12368
12369 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12370
9a0dd3dc
GM
123712000-03-24 Gerd Moellmann <gerd@gnu.org>
12372
b68c375f
GM
12373 * xterm.c (x_term_init): Unblock input around call1 of
12374 Qvendor_specific_keysyms.
12375
9a0dd3dc
GM
12376 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12377 (find_defun_start): Consider an open parenthesis in column 0
12378 a defun start only if open_paren_in_column_0_is_defun_start is set.
12379 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12380
7973e637
SM
123812000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12382
12383 * eval.c (Fautoload): Add entry in load-history (if after dump).
12384 * lread.c (load-history): Update docstring.
12385
39210e90
GM
123862000-03-24 Gerd Moellmann <gerd@gnu.org>
12387
12388 * indent.c (Fvertical_motion): Always use the current buffer.
12389 Temporarily change the window's buffer, if necessary.
12390
72db3ab5
GM
123912000-03-23 Gerd Moellmann <gerd@gnu.org>
12392
12393 * xterm.c (fast_find_position): Make sure not to consider rows
12394 not visible in the window.
12395
990b2375
SM
123962000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12397
12398 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12399 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12400
ff4df011
JR
124012000-03-22 Jason Rumney <jasonr@gnu.org>
12402
12403 * w32menu.c (single_submenu): Set help string to NULL if none.
12404 (w32_menu_show): Set help string correctly.
12405 (add-menu-item): Set help string in MIIM_DATA for menu item.
12406 Load SetMenuItemInfoA explicitly.
12407 (w32_menu_display_help): New function.
427ec082 12408
ff4df011
JR
12409 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12410 (QCdata): Moved to xdisp.c.
12411
12412 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12413 (Vw32_charset_to_codepage_alist): Removed.
12414 (Vw32_charset_info_alist): New variable.
52283633
SM
12415 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12416 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12417 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12418 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12419 with TODO comment.
12420 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12421 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12422 Define Vw32_charset_info_alist and w32_charset symbols.
12423
124242000-03-22 Jason Rumney <jasonr@gnu.org>
12425
12426 * makefile.nt (w32bdf.obj): Update dependencies.
12427
12428 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12429
12430 * w32fns.c: Include fontset.h after dispextern.h.
12431 (Fx_create_frame): Do not create fontset.
12432 (w32_load_system_font): Doc fix.
12433 (Fx_close_connection): Free full_name if it is not shared.
12434
12435 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12436 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12437 Callers updated.
ff4df011
JR
12438 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12439 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12440 (w32_font_is_double_byte): New function, needs body.
12441 (x_append_glyph): Set glyph->glyph_not_available_p.
12442 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12443 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12444 character, convert it to a unibyte character.
12445 (struct glyph_string): Delete member `charset'.
12446 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12447 calculating it is found.
12448 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12449 the case that per char metric is not available correctly.
12450 (x_fill_glyph_string): Handle the case that the specific glyph is
12451 not available correctly.
12452 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12453 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12454 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12455 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12456 fontset. Don't call FS_LOAD_FONT.
12457
439d5cb4
KR
124582000-03-22 Ken Raeburn <raeburn@gnu.org>
12459
12460 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12461 (INT_LISPLIKE): New macro.
12462 (NULL_INTERVAL_P): Use it.
52283633
SM
12463 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12464 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12465 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12466
12467 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12468 explicit references to "parent" field of struct interval and
12469 associated unclean type conversions.
52283633
SM
12470 * intervals.c (create_root_interval, root_interval, rotate_right)
12471 (rotate_left, balance_possible_root_interval, split_interval_right)
12472 (split_interval_left, interval_start_pos, find_interval)
12473 (next_interval, previous_interval, update_interval)
12474 (adjust_intervals_for_insertion, delete_node, delete_interval)
12475 (adjust_intervals_for_deletion, merge_interval_right)
12476 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12477 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12478 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12479 Likewise.
12480 * syntax.c (update_syntax_table): Likewise.
12481
12482 * intervals.c (reproduce_tree_obj): New function, like
12483 reproduce_tree but takes a Lisp_Object for the parent. Declare
12484 with prototype.
12485 (graft_intervals_into_buffer): Use it when appropriate.
12486 (reproduce_tree): Declare with prototype.
12487 (balance_possible_root_interval): Check that the parent is a lisp
12488 object before trying to examine its type.
12489
ee1c5b21
GM
124902000-03-22 Gerd Moellmann <gerd@gnu.org>
12491
12492 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12493 as strings only if both are known to be strings.
12494
12495 * s/openbsd.h (LIBS_TERMCAP): Undef.
12496
1fb352e0
SM
124972000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12498
12499 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12500 definitions for non-Emacs compilation.
12501 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12502 outside of `#ifdef emacs'.
12503 (print_partial_compiled_pattern): Update.
12504 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12505 (re_compile_fastmap): Merge handling of charset and charset_not (for
12506 emacs and non-emacs compilation as well).
12507 Similarly for (not)categoryspec and (not)syntaxspec.
12508 Don't use the fastmap when reaching `anychar' since the added
12509 complexity is not justified.
12510 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12511 and (not)syntaxspec. Merge (not)categoryspec.
12512
fdaa1f77
KH
125132000-03-22 Kenichi Handa <handa@etl.go.jp>
12514
52283633
SM
12515 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12516 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12517 --without-x.
fdaa1f77 12518
d152fb46
DL
125192000-03-21 Dave Love <fx@gnu.org>
12520
12521 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12522 doc string.
12523
d2cafc8c
GM
125242000-03-21 Gerd Moellmann <gerd@gnu.org>
12525
12526 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12527 (lface_fully_specified_p): Don't check contents of
12528 LFACE_FONT_INDEX because that attribute is optional.
12529 (realize_x_face): Remove now unwarranted xassert.
12530
9111d4b5
KH
125312000-03-21 Kenichi HANDA <handa@etl.go.jp>
12532
12533 The following changes are to make font selection based on
12534 characters, not charset. In addition, they recover fontset
12535 facilities while utilizing the new font selection mechanism.
12536
6c4bfdc0
KH
12537 * Makefile.in (fontset.o): Depend on dispextern.h.
12538
12539 * alloc.c (mark_face_cache): Don't mark face->registry.
12540
9111d4b5
KH
12541 * dispextern.h (struct glyph): New member glyph_not_available_p.
12542 Use 22 bits for face_id.
12543 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12544 (struct face): Delete member registry, new member ascii_face.
12545 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12546 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12547 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12548 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12549
12550 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12551 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12552 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12553 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12554 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12555 (fs_free_face_fontset, fontset_font_pattern)
12556 (face_suitable_for_char_p, face_for_char)
12557 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12558 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12559 (FS_LOAD_FACE_FONT): New macro.
12560
12561 * fontset.c: All codes rewritten or adjusted for the change of
12562 fontset implementation. Now fontset is represented by char table.
52283633
SM
12563 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12564 Variables removed.
9111d4b5 12565 (my_strcasecmp): Function removed.
52283633 12566 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12567 (AREF, ASIZE): New macros.
52283633
SM
12568 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12569 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12570 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12571 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12572 (fontset_id_valid_p, font_family_registry, fontset_name)
12573 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12574 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12575 New functions.
12576 (fs_load_font): New arg FACE. Caller changed.
12577 (fs_query_fontset): Argument changed. Caller changed.
12578 (Fquery_fontset): call fs_query_fontset.
12579 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12580 Functions removed.
52283633
SM
12581 (clear_fontset_elements, check_registry_encoding)
12582 (check_fontset_name): New functions.
9111d4b5
KH
12583 (syms_of_fontset): Set char-table-extra-slots property of fontset
12584 to 3. Staticpro and initialize Vfontset_table and
12585 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12586
12587 * frame.h (struct frame): Member `fontset_data' removed.
12588 (FRAME_FONTSET_DATA): Macro removed.
12589
12590 * frame.c (make_frame): Don't allocate f->fontset_data.
12591 (Fdelete_frame): Don't free f->fontset_data.
12592
6c4bfdc0
KH
12593 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12594
9111d4b5
KH
12595 * xdisp.c (charset_at_position): Function removed.
12596 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12597 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12598 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12599 Likewise.
12600 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12601 FACE_FOR_CHARSET.
52283633
SM
12602 (get_next_display_element, append_space)
12603 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12604
12605 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12606 Variables removed.
12607 (clear_font_table, frame_update_line_height, load_face_font):
12608 Adjusted for the change of fontset implementation.
12609 (load_face_fontset_font): Function removed.
12610 (pixel_point_size): New function.
12611 (font_list): Argument type changed. Caller changed.
12612 (LFACE_FONT): New macro.
12613 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12614 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12615 Lisp_Object. Determine the font name by actually loading a font
12616 by the specified pattern. Set LFACE_FONT (lface) to the specified
12617 pattern. Even if a font is not found, don't try alternatives.
12618 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12619 (set_font_frame_param): If `font' is specified in lface, use it.
12620 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12621 (lface_same_font_attributes_p): Likewise.
12622 (make_realized_face): Arguent changed. Caller changed. Set
12623 face->ascii_face to face itself.
12624 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12625 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12626 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12627 (free_realized_multibyte_face): New function.
12628 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12629 changed. Caller changed.
12630 (try_font_list): Argument type changed.
12631 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12632 (choose_face_font): Argument changed. Handle fontset properly.
12633 (choose_face_fontset_font): Function removed.
12634 (realize_default_face, realize_named_face): Don't remove the
12635 former face here.
12636 (realize_face): Argument changed. Caller changed. Remove face
52283633 12637 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12638 (realize_x_face): Argument changed. Caller changed. For a
12639 multibyte character, share fontset with base_face. For a single
52283633 12640 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12641 (realize_tty_face): Argument changed. Caller changed.
12642 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12643 (face_at_buffer_position): Don't check multibyte_p for returning
12644 DEFAULT_FACE_ID.
12645 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12646 FACE_SUITABLE_FOR_CHARSET_P.
12647 (syms_of_xfaces): Remove code for Qx_charset_registry and
12648 Vface_default_registry.
12649
6c4bfdc0
KH
12650 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12651 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12652 (x_per_char_metric): Don't try FONT->default_char. Even if
12653 pcm->width is zero, glyph bits may exist.
12654 (x_encode_char): Always initialize char2b->byte1.
12655 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12656 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12657 (x_append_glyph): Set glyph->glyph_not_available_p.
12658 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12659 it->charset. Handle the case that per char metric is not
12660 available. If it->multibyte_p is zero and it->c is a multibyte
12661 character, convert it to a unibyte character.
12662 (struct glyph_string): Delete member `charset'.
12663 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12664 the case that per char metric is not available correctly.
12665 (x_fill_glyph_string): Handle the case that the specific glyph is
12666 not available correctly.
12667 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12668 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12669 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12670 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12671 fontset. Don't call FS_LOAD_FONT.
12672
12673 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12674 (x_create_tip_frame): Likewise.
12675 (Fx_close_connection): Free full_name of font_info.
12676
12677 * fns.c (optimize_sub_char_table): New function.
12678 (Foptimize_char_table): New function.
12679 (syms_of_fns): Defsubr Soptimize_char_table.
12680
b33dd3b0
GM
126812000-03-20 Gerd Moellmann <gerd@gnu.org>
12682
12683 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12684 only if buffer is displayed in some window.
12685
12686 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12687 (try_window_reusing_current_matrix): Don't call scroll run
12688 function if run's current and desired position are the same;
12689 this prevents cursor flickering.
12690
4e8a9132
SM
126912000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12692
12693 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12694
12695 * regex.c (RE_STRING_CHAR): New macro.
12696 (GET_CHAR_AFER_2): Remove.
12697 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12698 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12699 (print_partial_compiled_pattern, re_compile_fastmap)
12700 (re_match_2_internal): Remove on_failure_jump_exclusive.
12701 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12702 optimization only need to work for * (ie. can use of_keep_string_jump).
12703 Remove the special case for .*\n since it is now covered by the general
12704 optimization.
12705 (re_search_2): Don't bother with `room'.
12706 (skip_one_char): New function.
12707 (skip_noops): Simplify since `memory' is not needed any more.
12708 (mutually_exclusive_p): Restructure slightly to use `switch' and
12709 add handling for "all" remaining cases.
12710 (re_match_2_internal): Change on_failure_jump_smart to use
12711 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12712 rather than on_failure_jump_exclusive.
12713
2136fdd4
GM
127142000-03-19 Gerd Moellmann <gerd@gnu.org>
12715
12716 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12717 number of bits per RGB because it's everywhere used as the depth
12718 of the visual.
12719
12720 * term.c (calculate_costs): Remove code dealing with X frames.
12721
18e21ce8 127222000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12723
12724 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12725
d7b511c4
GM
127262000-03-18 Gerd Moellmann <gerd@gnu.org>
12727
12728 * lread.c (read_integer): Unread the last char not consumed.
12729
16b5d424
GM
127302000-03-17 Gerd Moellmann <gerd@gnu.org>
12731
12732 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12733 which are in the process of being deleted.
16b5d424 12734
1fa28578
GM
127352000-03-16 Gerd Moellmann <gerd@gnu.org>
12736
83488cce
GM
12737 * Makefile.in (mostlyclean): Add `*.core'.
12738 (clean): Add `bootstrap-emacs'.
12739
1fa28578
GM
12740 * lread.c (read_integer): New function.
12741 (read1): Support read syntax #o, #x, #b, #r.
12742
99633e97
SM
127432000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12744
1fa28578
GM
12745 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12746 make sure POINTER_TO_OFFSET gives the same value before and after
12747 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12748 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12749 (debug): Now only active if > 0 rather than if != 0.
12750 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12751 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12752 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12753 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12754 (store_op1, store_op2, insert_op1, insert_op2)
12755 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12756 (group_in_compile_stack): Move to after its arg's types are
12757 declared and add a prototype.
99633e97 12758 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12759 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12760 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12761 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12762 indentation of the greedy-op and shy-group code.
99633e97
SM
12763 (at_(beg|end)line_loc_p): Fix argument's types.
12764 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12765 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12766 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12767 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12768 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12769 QUIT unconditionally.
99633e97 12770
699238d9
GM
127712000-03-15 Gerd Moellmann <gerd@gnu.org>
12772
12773 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12774 a sole completion.
12775
12776 * process.c (send_process): Add a hint that the function
12777 can call Lisp code to its comment.
12778
12779 * lread.c (load_dangerous_libraries): New variable.
12780 (Vbytecomp_version_regexp): New variable.
12781 (safe_to_load_p): New function.
12782 (Fload): Handle files not compiled with Emacs specially.
12783 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12784
34e23e5a
GM
127852000-03-14 Gerd Moellmann <gerd@gnu.org>
12786
9c763cca
GM
12787 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12788
12789 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12790 support functions only if HAVE_X11R6_XIM is defined.
12791 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12792
12793 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12794
12795 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12796 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12797 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12798
12799 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12800 (HAVE_X11R6_XIM): Define.
12801
12802 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12803
34e23e5a
GM
12804 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12805 If set, call XSynchronize.
12806
66f0296e
SM
128072000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12808
34e23e5a
GM
12809 * regex.c: Declare a new type `re_char' used throughout the code
12810 for the string char type. It's `const unsigned char' to match the
12811 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12812 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12813 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12814 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12815 code duplication.
66f0296e
SM
12816
12817 * charset.h (GET_CHAR_AFTER_2): Remove.
12818 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12819
854a025c
KR
128202000-03-12 Ken Raeburn <raeburn@gnu.org>
12821
12822 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12823 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12824 of them try to use backquotes.
12825
b9d2c7e2
DL
128262000-03-12 Dave Love <fx@gnu.org>
12827
12828 * unexelf.c: Restore changes of 1999-10-19.
12829 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12830 fix its type and alignment; copy it from current process.
12831
5e5dff44
GM
128322000-03-12 Gerd Moellmann <gerd@gnu.org>
12833
9b2f3c38
GM
12834 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12835 has been found. Fix bug not computing timer's predecessor.
12836
427ec082 12837 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12838 file name.
12839
e1cff360
GM
12840 * window.c (Fsave_window_excursion): Doc fix.
12841
52283633 12842 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12843
e411ce4b
EZ
128442000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12845
12846 * msdos.c (vga_installed): New function, code moved from
12847 dos_set_window_size.
12848 (Qbar, Qcursor_type, outside_cursor): New variables.
12849 (syms_of_msdos): Intern and staticpro them.
12850 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12851 shape used outside Emacs when called for the first time.
12852 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12853 cursor shape used outside Emacs.
12854 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12855 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12856 type has changed.
12857 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12858 parameters specify the cursor. Make qreverse a global
12859 variable (renamed to Qreverse).
12860
80460654
GM
128612000-03-09 Gerd Moellmann <gerd@gnu.org>
12862
12863 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12864
95cd4c40
SM
128652000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12866
12867 This is a big redesign of failure-stack and register handling, prompted
12868 by bugs revealed when trying to add shy-groups. Overall, what happened
12869 is that loops are now structured a little differently, groups can be
12870 shy and the code is a little simpler.
12871
12872 * regex.h: Update the copyright.
12873 (RE_SHY_GROUPS): New value.
12874 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12875 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12876
80460654
GM
12877 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12878 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12879 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12880 for (start|stop)_memory since they now only take one argument (the
12881 second has becomes unnecessary).
52283633 12882 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12883 (print_compiled_pattern): Use %ld to printf long ints and flush to
12884 make debugging a little easier.
95cd4c40
SM
12885 (union fail_stack_elt): Make the integer unsigned.
12886 (struct fail_stack_type): Add a `frame' element.
12887 (INIT_FAIL_STACK): Init `frame' as well.
12888 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12889 (DEBUG_PUSH, DEBUG_POP): Remove.
12890 (NUM_REG_ITEMS): Remove.
12891 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12892 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12893 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12894 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12895 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12896 New macros.
80460654
GM
12897 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12898 address pushed is not the destination of the jump but the source
12899 of it instead.
95cd4c40
SM
12900 (NUM_FAILURE_ITEMS): Remove.
12901 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12902 registers before the actual failure point). Don't hardcode any
12903 meaning for str==NULL anymore.
95cd4c40 12904 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12905 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12906 Remove.
95cd4c40
SM
12907 (REG_UNSET_VALUE): Use NULL (why not?).
12908 (compile_range): Remove declaration since it doesn't exist.
12909 (struct compile_stack_elt_t): Remove inner_group_offset.
12910 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12911 (regex_grow_registers): Remove dead code.
12912 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12913 (regex_compile): Add shy-groups Change loops to use
12914 on_failure_jump_smart&jump instead of
12915 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12916 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12917 variable to me). Use `jump' instead of `jump_past_alt' and don't
12918 bother with push_dummy_failure in alternatives since it is now
12919 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12920 emacs' for (re)allocating the stack.
12921 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12922 from loop when bufp->can_be_null rather than jumping to `done'.
12923 Avoid jumping backwards so as to ensure termination. Use
12924 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12925 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12926 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12927 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12928 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12929 (lowest_active_reg, highest_active_reg)
12930 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12931 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12932 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12933 variables. Push register (in `start_memory') on the stack rather
12934 than storing it in old_reg(start|end). Remove the cycle detection
12935 from `stop_memory', replaced by the use of on_failure_jump_loop
12936 for greedy loops. Add code for the new on_failure_jump_<foo>.
12937 Remove ad-hoc code in `on_failure_jump' to push more registers in
12938 the case of a loop. Take out code from `maybe_pop_jump' into
12939 separate functions and adapt it to the semantics of
12940 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12941 and push_dummy_failure. Remove dummy_failure handling and
12942 handling of `failures to jump to on_failure_jump' (this last one
12943 was already dead code, it seems).
12944 (group_match_null_string_p, alt_match_null_string_p)
12945 (common_op_match_null_string_p): Remove.
95cd4c40 12946
7397acc4
DL
129472000-03-08 Dave Love <fx@gnu.org>
12948
12949 * config.in: Don't depend on __STDC__ for volatile.
12950 Add POINTER_TYPE, PTR, PROTOTYPES.
12951
12952 * hftctl.c, strftime.c: Use PROTOTYPES.
12953 * eval.c (find_handler_clause): Likewise.
12954
12955 * mem-limits.h: Use POINTER_TYPE.
12956
12957 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12958 (memory_warnings): Declare using POINTER_TYPE.
12959
5e91ff9e
GM
129602000-03-08 Gerd Moellmann <gerd@gnu.org>
12961
feab4fba
GM
12962 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12963
52283633 12964 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12965
5e91ff9e
GM
12966 * xfns.c: Remove obsolete code in #if 0.
12967 (Fx_focus_frame): New function.
12968
a735b7e1
KH
129692000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12970
12971 * coding.c (coding_category_name): Add coding-category-utf-8,
12972 coding-category-utf-16-be, coding-category-utf-16-le.
12973 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12974 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12975 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12976 (detect_coding_utf_8): New function.
12977 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12978 UTF_16_LOW_SURROGATE_P): New macros.
12979 (detect_coding_utf_16): New function
12980 (detect_coding_mask): When priorities are specified, skip any
12981 categories that have `nil' coding-system. Fix bug of returning
12982 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12983 returns a mask not set in PRIORITIES.
12984 (detect_eol_type_in_2_octet_form): New function.
12985 (detect_eol): selects detect_eol_type_XXX to call according to
12986 cooding->category_idx.
12987 (detect_coding_system): Remove `nil' coding-system in the result.
12988 (Fupdate_coding_systems_internal): Update all coding-categories.
12989
52283633
SM
12990 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12991 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12992 New macros.
12993 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12994 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12995 (CODING_CATEGORY_IDX_UTF_16_LE)
12996 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12997 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12998 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12999 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13000
9994cc69
GM
130012000-03-07 Gerd Moellmann <gerd@gnu.org>
13002
e9b4e5ff
GM
13003 * doc.c (Fdocumentation_property): If value is not a string,
13004 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13005
f7daf1e1
GM
13006 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13007 close the display with XtCloseDisplay. This caused a bus error
13008 on OpenWindows.
13009
9994cc69
GM
13010 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13011 complete but not unique.
13012
4336c705
GM
130132000-03-06 Gerd Moellmann <gerd@gnu.org>
13014
18bb0684
GM
13015 * process.c (send_process): Remove local variable `procname' that
13016 might become invalid when a GC happens. Instead, access the
13017 process name slot directly.
13018
4336c705
GM
13019 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13020 orig_height if set.
13021
13022 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13023 orig_height if set.
13024
515d0d0e
EZ
130252000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13026
13027 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13028 glyph matrices have been freed.
13029
100b3cbb
GM
130302000-03-05 Gerd Moellmann <gerd@gnu.org>
13031
50df5e5a 13032 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13033 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13034
13035 * xfns.c (QCdata): Moved to xdisp.c.
13036
13037 * xdisp.c (QCdata): Moved here from xfns.c.
13038 (syms_of_xdisp): Initialize QCdata.
13039
13040 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13041
13042 * window.c (coordinates_in_window): Use
13043 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13044 FRAME_INTERNAL_BORDER_WIDTH.
13045
100b3cbb 13046 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13047 it is obviously invalid.
100b3cbb
GM
13048
13049 * xterm.c (x_term_init): Create a colormap if not using the
13050 default visual.
13051
13052 * xterm.h (select_visual): Change prototype.
13053
13054 * xfns.c (select_visual): Rewritten. Recognize user-specified
13055 visual classes.
13056 (visual_classes): New variable.
13057
64d739c4
GM
130582000-03-04 Gerd Moellmann <gerd@gnu.org>
13059
13060 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13061 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13062 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13063 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13064 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13065 XtNcolormap resources.
13066 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13067 (Fx_create_frame): Initialize color members of x_output structure.
13068 (xpm_load): Pass colormap to XPM lib.
13069
13070 * xfaces.c (x_free_colors): Access colormap of frame using
13071 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13072 when default colormap is used.
13073
13074 * xterm.c (x_term_init): Set Colormap member of x_display_info
13075 structure. Copy colormap if resource `privateColormap' is
13076 specified (PseudoColor only).
13077 (x_setup_relief_color): Access colormap of frame using
13078 FRAME_X_COLORMAP.
13079
13080 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13081 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13082
c3cee013
JR
130832000-03-04 Jason Rumney <jasonr@gnu.org>
13084
13085 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13086 other non-platform-specific equivalents.
64d739c4 13087 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13088 specific functions and macros as their w32 equivalents where
13089 non-platform-specifics are not available.
13090 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13091 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13092 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13093 (frame_update_line_height): Use macros to access f->output_data.
13094 (defined_color): Remove FIXME comments; fixed.
13095 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13096 into #ifdef blocks. Add WINDOWSNT blocks.
13097 (Fx_list_fonts): Use macros for accessing font data.
13098 (set_lface_from_font_name): Different default fonts for X and
13099 WINDOWSNT.
13100 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13101 scalable for backward compatibility.
64d739c4 13102 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13103 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13104
64d739c4 13105 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13106 syms_of_w32faces.
13107
13108 * makefile.nt (w32faces.obj): Remove.
13109 (xfaces.obj): Add.
13110
807cc41c
JR
131112000-03-03 Jason Rumney <jasonr@gnu.org>
13112
13113 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13114 correct parameters.
13115
0007072a
KR
131162000-03-03 Ken Raeburn <raeburn@gnu.org>
13117
13118 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13119 standard ELF definitions here if the system header does not.
13120
71a6ba55
GM
131212000-03-03 Gerd Moellmann <gerd@gnu.org>
13122
13123 * xterm.c (PER_CHAR_METRIC): Removed.
13124 (x_per_char_metric_1, x_default_char): New functions.
13125 (x_per_char_metric): If font's default char is invalid, return
13126 metrics of a suitably chosen usable default char.
13127 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13128 char, replace occurrences of unprintable chars with a suitably
13129 chosen usable default char.
71a6ba55 13130
900fa1f1
GM
131312000-03-02 Gerd Moellmann <gerd@gnu.org>
13132
42f55fe0
GM
13133 * xterm.c (note_mouse_highlight): Return quickly if frame's
13134 glyph matrices have been freed.
13135
13136 * dispnew.c (free_glyphs): Block input while freeing matrices.
13137
900fa1f1
GM
13138 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13139
52283633
SM
13140 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13141 Use x_free_colors.
900fa1f1
GM
13142
13143 * dispextern.h (x_free_colors): Add prototype.
13144
13145 * xfaces.c (x_free_colors): New function.
13146 (unload_color, free_face_colors): Use it.
13147
2f950292
EZ
131482000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13149
13150 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13151
13152 * window.c [MSDOS]: Include msdos.h.
13153
54d04320
DL
131542000-03-02 Dave Love <fx@gnu.org>
13155
13156 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13157
13158 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13159 set C_OPTIMIZE_SWITCH for gcc.
13160
0ba93ac4
KH
131612000-03-02 Kenichi Handa <handa@etl.go.jp>
13162
13163 * coding.c (coding_save_composition): Be sure to allocate
13164 composition data area in coding even if there's no composition in
13165 the current run.
13166
a2bc11d4
JR
131672000-03-01 Jason Rumney <jasonr@gnu.org>
13168
13169 * w32term.c: Equivalent changes to those made to xterm.c on
13170 2000-02-25 and 2000-02-24.
13171
13172 * w32fns.c: Equivalent changes to those made to xfns.c on
13173 2000-02-25 and 2000-02-21.
13174
13175 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13176 correct line-end convention is followed.
13177
13178 * w32menu.c [HAVE_BOXES]: Remove #undef.
13179 (single_keymap_panes): Remove code for simulating checkmarks.
13180 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13181 Remove code for drawing simulated checkmarks.
13182 (w32_menu_show): make unibyte help string correctly.
13183 (add_menu_item): draw standard Windows checkmarks. Draw radio
13184 buttons as radio buttons if possible.
13185
72d19d75
GM
131862000-03-01 Gerd Moellmann <gerd@gnu.org>
13187
2df636f4
GM
13188 * sysdep.c (start_of_text): Don't define this function for NetBSD
13189 with ELF.
13190
427ec082 13191 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13192 Don't define.
13193 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13194 (LINKER): Don't undef if __NetBSD__ is defined.
13195
13196 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13197
13198 * fileio.c [__NetBSD__]: Define `unix'.
13199
72d19d75
GM
13200 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13201
ed4d0512
GM
132022000-02-29 Gerd Moellmann <gerd@gnu.org>
13203
50b1039f
GM
13204 * atimer.c (start_atimer): Don't abort when timers are stopped.
13205 (append_atimer_lists): New function.
13206 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13207 arbitrary lists of stopped and running atimers.
13208
ed4d0512
GM
13209 * atimer.c (cancel_atimer): Handle canceling an atimer when
13210 some timers are stopped.
13211
13212 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13213 after canceling it.
13214
13215 * fns.c (maybe_resize_hash_table): Handle case of new size
13216 coming out as being the same as old size.
13217
387023ee
JR
132182000-02-27 Jason Rumney <jasonr@gnu.org>
13219
13220 * makefile.nt: Add atimer.h to dependencies.
13221 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13222 * w32console.c: Only disable window system features for dispextern.h
13223 (initialize_w32_display): Build a display info for the console.
13224 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13225 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13226 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13227 as 2 button mice.
13228 * w32gui.h (struct W32FontStruct): Revert last change after change
13229 to xdisp.c.
13230 * w32menu.c (single_submenu): Set up help string.
13231 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13232 (w32_dialog_show): Set up help string.
13233 * w32term.c (w32_display_info_for_display): Remove unused function.
13234 (w32_draw_bitmap): Use pre-built bitmaps.
13235 (w32_initialize_display_info): New function to initialize parts of
13236 display info that are common to both GUI and console frames.
13237 (w32_term_init): Use w32_initialize_display_info. Do not set
13238 Vw32_num_mouse_buttons here, as it is not called for console
13239 frames. Build bitmaps for indicating truncated lines etc.
13240 (x_delete_display): Destroy pre-built bitmaps.
13241 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13242 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13243
4516715a
DL
132442000-02-27 Dave Love <fx@gnu.org>
13245
13246 * lisp.h: Add a bunch of prototypes.
13247
171ca836
KH
132482000-02-26 Kenichi Handa <handa@etl.go.jp>
13249
13250 * keyboard.c (read_char): Set `usec' correctly.
13251
4013921d
KH
132522000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13253
13254 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13255 `lambda', set reg[RRR] to the map index.
13256 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13257 reg[RRR] to 0. Otherwise, set it to -1.
13258
9244a058
GM
132592000-02-25 Gerd Moellmann <gerd@gnu.org>
13260
2df636f4 13261 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13262
18e21ce8 132632000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13264
f43d79c1
GM
13265 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13266 and contains a `:', prepend `/:'.
13267
13268 * window.c (select_window_1): If selected_window is nil,
13269 don't "swap out" the buffer's point.
13270 (Fset_window_configuration): Set selected_window to nil
13271 before calling Fselect_window.
13272 (unshow_buffer): Don't set point in buffer from window's point
13273 if another more recently selected window also shows the buffer.
13274
bed0c171
GM
132752000-02-25 Gerd Moellmann <gerd@gnu.org>
13276
449c3c52
GM
13277 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13278
f5b58615
GM
13279 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13280 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13281 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13282 New variables.
f5b58615
GM
13283 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13284 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13285 (hide_busy_cursor): New functions.
13286 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13287
13288 * minibuf.c (read_minibuf): Cancel busy-cursor.
13289
13290 * keyboard.c (command_loop_1): Call start_busy_cursor before
13291 Fcommand_execute and cancel_busy_cursor after it.
13292 (timer_check): Remove busy-cursor code.
13293 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13294 cursor timer.
13295
13296 * process.c (wait_reading_process_input): Remove busy-cursor code.
13297
13298 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13299 Fx_hide_busy_cursor.
13300
13301 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13302 Remove prototyoes.
13303 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13304
13305 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13306
13307 * xterm.c (XTread_socket): Remove busy-cursor code.
13308
4eb8436f
GM
13309 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13310 (build_frame_matrix_from_leaf_window): Put code handling
13311 glyph row's not being a slice of a frame row in #if 0.
13312 (sync_window_with_frame_matrix_rows): New function.
13313 (frame_row_to_window): New function.
13314 (mirror_line_dance): Handle copies between windows.
13315
3cb65b0e
GM
13316 * lread.c (Fload): Use `xfree' instead of `free'.
13317 (init_obarray): Use `xmalloc' instead of `malloc'.
13318
bed0c171
GM
13319 * window.c (Fset_window_buffer): Set WINDOW to the window
13320 after decoding.
2add4349
GM
13321 (coordinates_in_window): Take frame's internal border width
13322 into account.
bed0c171 13323
42088c12
GM
133242000-02-24 Gerd Moellmann <gerd@gnu.org>
13325
13326 * xterm.c (x_display_and_set_cursor): Display cursor of
13327 non-selected windows depending on the setting of
13328 cursor_in_non_selected_windows.
13329
13330 * xdisp.c (cursor_in_non_selected_windows): New variable.
13331 (syms_of_xdisp): DEFVAR_BOOL it.
13332
d1e103b2
GM
133332000-02-23 Gerd Moellmann <gerd@gnu.org>
13334
723e779c
GM
13335 * data.c (Fstring_to_number): If number is greater than what
13336 fits into an integer, return a float.
13337
d1e103b2
GM
13338 * eval.c (specbind): Remove references to
13339 keyword_symbols_constant_flag.
13340
13341 * data.c (keyword_symbols_constant_flag): Removed.
13342 (Fmakunbound, set_internal, syms_of_data): Remove references to
13343 keyword_symbols_constant_flag.
13344
13345 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13346
214f877f
KH
133472000-02-23 Kenichi Handa <handa@etl.go.jp>
13348
13349 * syntax.c (multibyte_syntax_as_symbol): New variable.
13350 (syms_of_syntax): Declare it as a Lisp variable.
13351 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13352 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13353 nonzero, treat all multibyte characters as symbol.
52283633 13354 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13355
130adcb7
EZ
133562000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13357
3cb65b0e 13358 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13359 a deleted frame.
130adcb7 13360
17cbbf95
GM
133612000-02-21 Gerd Moellmann <gerd@gnu.org>
13362
13363 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13364
13365 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13366 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13367
beb0bc36
DL
133682000-02-21 Dave Love <fx@gnu.org>
13369
13370 * frame.c (Vmouse_position_function): New variable.
13371 (Fmouse_position): Use it.
13372 (syms_of_frame): Install it.
13373
13374 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13375
1d92afcd
GM
133762000-02-20 Gerd Moellmann <gerd@gnu.org>
13377
13378 * fileio.c (Finsert_file_contents): Unbind the binding of
13379 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13380
13381 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13382 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13383 (specbind, unbind_to): Handle most common case of non-constant
13384 symbol with trivial value specially.
13385
13386 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13387
18e21ce8 133882000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13389
13390 * data.c (Fmake_variable_buffer_local): Doc fix.
13391 Init found_for_buffer to 0.
13392 (Fmake_variable_frame_local): If the variable has already
13393 been buffer-local, set the check_frame field.
13394
1d4311c3
EZ
133952000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13396
13397 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13398 produced for CODING_MODE_LAST_BLOCK requires.
13399
2dc95ddd
DL
134002000-02-18 Dave Love <fx@gnu.org>
13401
13402 * keyboard.c (echo_keystrokes): Remove declaration.
13403 (Vecho_keystrokes) New variable.
13404 (read_char, record_menu_key, read_key_sequence): Use it to allow
13405 use of float value.
13406 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13407
13408 * lread.c: Undef feature selection macros before defining.
13409
f0930f35
GM
134102000-02-18 Gerd Moellmann <gerd@gnu.org>
13411
13412 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13413 for symbols other than the symbol in question.
13414
e3d4de90
DL
134152000-02-17 Dave Love <fx@gnu.org>
13416
13417 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13418
0b378936
GM
134192000-02-17 Gerd Moellmann <gerd@gnu.org>
13420
d621caf7
GM
13421 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13422
0b378936
GM
13423 * alloc.c (enum mem_type): Compile unconditionally.
13424
3b451f74
EZ
134252000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13426
13427 * xfaces.c (tty_defined_color): Don't return faulire indication
13428 for unspecified-fg and unspecified-bg pseudo-colors.
13429
10689a01
GM
134302000-02-17 Gerd Moellmann <gerd@gnu.org>
13431
1216f5e4
GM
13432 * alloc.c (mark_object): Don't mark symbol names in pure space.
13433 (gc_sweep): Don't unmark symbol names in pure space.
13434
13435 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13436 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13437 [GC_MARK_STACK]: New defines.
427ec082 13438 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13439 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13440
13441 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13442
13443 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13444 allocate_buffer instead of xmalloc.
13445
13446 * alloc.c (toplevel): Include setjmp.h.
13447 (PURE_POINTER_P): New define.
13448 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13449 (Vdead) [GC_MARK_STACK]: New variable.
13450 (lisp_malloc): Add parameter TYPE, call mem_insert if
13451 GC_MARK_STACK is defined.
13452 (allocate_buffer): New function.
427ec082 13453 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13454 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13455 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13456 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13457 (MEM_NIL) [GC_MARK_STACK]: New define.
13458 (struct mem_node) [GC_MARK_STACK]: New structure.
13459 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13460 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13461 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13462 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13463 (mark_stack) [GC_MARK_STACK]: New functions.
13464 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13465 (clear_marks): Removed.
13466 (gc_sweep): Set free conses' car, free floats' type, free
13467 symbols' function to Vdead. Use lisp_free to free buffers.
13468 (init_alloc_once): Initialize Vdead.
13469 (survives_gc_p): Return non-zero for pure objects.
13470
13471 * alloc.c: Add comments throughout the file.
13472
2503c8b1
GM
13473 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13474 that unblocks alarms.
13475
8389e1e2
GM
13476 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13477 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13478 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13479
10689a01 13480 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13481
bfc17d18
KH
134822000-02-17 Kenichi Handa <handa@etl.go.jp>
13483
4a09dee0
KH
13484 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13485 avoid infinite error signaling. Allocate sufficient memory for
13486 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13487
2b927d02
SM
134882000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13489
13490 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13491 depends on the previous behavior.
13492
b49cb764
GM
134932000-02-16 Gerd Moellmann <gerd@gnu.org>
13494
13495 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13496
99e95407
GM
134972000-02-15 Gerd Moellmann <gerd@gnu.org>
13498
13499 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13500
13501 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13502 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13503 write(2).
13504
6ffd3cf7
RS
135052000-02-15 Richard M. Stallman <rms@gnu.org>
13506
13507 * data.c (set_internal): Don't make variable buffer-local
13508 if within a let-binding for the same buffer.
13509 (let_shadows_buffer_binding_p): New function.
13510
13511 * eval.c (specbind): For buffer-local value,
13512 record the current buffer also.
13513 (unbind_to): Cope with that change.
13514
cad53475
GM
135152000-02-15 Gerd Moellmann <gerd@gnu.org>
13516
13517 * window.c (Fsave_window_excursion): Doc fix.
13518
1aa963c8
SM
135192000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13520
13521 * syntax.c (back_comment): Make sure we only consider comment-starters
13522 of the relevant style and return -1 in case of a failure to find the
13523 beginning of the comment.
13524 (Fforward_comment): If back_comment fails, go back to the position just
13525 after the comment-end.
13526 (scan_lists): Add comment describing a very minor bug.
13527
b9b84fd3
SM
135282000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13529
13530 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13531 `completion-regexp-list' in the docstring.
13532
3a28db80
DL
135332000-02-14 Dave Love <fx@gnu.org>
13534
13535 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13536
fb4a568d
SM
135372000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13538
13539 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13540 to Emacs' syntax. Also fix the comment about set/not-set meanings
13541 since Emacs syntax is not the value 0 any more.
13542 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13543 since it's now part of RE_SYNTAX_EMACS.
13544
1063ebb5
DL
135452000-02-12 Dave Love <fx@gnu.org>
13546
52283633 13547 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13548
fb07a302
GM
135492000-02-12 Gerd Moellmann <gerd@gnu.org>
13550
13551 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13552
aaf2320c
DL
135532000-02-12 Dave Love <fx@gnu.org>
13554
13555 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13556
13557 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13558 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13559 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13560
13561 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13562
13563 * s/nextstep.h: Don't define HAVE_ALLOCA.
13564
13565 * config.in: Add vfork bits.
13566
eedf8bde
GM
135672000-02-12 Gerd Moellmann <gerd@gnu.org>
13568
13569 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13570 unwind function to undo the effect of stopping atimers.
13571
52283633 13572 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13573
13574 * atimer.c (stopped_atimers): New variable.
13575 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13576 New functions.
13577
13578 * atimer.h (stop_other_atimers, run_all_atimers)
13579 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13580
eedf8bde
GM
13581 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13582
8476c2f8
KR
135832000-02-11 Ken Raeburn <raeburn@gnu.org>
13584
13585 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13586 library may depend on jpeg.
13587 (atimer.o): Depends on atimer.c.
13588
0e85e4a3
KH
135892000-02-11 Kenichi Handa <handa@etl.go.jp>
13590
13591 * insdel.c (del_range_1): Call update_compositions.
13592 (del_range_both): Call update_compositions just once..
13593
97fa0cc8
DL
135942000-02-10 Dave Love <fx@gnu.org>
13595
13596 * xfns.c (create_frame_xic): Fix initialization of automatic
13597 aggregates for pcc.
13598
25566a3c
KH
135992000-02-09 Kenichi Handa <handa@etl.go.jp>
13600
13601 * ccl.c (CCL_MAKE_CHAR): New macro.
13602 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13603 registers by CCL_MAKE_CHAR before calling translate_char.
13604 <CCL_TranslateCharacterConstTbl> Likewise.
13605
69da54ba
DL
136062000-02-08 Dave Love <fx@gnu.org>
13607
13608 * lread.c (__EXTENSIONS__): Define.
13609
f7136ee8
GM
136102000-02-08 Gerd Moellmann <gerd@gnu.org>
13611
13612 * puresize.h (BASE_PURESIZE): Increase to 650000.
13613
7768790b
EZ
136142000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13615
13616 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13617 the help message.
13618
38fd211b
EZ
136192000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13620
13621 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13622 md, mh, mb, mr, and me to the fake termcap entry.
13623
66e4690f
KR
136242000-02-06 Ken Raeburn <raeburn@gnu.org>
13625
13626 * sound.c (sound_cleanup): Don't call device close routine if the
13627 function pointer is null.
13628
a75dfea0
AI
136292000-02-06 Andrew Innes <andrewi@gnu.org>
13630
13631 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13632 around image definitions and prototypes.
13633 (gamma_correct) [WINDOWSNT]: New prototype.
13634
13635 * w32term.c (x_make_frame_visible): Replace call to
13636 input_poll_signal with poll_for_input.
13637
13638 * window.c [WINDOWSNT]: Include w32term.h.
13639
13640 * xdisp.c [WINDOWSNT]: Include w32term.h.
13641
13642 * makefile.nt: Add dependencies on w32gui.h.
13643 (OBJ1): Include atimer.obj.
13644 ($(BLD)\atimer.obj): New dependency rule.
13645
13646 * w32.c (sigmask): New function (does nothing).
13647 (sigunblock): Ditto.
13648
13649 * frame.c [WINDOWSNT]: Include w32term.h.
13650
13651 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13652
13653 * lread.c (syms_of_lread): Fix literal newlines.
13654
13655 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13656 the string constant limit (2048 bytes) in MSVC.
13657 (main): Ditto.
13658
59ddecde
GM
136592000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13660
52283633 13661 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13662 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13663 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13664 dispatch the event.
13665
07590973
DL
136662000-02-04 Dave Love <fx@gnu.org>
13667
13668 * fileio.c: Remove some unused vars.
13669 (_GNU_SOURCE): Define (for euidaccess).
13670
13671 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13672
13673 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13674 gcpro1, gcpro2.
13675 (read_minibuf): Deal with allow_props correctly.
13676
649351f9
EZ
136772000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13678
13679 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13680
66e4690f 136812000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13682
13683 * search.c (compile_pattern): If a cache entry has a nil regexp,
13684 fill in that entry instead of clobbering a previously cached
13685 string regexp.
13686
66e4690f 136872000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13688
13689 * puresize.h (BASE_PURESIZE): Increase to 610000.
13690
d240a249
GM
136912000-02-02 Gerd Moellmann <gerd@gnu.org>
13692
13693 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13694 can GC.
13695
ca91fb26
KH
136962000-02-02 Kenichi Handa <handa@etl.go.jp>
13697
25660570
KH
13698 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13699 instead of incrementing ic directly.
13700 <CCL_WriteExprConst> Likewise.
13701 <ccl_set_expr>: Set ic to jump_address.
13702
ca91fb26
KH
13703 * fileio.c (e_write): Fix the handling of
13704 CODING_FINISH_INSUFFICIENT_SRC.
13705
2ede9689
DL
137062000-02-01 Dave Love <fx@gnu.org>
13707
13708 * editfns.c (Fpropertize): Doc fix.
13709
13710 * process.c (Fstart_process): Doc fix.
13711
13712 * eval.c: Fix various doc strings not to duplicate information
13713 from help-manyarg-func-alist.
13714
52283633 13715 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13716
13717 * doc.c (Vhelp_manyarg_func_alist): New variable.
13718 (Fdocumentation): Use it.
13719 (syms_of_doc): Define it.
13720
b6680a0e
GM
137212000-01-31 Gerd Moellmann <gerd@gnu.org>
13722
2cb750ba
GM
13723 * xterm.c (xim_open_dpy): Remove unused local variable.
13724
52283633 13725 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13726
13727 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13728 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13729
b6680a0e
GM
13730 * fns.c (sweep_weak_table): New function.
13731 (sweep_weak_hash_tables): Use it. Keep on marking until there
13732 is no more change.
13733
994c5afe
GM
137342000-01-30 Gerd Moellmann <gerd@gnu.org>
13735
13736 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13737 that XTread_socket does not crash by trying to call XNoOp on a
13738 closed display.
427ec082 13739
f00276e3
JR
137402000-01-30 Jason Rumney <jasonr@gnu.org>
13741
13742 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13743 Change selected_frame to SELECTED_FRAME ().
13744 (w32_console_mouse_position): Remove #ifndef MULE from around
13745 `insist' parameter.
13746
13747 * makefile.nt: Remove dosfns.obj.
13748
13749 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13750
13751 * w32fns.c (w32_defined_color): Check for valid frame before
13752 applying gamma correction. Eliminate dependency on frame elsewhere.
13753 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13754 (w32_to_x_font): Use resx and resy not height_in and width_in.
13755 (x_to_w32_font): Doc fix.
13756 (xlfd_strip_height): New function to strip and return font height.
13757 (w32_font_match): Compare height separately from rest of xlfd
13758 spec, using xlfd_strip_height.
13759
13760 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13761 width_in. Use w32_defined_color in place of defined_color.
13762
13763 * w32faces.c: Merge more of DOS and X specifics in preparation for
13764 merge with xfaces.c.
13765 (defined_color): Remove FIXME comment.
13766 (tty_color_name): Provide w32-specific function.
13767 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13768
13769 * w32console.c (turn_on_face, turn_off_face): Removed.
13770 (w32_face_attributes): New function.
13771 (Global_variables): Reduce scope where possible.
13772 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13773 fill attribute.
13774 (hl_mode): Don't modify text attributes.
13775 (write_glyphs): Don't do anything if len <= 0. Use
13776 w32_face_attributes to get attributes for drawing. Write
13777 terminating codes using char_attr_normal.
13778 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13779 (update_begin, update_end): Likewise.
13780 (vga_stdcolor_name): New function.
13781 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13782 (Fset_screen_color): Remove char_attr_reverse.
13783
b08e8bb2
GM
137842000-01-29 Gerd Moellmann <gerd@gnu.org>
13785
13786 * xfns.c (xic_set_preeditarea): Take window parameter and
13787 window-relative pixel-positions.
13788
13789 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13790 is its frame's selected window.
13791 (xim_instantiate_callback): Likewise.
13792
13793 * xfns.c (x_create_im): Removed.
13794 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13795 (supported_xim_styles): Renamed from supported_styles.
13796 (best_xim_style): Renamed from best_style.
13797 (create_frame_xic): Renamed from xic_create_frame.
13798 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13799
b08e8bb2
GM
138002000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13801
13802 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13803 our frames, call XFilterEvent with 2nd parameter `None'.
13804 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13805 returning XBufferOverflow.
52283633 13806 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13807 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13808 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13809 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13810 (xim_initialize, xim_close)
13811 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13812 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13813 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13814 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13815
13816 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13817 and `xim_styles'.
13818 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13819 `xic_style' and `xic_xfs'.
13820 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13821 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13822 (FRAME_XIM): Removed.
13823
13824 * xfns.c (supported_styles): New variable.
13825 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13826 (xic_create_xfontset, best_style, xic_create_frame)
13827 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13828 (xic_set_xfontset): New functions.
13829
142e109c
DL
138302000-01-28 Dave Love <fx@gnu.org>
13831
13832 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13833
13834 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13835
b02786f9
GM
138362000-01-28 Gerd Moellmann <gerd@gnu.org>
13837
d060bc9f
GM
13838 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13839 for *scratch* if it already existed.
13840
b02786f9
GM
13841 * emacs.c (USAGE): New macro.
13842 (main): Use it to display usage information.
13843
2c52d7e4
EZ
138442000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13845
13846 Support for the menu-help feature:
13847
52283633 13848 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13849
13850 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13851 part of the line to the termscript file.
13852 (IT_clear_to_end): Clear the entire line, not just its beginning.
13853 (menu_help_message, prev_menu_help_message): New variables.
13854 (IT_menu_make_room): Make room for the help_text member.
13855 (IT_menu_display): New argument disp_help; all callers changed.
13856 If disp_help is non-zero, store the help text of the active menu
13857 item in menu_help_message.
13858 (XMenuAddPane): Initialize the help_text member to NULL.
13859 (XMenuAddSelection): New argument help_text. Store it in the
13860 XMenu structure.
13861 (XMenuActivate): New argument help_callback. If the value of
13862 menu_help_message has changed since the last time, display the
13863 menu help message text while waiting for the mouse to move. Clear
13864 the echo area before exiting.
13865 (XMenuDestroy): Free the help_text member.
13866
ffe0bcd1
GM
138672000-01-27 Gerd Moellmann <gerd@gnu.org>
13868
13869 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13870 XMenuAddSelection. Pass help callback to XMenuActivate.
13871 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13872
50dbd23f
EZ
138732000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13874
13875 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13876 and EMACS_SET_USECS.
13877
f5941bf8
GM
138782000-01-26 Dave Love <fx@gnu.org>
13879
6c67ddee
DL
13880 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13881
f5941bf8
GM
13882 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13883 an error may be signalled.
13884
9e49c990
GM
138852000-01-26 Gerd Moellmann <gerd@gnu.org>
13886
fc3cb460
GM
13887 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13888 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13889
9e49c990
GM
13890 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13891
d0c037d8
GM
138922000-01-25 Gerd Moellmann <gerd@gnu.org>
13893
13894 * charset.c (Fstring): If there is a multibyte char among
13895 the args, always return a multibyte string.
13896
e12489f9
GM
138972000-01-25 Gerd Moellmann <gerd@gnu.org>
13898
13899 * sysdep.c (sys_select): Turn atimers off and on instead of
13900 recording and restoring old alarm handler
13901
13902 * process.c (toplevel): Include atimer.h.
13903 (create_process_1): Rewritten.
13904 (create_process): Use atimers instead of alarm.
13905 (wait_reading_process_input) [hpux]: Turn atimers off instead
13906 of turning off SIGALRM.
13907 (wait_reading_process_input): Turn off atimers instead off
13908 calling stop_polling.
13909
13910 * emacs.c (main): Call init_atimer.
13911
13912 * keyboard.c (toplevel): Include systime.h and atimer.h.
13913 (polling_for_input): Removed because unused.
13914 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13915 (poll_timer): New variable.
13916 (poll_for_input, poll_for_input_1): New functions.
13917 (start_polling, stop_polling): Rewritten.
13918
13919 * keyboard.h (polling_for_input): Removed.
427ec082 13920
e12489f9
GM
13921 * atimer.h, atimer.c: New files.
13922
13923 * Makefile.in (obj): Add atimer.o.
13924 (atimer.o): New target.
13925
13926 * blockinput.h (pending_atimers): Add extern declaration.
13927 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13928
13929 * lisp.h (popup_activated_flag): Add extern declaration.
13930
13931 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13932 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13933 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13934
13935 * xterm.c (toplevel): Include atimer.h.
13936 (toolkit_scroll_bar_interaction): New variable.
13937 (Fxt_process_timeouts): Removed.
13938 (x_process_timeouts): New function.
13939 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13940 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13941 (x_make_frame_visible): Call poll_for_input_1 instead of
13942 input_poll_signal. Don't call alarm.
13943 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13944
1e5279b9
DL
139452000-01-24 Dave Love <fx@gnu.org>
13946
6c67ddee 13947 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13948 Don't use -cckr -- apparently not now necessary.
13949
edf6aeb8
EZ
139502000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13951
13952 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13953 screen boundary.
13954
9badad41
JR
139552000-01-23 Jason Rumney <jasonr@gnu.org>
13956
13957 * w32fns.c (w32_defined_color): Apply gamma correction before
13958 trying to map to the palette.
13959 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13960 to w32_clear_rect.
13961
13962 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13963 here. Callers changed to always pass real device context.
13964 (w32_draw_bitmap): Likewise.
13965 (w32_get_glyph_overhangs): Likewise.
52283633 13966 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13967 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13968 pfnSetScrollInfo and SetScrollRange.
13969 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13970 back into MULE characters after decoding them.
13971 (x_get_glyph_face_and_encoding): Likewise.
13972 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13973 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13974 (x_produce_glyphs): Calculate per char metrics for a character
13975 that we know exists in default font when font_not_found_p is true.
13976
63bd786b
JR
139772000-01-22 Jason Rumney <jasonr@gnu.org>
13978
13979 * makefile.nt (intervals.obj, composite.obj): New modules.
13980 (composite.h): Added as dependency where appropriate.
13981
13982 * w32gui.h (XGCValue): New struct for emulating X GCs.
13983
13984 * w32term.h (XCharStruct): New struct for emulating X.
13985
13986 * w32console.c (turn_on_face, turn_off_face): New functions.
13987 (change_line_highlight): New prototype for new redisplay.
13988 (write_glyphs): Support multibyte text. Support faces.
13989
52283633 13990 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13991
13992 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13993 throughout. struct frame * in place of FRAME_PTR.
13994 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13995 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13996 (w32_get_arg): Renamed from x_get_arg.
13997 (Fx_file_dialog): New function.
13998 (w32_list_fonts): Check cache before asking system.
13999 (Vw32_enable_synthesized_fonts): New variable.
14000 (Vw32_enable_italics): Obsolete, removed.
14001
14002 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14003 Use SELECTED_FRAME macro.
14004
14005 * w32menu.c: Add skeleton support for help strings on menus.
14006 (add_menu_item): Native checkbox and radio support added, but not
14007 yet enabled due to bugs.
14008 (push_menu_item): Add parameters type, selection and help.
14009 Callers updated.
14010 Formatting changes to reduce unnecessary diffs with xmenu.c.
14011
14012 * w32select.c (Fw32_set_clipboard_data): Update call to
14013 find_charset_in_str.
14014
14015 * w32term.c: Complete rewrite for new redisplay based on new
14016 xterm.c with necessary sections merged back in from old w32term.c.
14017
6ffd3cf7 140182000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14019
14020 * data.c (set_internal): Further fix in same criterion.
14021
6ffd3cf7 140222000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14023
14024 * data.c (set_internal): Fix the criteria for whether
14025 to swap out the old cached binding.
14026
60af03f1
DL
140272000-01-19 Dave Love <fx@gnu.org>
14028
14029 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14030
f9be074f
KH
140312000-01-18 Kenichi Handa <handa@etl.go.jp>
14032
14033 * regex.c (re_compile_fastmap): While checking a range table for
14034 `charset', skip flag bits for a character class correctly.
14035
52b8dbf9
GM
140362000-01-17 Gerd Moellmann <gerd@gnu.org>
14037
d36100c9
GM
14038 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14039
52283633 14040 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14041
14042 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14043 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14044
14045 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14046 MENU_ITEMS_ITEM_.*.
14047 (MENU_ITEMS_ITEM_HELP): New enumerator.
14048 (push_menu_item): Add parameter HELP. Record help in menu_items.
14049 (single_menu_item, single_submenu, list_of_items): Call
14050 push_menu_item with new parameter.
14051 (single_submenu): Set help string in widget value.
14052 (menu_highlight_callback): New function.
14053 (set_frame_menubar): Call lw_create_widget with new
14054 parameter list.
14055 (xmenu_show, xdialog_show): Ditto.
14056
3139018f
GM
140572000-01-13 Gerd Moellmann <gerd@gnu.org>
14058
14059 * sound.c (Fplay_sound): Improve doc string.
14060
83c8f461
RS
140612000-01-11 Richard M. Stallman <rms@gnu.org>
14062
14063 * lisp.h (set_internal): Enter the new arg.
14064
14065 * eval.c (specbind): Record buffer-local variables specially,
14066 indicating which buffer's binding was saved.
14067 (unbind_to): Restore buffer-local variables specially
14068 in the proper buffer.
14069
14070 * data.c (set_internal): New arg BUF.
427ec082 14071
83c8f461
RS
14072 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14073 * data.c (Fset): Pass new arg to set_internal.
14074 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14075
1fab1775
GM
140762000-01-11 Gerd Moellmann <gerd@gnu.org>
14077
52283633 14078 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14079
83c8f461 140802000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14081
14082 * minibuf.c (Ftry_completion): Doc fix.
14083
7a85e4df
GM
140842000-01-11 Gerd Moellmann <gerd@gnu.org>
14085
14086 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14087 vector, too.
14088
a970dae4
AS
140892000-01-11 Andreas Schwab <schwab@suse.de>
14090
14091 * coding.c (code_convert_region): Initialize total_skip.
14092
c65d14ee
DL
140932000-01-08 Dave Love <fx@gnu.org>
14094
14095 * eval.c (Fuser_variable_p): Check customizability too.
14096
834938d2
GM
140972000-01-07 Gerd Moellmann <gerd@gnu.org>
14098
14099 * minibuf.c (Fcompleting_read): Doc fix.
14100
e0303cd6
GM
141012000-01-05 Gerd Moellmann <gerd@gnu.org>
14102
8a26744b
GM
14103 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14104 -L /usr/local/lib.
14105
e0303cd6
GM
14106 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14107 Check that input style is supported before trying to create an
14108 IC for it.
14109 (x_window): Call x_create_im.
427ec082 14110
2e471eb5
GM
141112000-01-04 Gerd Moellmann <gerd@gnu.org>
14112
560a7bd2
GM
14113 * xfns.c (current_gif_memory_src): New variable.
14114 (gif_load): Record the address of the current memory source
14115 in current_gif_memory_src.
14116 (gif_read_from_memory): Use current_gif_memory_src.
14117
f9ee84a3
GM
14118 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14119 macros statement form.
14120
d1299cde
GM
14121 * sound.c (struct sound): Renamed from struct sound_file.
14122 (struct sound): Add members `data' and `header_size'.
14123 (enum sound_attr): Add SOUND_DATA.
14124 (current_sound, current_sound_device): Variables renamed from
14125 sound_file and sound_device.
14126 (parse_sound): Parse :data.
14127 (parse_sound): Handle sound data in strings.
14128 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14129 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14130 needed header size.
14131 (wav_play, au_play): Play sounds from string data.
14132
2e471eb5
GM
14133 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14134
14135 * lisp.h: Add prototype for allocate_string_data.
14136
52283633 14137 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14138
14139 * alloc.c (mark_buffer): Remove code in #if 0.
14140 (gc_sweep): Ditto.
14141 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14142 (strings_consed): New variable.
14143 (allocate_string): Set it.
14144 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14145 (Fmemory_use_counts): Return strings_consed. Use Flist.
14146
14147 * alloc.c: General cleanup in comments etc. Remove conditional
14148 compilation for `standalone'.
14149
14150 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14151
14152 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14153 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14154 (DONT_COPY_FLAG): Removed.
14155 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14156 (struct sdata, struct sblock): New
14157 (struct string_block): Rewritten.
14158 (STRINGS_IN_STRING_BLOCK): New macro.
14159 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14160 (large_sblocks, string_blocks, string_free_list): New variables.
14161 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14162 (init_strings): Rewritten.
14163 (allocate_string, allocate_string_data, compact_small_strings)
14164 (free_large_strings, sweep_strings): New functions.
14165 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14166 (struct string_block_head, current_string_block)
14167 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14168 (STRING_PAD): Removed.
14169 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14170 (Fgarbage_collect): Don't set mark bit in large strings.
14171 (mark_object): Mark strings differently. Mark symbol names
14172 differently.
14173 (survives_gc_p): Test marked strings differently.
427ec082 14174 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14175 symbol names.
14176 (compact_strings): Removed.
14177
42608ba8
EZ
141782000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14179
14180 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14181 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14182
e0a09e1a
KH
141832000-01-04 Kenichi Handa <handa@etl.go.jp>
14184
dd9f0750 14185 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14186 in a non-empty buffer.
dd9f0750 14187
3c0f3b15 14188 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14189
44cd3ae5
GM
141902000-01-03 Gerd Moellmann <gerd@gnu.org>
14191
14192 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14193 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14194
14195 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14196
c182a70f
EZ
141972000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14198
14199 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14200 need to test for MSDOS frames.
14201
24480d5b
EZ
142022000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14203
14204 * dosfns.c (unspecified_colors): Remove.
14205 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14206 unspecified_bg.
14207 (msdos_stdcolor_name): Return strings for unspecified fore- and
14208 back-ground colors.
14209
14210 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14211 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14212 (tty_color_name): Return Lisp strings for unspecified fore- and
14213 back-ground colors.
14214 (Finternal_set_lisp_face_attribute): Remove the special treatment
14215 for Qunspecified_{f,b}g.
52283633 14216 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14217
047f434a
GM
142182000-01-03 Gerd Moellmann <gerd@gnu.org>
14219
14220 * xdisp.c (reseat_at_next_visible_line_start): Position before
14221 newline only if ending up on a newline.
14222 (next_element_from_ellipsis): Return success. Handle case of
52283633 14223 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14224 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14225 returns 0.
14226
d684c676
EZ
142272000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14228
14229 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14230 (Fcolor_supported_p): Renamed from face-color-supported-p.
14231
5fe1d139
EZ
142322000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14233
14234 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14235 list of colors renamed to tty-defined-color-alist.
14236 (tty_color_name): Pass the frame to tty-color-by-index.
14237 (realize_tty_face): tty-color-alist is now a function which
14238 accepts the frame as argument.
14239
52283633 14240 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14241
816be8b8
EZ
142422000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14243
14244 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14245 encode_terminal_code.
14246
b635321e
EZ
142472000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14248
14249 * dispnew.c (mode_line_string): Support termcap frames as well.
14250
9b784e96
GM
142512000-01-01 Gerd Moellmann <gerd@gnu.org>
14252
27189709
GM
14253 * syntax.c (Fforward_word): Undo previous change.
14254
14255 * editfns.c (Fconstrain_to_field): Don't constrain if
14256 inhibit-field-text-motion is non-nil.
14257 (Fline_beginning_position): Undo previous change.
14258 (Fline_end_position): Ditto.
14259
14260 * syntax.c (Fforward_word): Notice field boundaries only if
14261 inhibit-field-text-motion is nil.
14262
14263 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14264
14265 * editfns.c (Vinhibit_field_text_motion): New variable.
14266 (inhibit-field-text-motion): New DEFVAR_LISP.
14267 (Fline_beginning_position, Fline_end_position): Notice field
14268 boundaries only if inhibit-field-text-motion is nil.
14269
45158a91
GM
14270 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14271 All calls adjusted.
14272 (x_build_heuristic_mask): Likewise.
14273 (xbm_load_image_from_file): Change error output.
14274 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14275 (gif_load, gs_load, x_kill_gs_process): Ditto.
14276
9b784e96
GM
14277 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14278 color indices when accessing raster pixels.
63cec32f
GM
14279 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14280 one of :file or :data.
14281 (enum pbm_keyword_index): Add PBM_DATA.
14282 (pbm_format): Add :data.
14283 (pbm_image_p): Allow either :file or :data.
14284 (pbm_read_file): New function.
14285 (pbm_scan_number): Rewritten to read from string.
14286 (pbm_load): Support :data.
9b784e96 14287
2cb085db 14288See ChangeLog.8 for earlier changes.
6922b018
KH
14289
14290;; Local Variables:
49b3bd82 14291;; coding: iso-2022-7bit
6922b018 14292;; End:
2a34a036
GM
14293
14294 Copyright (C) 2001 Free Software Foundation, Inc.
14295 Copying and distribution of this file, with or without modification,
14296 are permitted provided the copyright notice and this notice are preserved.