Remove the description of variabel `highlight-wrong-size-font'.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e3059a5d
PJ
12001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * fontset.h: Remove prototypes for variables
4 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
5
6 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
7 `Vclip_large_size_font'.
8
b3700ae7
JR
92001-11-13 Jason Rumney <jasonr@gnu.org>
10
11 * w32fns.c: Doc fix.
12
eae936e2
PJ
132001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
14
4bb962be
PJ
15 * xfaces.c (Fface_attributes_as_vector): Doc fix.
16
0a332240
PJ
17 * w32fns.c (Fx_synchronize): Reindent.
18
ddb67bdc
PJ
19 * fns.c: Doc fix.
20
3467c402
PJ
21 * emacs.c: Doc fix.
22
23 * coding.c: Doc fix.
24
6e1b91d7
PJ
25 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
26 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
27 `new style' [w/`doc:' keyword].
28
f6e34773
PJ
29 * xmenu.c (x-popup-menu): Reindent.
30 (x-popup-dialog): Likewise.
31
c71f3632
PJ
32 * xfaces.c (Finternal_set_alternative_font_family_alist):
33 Reindent.
34
c2552f79
PJ
35 * xdisp.c (Fdump_tool_bar_row): Reindent.
36
94c7167b
PJ
37 * minibuf.c (Fminibuffer_complete_word): Reindent.
38 (Fminibuffer_complete_and_exit): Likewise.
39 (Fminibuffer_completion_help): Likewise.
40 (Fminibuffer_message): Likewise.
41
462a5e3a
PJ
42 * fns.c (Freverse): Reindent.
43
b8de5714
PJ
44 * eval.c (Fif): Reindent.
45 (Fand): Likewise.
46
deb8e082
PJ
47 * editfns.c (Fuser_real_login_name): Reindent.
48 (Finsert_buffer_substring): Likewise.
49 (Fcompare_buffer_substrings): Likewise.
50 (Fsubst_char_in_region): Likewise.
51
bacf09b4
PJ
52 * dispnew.c (Fsit_for): Reindent.
53 (Fframe_or_buffer_changed_p): Likewise.
54 (Finternal_show_cursor_p): Likewise.
55 (syms_of_display): Likewise.
56
eae936e2
PJ
57 * alloc.c (Flist): Reindent.
58 (Fvector): Likewise.
59
1c1d3d69
RS
602001-11-12 Richard M. Stallman <rms@gnu.org>
61
62 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
63 LeaveNotify events. Only FocusIn and FocusOut do that now.
64 (x_display_and_set_cursor): Do display hollow cursors in active
65 minibuffer windows when they are not selected.
66
b6f4c7ba
JR
672001-11-12 Jason Rumney <jasonr@gnu.org>
68
69 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
70 * w32term.c: Change doc-string comments to `new style'.
71 [w/`doc:' keyword]. Doc fixes.
72
73 * w32fns.c: Don't define max.
74 (Fx_open_connection): Only execute once.
75
a89f435d
PJ
762001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
77
78 * ccl.c: Change macros to use do-while block instead of if-else.
79 Use braces to follow GNU Coding Standards.
80
a4cd0cd7
RS
812001-11-11 Richard M. Stallman <rms@gnu.org>
82
eafb659a
RS
83 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
84
85 * lread.c (read_escape): Use end_of_file_error for reporting eof.
86
a4cd0cd7
RS
87 * insdel.c (replace_range): Use adjust_markers_for_replace
88 instead of adjust_markers_for_delete and adjust_markers_for_insert.
89
90 * intervals.h: Declare set_text_properties and set_text_properties_1.
91
92 * textprop.c (set_text_properties_1): New subroutine
93 broken out of set_text_properties.
94 (set_text_properties): Use set_text_properties_1.
95
96 * intervals.c (graft_intervals_into_buffer):
97 Use set_text_properties_1 to clear out properties.
98
99 * search.c (Freplace_match): Use replace_range to insert
100 and delete. Don't request property inheritance from
101 surrounding text.
102
91823618
JR
1032001-11-10 Jason Rumney <jasonr@gnu.org>
104
105 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
106 vertical fonts. Allow them if face name is explicitly specified.
107 Do not give up if we find a font that cannot be converted to an
108 xlfd.
109
86928dfb
GM
1102001-11-10 Gerd Moellmann <gerd@gnu.org>
111
112 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
113 instead of malloc/free.
114
40ef1eda
PJ
1152001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
116
ab8469eb
PJ
117 * xfaces.c (merge_face_vectors): Use braces to follow GNU
118 Coding Standards.
119 (Finternal_set_lisp_face_attribute): Likewise.
120
a78e0303
PJ
121 * buffer.c (Fbury_buffer): Likewise.
122
40ef1eda
PJ
123 * indent.c (current_column_1): Remove unused variable `prev_col'.
124
fabf4a91
PJ
125 * coding.c (encode_coding): Use precomputed value of `src'.
126 (encode_coding): Remove unused variable `src_end'.
127 (code_convert_region): Remove unused variables `count'.
128
0c99b139
JR
1292001-11-07 Jason Rumney <jasonr@gnu.org>
130
131 * w32term.c (x_display_and_set_cursor): Do not move system caret
132 if cursor_glyph is NULL.
133
830ddd77
PJ
1342001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
135
136 * keymap.c (access_keymap): Fix compilation error.
137
55c6d645
MB
1382001-11-07 Miles Bader <miles@gnu.org>
139
140 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
141
5de38842
PJ
1422001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
143
7a4564a4
PJ
144 * intervals.c (graft_intervals_into_buffer):
145 Remove #ifdef'd-out code.
146 (graft_intervals_into_buffer): Remove unused variable `middle'.
147
5de38842
PJ
148 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
149 code (eval-current-buffer).
150 Change doc-string comments to `new style' [w/`doc:' keyword].
151
4fa23df5
RS
1522001-11-06 Richard M. Stallman <rms@gnu.org>
153
154 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
155
7a6a97d7
SM
1562001-11-06 Stefan Monnier <monnier@cs.yale.edu>
157
c191d13c
SM
158 * lread.c (read1): Fix behavior with nested backquoting.
159
7a6a97d7
SM
160 * keyboard.c (make_lispy_event): Check integerness and fix
161 Lisp_Object/int mixup.
162
44dc78e0
PJ
1632001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
164
165 * fns.c (copy_hash_table): Remove unused variable `v'.
166
17893c65
PJ
167 * fontset.c (fontset_font_pattern): Remove unused variable
168 `family_registry'.
169
4d994a79
PJ
170 * indent.c (current_column_1): Remove unused variable `prev_col'.
171
d5360cc7
RS
1722001-11-05 Richard M. Stallman <rms@gnu.org>
173
174 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
175
176 * buffer.c (Fkill_buffer): Don't delete auto save file
177 if buffer is modified.
178
96238a5a
AI
1792001-11-05 Andrew Innes <andrewi@gnu.org>
180
181 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
182 CHECK_NUMBER_CDR.
183
d9d54213
RS
1842001-11-05 Richard M. Stallman <rms@gnu.org>
185
186 * unexelf.c (unexec): Minor changes; clean up comments.
187
b116830b
SS
1882001-11-05 Sam Steingold <sds@gnu.org>
189
190 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
191
3297e2a1
AS
1922001-11-05 Andreas Schwab <schwab@suse.de>
193
194 * sound.c (sound_perror): Save errno from being clobbered.
195
9212319f 1962001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
197
198 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
199 the program image directly.
200
7dd73b78
PJ
2012001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
202
203 * buffer.h (Fbuffer_local_value): Add prototype.
204
982f6c7e
RS
2052001-11-04 Richard M. Stallman <rms@gnu.org>
206
d31053f9
RS
207 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
208 and CHECK_BUFFER.
209
210 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
211 (record_char): Likewise.
212
213 * keyboard.c (make_lispy_event): Don't insist a drag event must
214 move to a different buffer position. Instead, check for moving at
215 least double_click_fuzz.
216
217 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
218
219 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
220
982f6c7e
RS
221 * indent.c (current_column_1, Fmove_to_column): Separate the code
222 for display-table glyphs from the code buffer text, to fix
223 bugs in the former.
224
830047fd
RS
2252001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
226
227 * buffer.c (Fbuffer_local_value): New function.
c191d13c 228 (syms_of_buffer): Defsubr it.
b116830b 229
830047fd
RS
230 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
231 value of `cursor-in-non-selected-windows'.
232
233 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
234 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
235 (syms_of_xdisp): Initialize it.
b116830b 236
2df5238c
PJ
2372001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
238
4e397688
PJ
239 * xfns.c (Fx_create_frame): Doc fix.
240
48b0f3ae
PJ
241 * coding.c: Change doc-string comments to `new style' [w/`doc:'
242 keyword].
243
2df5238c
PJ
244 * eval.c (top_level_value, top_level_set): Remove commented and
245 #ifdef'd-out code.
246 (Fdefvar): Fix usage in doc-string.
247
3ecaf7e5
RS
2482001-11-03 Richard M. Stallman <rms@gnu.org>
249
250 * xfns.c: Include unistd.h, if it exists.
251
252 * editfns.c: Move the include of ctype.h after unistd.h.
253
254 * gmalloc.c: Test BROKEN_PROTOTYPES.
255
8db2e33b
KR
2562001-11-03 Ken Raeburn <raeburn@gnu.org>
257
258 * lisp.h (CHECK_STRING_CAR): New macro.
259 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
260 treating XCAR and XCDR as lvalues.
261 (openp): Use CHECK_STRING_CAR.
262 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
263
aed29b97
EZ
2642001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
265
266 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 267 (SIGMASKTYPE): Define.
aed29b97
EZ
268
269 * syssignal.h (sigunblock): Don't define if already defined.
270
6cb16f95
PJ
2712001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
272
16b45be4
EZ
273 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
274 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
275 Fix typos in comments.
276
020f9b38
PJ
277 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
278 and #ifdef'd-out code.
279 Fix and reindent comments.
280
c191d13c 281 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 282
6cb16f95
PJ
283 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
284 argument `i' in macros.
285
286 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
287 `i' in macros.
288
16b45be4
EZ
289 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
290 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
291 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
292 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
293 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
294 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
295 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
296 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
297 in macros.
298
299 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
300 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
301 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
302 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
303 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
304 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
305 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
306 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
307 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
308 (remove unused second argument).
309
7e9d3c2f
SM
3102001-11-02 Stefan Monnier <monnier@cs.yale.edu>
311
312 * syntax.c (describe_syntax): New wrapper.
313 (Finternal_describe_syntax_value): Rename from describe_syntax.
314 Don't insert space at front and \n at the end.
315 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
316
317 * regex.c (re_wctype): Try to fix some warnings.
318 (regcomp, regexec): Don't forget the __restrict.
319
e6bff182
RS
3202001-11-02 Richard M. Stallman <rms@gnu.org>
321
322 * textprop.c (Fget_char_property): Doc fix.
323
9ba48103
PJ
3242001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
325
326 * process.c (Fstart_process): Add usage to doc-string.
327
328 * data.c (Fsetq_default): Ditto.
329
330 * callint.c (Finteractive): Ditto.
331
c22e59e1
SM
3322001-11-01 Stefan Monnier <monnier@cs.yale.edu>
333
334 * macros.c: Don't include keymap.h any more.
335
9271ed2c
RS
3362001-11-01 Richard M. Stallman <rms@gnu.org>
337
e6bff182
RS
338 * data.c (Fmake_local_variable): Doc fix.
339
340 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
341 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
342
9271ed2c
RS
343 * keymap.c (Fdescribe_buffer_bindings): Print character property
344 bindings along with or instead of the buffer local map.
345 Make the overriding maps override what they should.
346
8b8bd9c6
PJ
3472001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
348
349 * window.c (grow_mini_window): Fix typo in comment.
350
27188d11
GM
3512001-11-01 Gerd Moellmann <gerd@gnu.org>
352
7b49b9d2
GM
353 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
354 (XTset_vertical_scroll_bar): Likewise.
355
43f7c3ea
GM
356 * xfns.c (x_build_heuristic_mask): Use four_corners_best
357 instead of IMAGE_BACKGROUND.
c22e59e1 358
b350c2e5
GM
359 * xfns.c (four_corners_best): Reindent.
360
c22e59e1 361 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
362 Handle :box so that it is possible to specify sexprs.
363
d576358b
PJ
3642001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
365
366 * xfaces.c (Finternal_merge_in_global_face): Reindent.
367 (Fface_font): Ditto.
368 (Finternal_set_alternative_font_registry_alist): Ditto.
369 (Ftty_suppress_bold_inverse_default_colors): Ditto.
370
371 * xfns.c (x-get-resource): Reindent.
372
bf00d461
EZ
3732001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
374
375 * s/hpux11.h: New file.
376
4e10df59
PJ
3772001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
378
2b209b97
PJ
379 * emacs.c (USAGE1): Show command line option --no-window-system
380 instead of --no-windows in usage.
381 (standard_args): Rename --no-windows to --no-window-system.
382 (bug_reporting_address): Follow Emacs coding conventions.
383
9dbc9081
PJ
384 * eval.c (Fcommandp): Doc fix.
385 Change doc-string comments to `new style' [w/`doc:' keyword].
386
4e10df59
PJ
387 * frame.c (Fframe_live_p): Doc fix.
388
389 * buffer.c (selective-display-ellipses): Doc fix.
390
dd387b25
GM
3912001-10-31 Gerd Moellmann <gerd@gnu.org>
392
fe957e65
GM
393 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
394
dd387b25
GM
395 * xfaces.c (realize_x_face): If C is not a single-byte character,
396 set the face's colors_copied_bitwise_p instead of the defaulted_p
397 members which have a different meaning.
398 (free_face_colors): Do nothing for a face whose colors have been
399 copied bitwise.
400
c22e59e1 401 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 402
2e1280f8
PJ
4032001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
404
687784e8
PJ
405 * marker.c, mocklisp.c: Change doc-string comments to `new style'
406 [w/`doc:' keyword].
2e1280f8 407
b9d9a9b9
GM
4082001-10-31 Gerd Moellmann <gerd@gnu.org>
409
410 * fns.c (require_unwind): Return Lisp_Object.
411
48400103
PJ
4122001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
413
fa1361cb
PJ
414 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
415 (last-input-char): Revert doc-string to be the same as the
416 doc-string of `last-input-event'.
417
48400103
PJ
418 * xdisp.c: Fix typos in comments.
419
eafa3196
GM
4202001-10-31 Gerd Moellmann <gerd@gnu.org>
421
422 * window.c (grow_mini_window): Handle case that the root
423 window is already smaller than the nominal mininum height.
424
747d3f2a
SM
4252001-10-30 Stefan Monnier <monnier@cs.yale.edu>
426
bf9bb76f
SM
427 * emacs.c (main): Don't call keys_of_macros any more.
428
429 * lisp.h (keys_of_macros): Remove.
430
431 * macros.c (keys_of_macros): Remove.
432
747d3f2a
SM
433 * xfaces.c (Fface_attribute_relative_p): Declare args.
434
5e905a57
JR
4352001-10-30 Jason Rumney <jasonr@gnu.org>
436
437 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
438 (enum_font_cb2): Ignore fonts with vertical orientation.
439
3a426197
RS
4402001-10-30 Richard M. Stallman <rms@gnu.org>
441
442 * keyboard.c (Finput_pending_p): Doc fix.
443
a742d646
GM
4442001-10-30 Gerd Moellmann <gerd@gnu.org>
445
259cf6bc
GM
446 * xterm.c (x_after_update_window_line): Don't run the code
447 clearing in borders for rows whose visible height is 0.
448
3f99f948
GM
449 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
450 resized_p flag is set. If not set, use the much less flickering
451 method previously used.
452
453 * dispnew.c (change_frame_size_1): Set frame's resized_p.
454
455 * frame.h (struct frame) <resized_p>: New member.
456
b4a3be43
GM
457 * lread.c (to_multibyte): Ensure read_buffer is at least twice
458 as large as the number of bytes to convert.
747d3f2a 459
a742d646
GM
460 * lread.c (to_multibyte): New function.
461 (read1): Use it.
462
cacbb9e9
EZ
4632001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
464
465 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
466
99cb6b2f
GM
4672001-10-30 Gerd Moellmann <gerd@gnu.org>
468
327f42ee 469 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
470 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
471 if the row's fill_line_p is set and drawing the last glyph with
472 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 473
99cb6b2f
GM
474 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
475
8e8223e2
SM
4762001-10-29 Stefan Monnier <monnier@cs.yale.edu>
477
478 * xmenu.c: Include coding.h and charset.h.
479 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
480 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
481 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
482 Explicitly set wv->help. Use `TRUE' rather than `True'.
483 (menu_help_callback): Use empty_string.
484
485 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
486 (Fx_popup_dialog): Explicitly init f.
487 (w32_menu_display_help): Use empty_string.
488
4d083a8f
RS
4892001-10-29 Richard M. Stallman <rms@gnu.org>
490
b2304472
RS
491 * fns.c (Frequire): Detect recursive try to require the same
492 feature 3 or more levels deep, and get error.
493 (require_unwind): New subroutine.
494 (require_nesting_list): New variable.
495 (syms_of_fns): Init and staticpro it.
496
4d083a8f
RS
497 * print.c (print_object): Clarify indication of insertion type.
498
2fe41216
EZ
4992001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
500
90480000
EZ
501 * coding.c (syms_of_coding): Document that locale-coding-system is
502 used for decoding input on X.
503
2fe41216
EZ
504 * window.c (Fscroll_left, Fscroll_right): Doc fix.
505
74e79967
PJ
5062001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
507
508 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
509 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
510
60ebcfe8
GM
5112001-10-29 Gerd Moellmann <gerd@gnu.org>
512
9a7bdceb
GM
513 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
514 use NO_CURSOR if cursor_in_non_selected_windows is false.
515
3f08fcd2
GM
516 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
517 the slant attribute if FRAME is t.
518
0ccfdad2
GM
519 * xfns.c (x_set_internal_border_width): Set frame garbaged
520 when X window doesn't exist yet.
521
ef253080
GM
522 * xterm.c (x_after_update_window_line): Clear internal border
523 in different circumstances.
b116830b 524
60ebcfe8
GM
525 * xterm.c (XTread_socket) <KeyPress>: Don't use
526 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
527 <handa@etl.go.jp>.
528
73d25f9c
EZ
5292001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
530
531 * m/ibms390.h: New file. From Adam Thornton
532 <athornton@sinenomine.net>.
533
cac1daf0
GM
5342001-10-28 Gerd Moellmann <gerd@gnu.org>
535
053b3256 536 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 537
cac1daf0
GM
538 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
539 a loop counter.
540
13b1a09c
PJ
5412001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
542
186486eb
PJ
543 * emacs.c: Use argv[0] instead of emacs when -t was specified.
544
4707d2d0
PJ
545 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
546 keyword].
547 Fix typos in comments.
b116830b 548
d883731c
PJ
549 * emacs.c (bug_reporting_address): New function.
550 Use it when displaying usage message.
551
04012254
PJ
552 * minibuf.c (read_minibuf): Remove unused external declaration of
553 variable `Qread_only'.
554
13b1a09c
PJ
555 * keymap.c (access_keymap): Remove unused variable `charset'.
556
5bbf4378
MB
5572001-10-28 Miles Bader <miles@gnu.org>
558
559 * xfaces.c (merge_face_heights): Handle TO being relative as well.
560 Remove #ifdef'd-out code.
561 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
562 (syms_of_xfaces): Initialize them.
563
1ce1e4ee
JR
5642001-10-27 Jason Rumney <jasonr@gnu.org>
565
566 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
567 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
568 position using the system caret.
569
570 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
571 (w32_system_caret_height, w32_system_caret_x)
572 (w32_system_caret_y): New variables for tracking system caret.
573 (w32_initialize): Initialize them.
c2d53558 574 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 575
c2d53558
SM
576 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
577 New messages types.
1ce1e4ee
JR
578
579 * w32term.c (note_mouse_highlight): Clear old help_echo.
580
4e30ce42
PJ
5812001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
582
bb4600a4
PJ
583 * xterm.c: Fix typo in a comment.
584
7db35a48
PJ
585 * emacs.c: Fix typos in comments.
586 Remove unnecessary spaces.
587 Change doc-string comments to `new style' [w/`doc:' keyword].
588 (USAGE2): Fix typos in usage string.
589
a7248e4f
PJ
590 * xterm.c: Fix typo in a comment.
591
4e30ce42
PJ
592 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
593 emacs.c.
594
62725a92
GM
5952001-10-27 Gerd Moellmann <gerd@gnu.org>
596
798dbe1f 597 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 598 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
599 farther backward when target_y was not reached.
600
62725a92
GM
601 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
602 Display errno only if non-zero.
603 (sound_warning): New function.
604 (vox_configure): Don't treat failing to set sample rate as error.
605 (various places): Improve error messages.
606
d4e34d24
EZ
6072001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
608
944e6f60
EZ
609 * fileio.c (Faccess_file): Run the argument filename through
610 Fexpand_file_name, before using it.
611
d4e34d24
EZ
612 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
613 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
614
38d2af0c
GM
6152001-10-26 Gerd Moellmann <gerd@gnu.org>
616
da80a8d5
GM
617 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
618
38d2af0c
GM
619 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
620 Fix clearing in the case of scroll bars on the right.
c2d53558 621
56f508dd
EZ
6222001-10-26 Juanma Barranquero <lektu@terra.es>
623
624 * w32gui.h (XImage): Add a dummy typedef.
625
fbd5ceb2
GM
6262001-10-26 Gerd Moellmann <gerd@gnu.org>
627
c2d53558 628 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 629
b23236fb
EZ
6302001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
631
632 * frame.c (Fframe_parameter): Fix last change.
633
5d991fc4
EZ
634 * fileio.c: Revert last change (which removed old commented-out
635 version of expand-file-name). Add a comment that explains why
636 this old version should not be removed.
637
879eadc3
GM
6382001-10-25 Gerd Moellmann <gerd@gnu.org>
639
75700ff2
GM
640 * frame.c (Fframe_parameter): Fix a bug whereby some
641 ``artificial'' frame parameters, like `minibuffer' were not
642 obtained by calling Fframe_parameters.
643
dfe92a6a
GM
644 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
645 cursor differently.
646
879eadc3
GM
647 * xdisp.c (move_it_vertically_backward): Compute line height
648 differently. Add heuristic to try to be more compatible to 20.x.
649
e1010ebe
SM
6502001-10-25 Stefan Monnier <monnier@cs.yale.edu>
651
d73a471b
SM
652 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
653
d6da5a06
GM
654 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
655 boolean.
e1010ebe 656
f66bd220
MB
6572001-10-25 Miles Bader <miles@gnu.org>
658
659 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
660 BG is a pointer to a structure, not a structure.
661 (gif_format, png_format): Add missing commas.
662
d436d538
RS
6632001-10-24 Richard M. Stallman <rms@gnu.org>
664
665 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 666 (syms_of_xfaces): Defsubr it.
d436d538 667
075c507b
PJ
6682001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
669
670 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
671 variable `area'.
672
d492b584
PJ
6732001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
674
c2d53558 675 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 676
e2a57b34
MB
6772001-10-25 Miles Bader <miles@gnu.org>
678
679 * dispextern.h (struct image): Add `background',
680 `background_valid', and `background_transparent' fields.
681 (image_background, image_background_transparent): New declarations.
682 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
683 * xfns.c (image_background, image_background_transparent)
684 (four_corners_best): New functions.
c2d53558 685 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
686 (gs_format): Add `:background' entry.
687 (lookup_image): Set IMG's background color if specified.
688 (pbm_load, xbm_load_image, png_load): Set IMG's background field
689 when appropriate.
690 (x_clear_image_1): Reset `background_valid' and
691 `background_transparent_valid' fields.
692 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
693 calculating it here. Set IMG's background_transparent field.
694 (enum xpm_keyword_index): Add XPM_BACKGROUND.
695 (enum png_keyword_index): Add PNG_BACKGROUND.
696 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
697 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
698 (enum gif_keyword_index): Add GIF_BACKGROUND.
699 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 700 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
701 Pre-calculate image background color where necessary.
702 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
703 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
704 color to use for image glyph reliefs.
705
b547b6e8
GM
7062001-10-24 Gerd Moellmann <gerd@gnu.org>
707
d9e3b8c6
GM
708 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
709 in full-width rows.
c2d53558 710
b547b6e8
GM
711 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
712 Fix clearing of area not covered by scroll bar.
713
2beb36f9
PJ
7142001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
715
716 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
717 and `real_start'.
c2d53558 718 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
719 (glyph_rect): Remove unused variable `area'.
720
76cb5e06
GM
7212001-10-24 Gerd Moellmann <gerd@gnu.org>
722
bdbdebff 723 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
724
725 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
726 (row_containing_pos): Take additional argument DY.
727 Treat rows ending in middle of char differently.
62e33982
GM
728 (display_line): Handle tabs on window systems differently.
729
730 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
731 with additional argument.
732
733 * dispextern.h (row_containing_pos): Adjust prototype.
734
76cb5e06
GM
735 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
736 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
737 (try_window_id, try_window_reusing_current_matrix)
738 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
739 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
740
996fee11
PJ
7412001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
742
c9e60620
PJ
743 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
744 gnuemacs).
745 (HAVE_BOXES): Fix typo in comment.
746 (push_menu_pane): Fix typo in comment.
747
3b552d56
PJ
748 * xdisp.c: (display_prop_string_p): Remove unused local declaration
749 of `Qwhen'.
750 (single_display_prop_string_p): Remove unused local declarations
751 of `Qwhen' and `Qmargin'.
752 (string_buffer_position): Remove unused variable `around'.
753 (store_frame_title): Remove unused variable `width'.
754
15c565ac
PJ
755 * window.c: Don't define max.
756 (coordinates_in_window): Remove unused variable `uy'.
757
a8818eb9
PJ
758 * widget.c: Don't define max.
759
996fee11
PJ
760 * process.c: Don't define max.
761 (create_process): Remove unused variable `buffer'.
762
496e1a5b
GM
7632001-10-23 Gerd Moellmann <gerd@gnu.org>
764
c2d53558 765 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 766
5905ae8b
EZ
7672001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
768
769 * xfaces.c (Finternal_set_lisp_face_attribute)
770 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
771 frame is on a windowed display.
772
24db49fb
GM
7732001-10-23 Gerd Moellmann <gerd@gnu.org>
774
c2d53558
SM
775 * dispnew.c (sync_window_with_frame_matrix_rows):
776 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
777 of marginal areas.
778
c2d53558 779 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 780
f0487f05
EZ
7812001-10-23 Andreas Schwab <schwab@suse.de>
782
783 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
784 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
785
f0a48a01
GM
7862001-10-23 Gerd Moellmann <gerd@gnu.org>
787
c2d53558 788 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
789 REAL_END. Notice if cursor gets overwritten.
790 (notice_overwritten_cursor): Take X positions as parameters.
791 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
792 around call to x_draw_glyphs.
793
a50a10a0
PJ
7942001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
795
fc11dff0
PJ
796 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
797 instead of C) and usage.
a50a10a0 798
fc11dff0
PJ
799 * editfns.c (char-to-string): Fix argument names (use CHAR instead
800 of C) and usage.
a50a10a0
PJ
801
802 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
803 `left', `max_width' and `max_height'.
804
8738febd
GM
8052001-10-23 Gerd Moellmann <gerd@gnu.org>
806
807 * xdisp.c (display_line): For a tab continued to the next line,
808 set row's ends_in_middle_of_char_p.
809
653c329b
GM
8102001-10-22 Gerd Moellmann <gerd@gnu.org>
811
812 * xdisp.c (display_line): Fix computation of continuation lines
813 width for TABs.
814
f958c5ac
PJ
8152001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
816
7ba51063
PJ
817 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
818 `Qlaplace'.
819
f958c5ac
PJ
820 * fileio.c: Remove unused code.
821
eb360291
MB
8222001-10-22 Miles Bader <miles@gnu.org>
823
824 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
825 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
826 Remove `DOC_STRINGS_IN_COMMENTS' cases.
827
98515cf0
JR
8282001-10-21 Jason Rumney <jasonr@gnu.org>
829
830 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
831
93026d88
EZ
8322001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
833
834 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
835 (Finsert_string): Avoid the multi-line string literals warning.
836
c9a95b79
MB
8372001-10-22 Miles Bader <miles@gnu.org>
838
839 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
840 (Fdocumentation): Don't use it.
841 (syms_of_doc): Don't initialize it.
842
843 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
844 * print.c (Fwith_output_to_temp_buffer): Likewise.
845 * window.c (Fsave_window_excursion): Likewise.
c2d53558 846 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 847 (Fsave_restriction): Likewise.
c2d53558
SM
848 * eval.c (Frun_hooks, Frun_hook_with_args)
849 (Frun_hook_with_args_until_failure)
850 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
851 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
852 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
853 (Funwind_protect, Fcondition_case): Likewise.
854 * coding.c (Ffind_operation_coding_system): Likewise.
855 * keyboard.c (Ftrack_mouse): Likewise.
856
a3b10252
MB
8572001-10-21 Miles Bader <miles@gnu.org>
858
c2d53558 859 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
860 (Fmake_hash_table): Add usage: string to doc string.
861 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 862 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
863 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
864 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
865 (Fml_prefix_argument_loop): Likewise.
866
c6f73eec
PJ
8672001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
868
c2d53558 869 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 870
c6f73eec
PJ
871 * sysdep.c (init_sys_modes): Change doc-string comments to `new
872 style' [w/`doc:' keyword].
873
874 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
875 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
876 comments to `new style' [w/`doc:' keyword].
877
3cf3436e
JR
8782001-10-21 Jason Rumney <jasonr@gnu.org>
879
880 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
881
c169b8f1
JR
882 * w32term.c (remember_mouse_glyph): New function.
883 (w32_mouse_position): Use it.
884 (note_mouse_movement): If the mouse moved off the glyph, remember
885 its new position.
c2d53558 886
4fdd691b
JR
887 * w32term.h (struct w32_output): Correct spelling of x_compatible.
888 (w32_display_info): Add mouse_face_overlay.
889
c169b8f1
JR
890 * w32term.c (notice_overwritten_cursor): Renamed from
891 note_overwritten_text_cursor. Rewritten to take glyph widths into
892 account.
893 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
894 (fast_find_string_pos): New function.
895 (fast_find_position): Return the correct vpos. Add parameter
896 STOP. In the final row, stop before glyphs having STOP as object.
897 Don't consider glyphs that are not from a buffer.
898 (fast_find_position) [0]: Add a presumably more correct version
899 for after 21.1.
900 (expose_window_tree, expose_frame): Don't compute intersections here.
901 (expose_window): Do it here instead.
902 (expose_window_tree, expose_window, expose_line): Return 1 when
903 overwriting mouse-face.
904 (expose_window): If W is the window currently being updated, mark
905 the frame garbaged.
906 (expose_frame): If mouse-face was overwritten, redo it.
907 (x_use_underline_position_properties): New variable.
908 (syms_of_xterm): DEFVAR_BOOL it.
909 (x_draw_glyph_string): Add comment to use it in future.
910 (x_draw_glyph_string): Restore clipping after drawing box.
911 Fix a computation of the underline position.
912 (w32_get_glyph_string_clip_rect): Minor cleanup.
913 (x_fill_stretch_glyph_string): Remove an assertion.
914 (x_produce_glyphs): Don't convert multibyte characters
915 to unibyte characters in unibyte buffers.
916 (cursor_in_mouse_face_p): New function.
917 (x_draw_stretch_glyph_string): Use it to choose a different GC
918 when drawing a cursor within highlighted text. Don't draw
919 background again if it has already been drawn.
920 (x_draw_glyph_string_box): Don't draw a full-width
921 box just because the glyph row's full_width_p flag is set.
922 (x_draw_glyphs): Fix computation of rightmost x for
923 full-width rows.
924 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
925 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
926 change bottom shadow accordingly. Some cleanup.
927 (x_update_window_end): Handle overwritten mouse face
928 also for tool bar windows.
929 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
930 DRAW is DRAW_IMAGE_RAISED.
931 (clear_mouse_face): Return 1 if text with mouse face was
932 actually redrawn. Make the function static. Reset
933 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
934 optimize away highlighting if we pass over that same overlay again.
935 (note_mouse_highlight): Call mouse_face_overlay_overlaps
936 to detect a case where we have to highlight a different region
937 despite not having left the currently highlighted region.
938 Set mouse_face_overlay in the x_display_info. Avoid changing the
939 mouse pointer shape when show_mouse_face has already done it, or
940 there is no need. Handle mouse-face and help-echo in strings.
941 (glyph_rect): New function.
942 (w32_mouse_position): Use it to raise the threshold for mouse
943 movement event generation.
944 (w32_initialize_display_info): Initialize the x_display_info's
945 mouse_face_overlay.
946 (w32_set_vertical_scroll_bar): Don't clear a zero height
947 or width area.
948 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
949 a widget to zero height.
950
3cf3436e 951 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 952 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
953 equivalents in menu_items.
954 (w32_menu_show): Don't overwrite an item's name with its key
955 description in case the description is a multibyte string.
956 (single_submenu): Some cleanup.
957
958 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
959 (postprocess_image): New function.
960 (lookup_image): Call it for all image types except PostScript.
961 (x_kill_gs_process): Call postprocess_image.
962 (tiff_error_handler, tiff_warning_handler): New functions.
963 (tiff_load): Install them as handlers.
964 (x_kill_gs_process): Recognize if someone has cleared the image
965 cache under us.
966 (valid_image_p): Protect better against invalid image
967 specifications. Previous code could signal an error.
968 (Fx_hide_tip, Fshow_tip): Doc fix.
969 (Fv_max_tooltip_size): New variable.
970 (syns_of_xfns): DEFVAR_LISP it.
971 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
972 window buffer to *tip* right after creating the frame. Set frame's
973 window_width. Use a maximum tooltip size specified by
974 Vx_max_tooltip_size, if that has valid contents.
975 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
976 Make sure the tooltip is completely visible.
977 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
978 (Fx_create_frame): Adjust the frame's height for presence
979 of the tool bar before calling x_figure_window_size.
980 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
981 when the window gets smaller.
982 (x_set_foreground_color): Set frame's cursor_pixel.
983 (x_set_foreground_color, x_set_background_color): Cleaned up.
984 (x_set_font): Handle case of x_new_fontset returning the same name
985 as before, although there was a change in fontsets.
986
386ca361
MB
9872001-10-21 Miles Bader <miles@gnu.org>
988
c2d53558 989 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
990 (Flogxor): Add usage: string to doc string.
991 * charset.c (Fstring): Likewise.
992 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
993 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
994
14ff1ee0
PJ
9952001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
996
03be2694
PJ
997 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
998
999 * alloc.c: Reindent DEFUNs with doc: keywords.
1000
1001 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1002
14ff1ee0
PJ
1003 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1004 keyword].
1005
71431a0e
GM
10062001-10-20 Gerd Moellmann <gerd@gnu.org>
1007
6aa97356 1008 * (Version 21.1 released.)
71431a0e 1009
39f624fa
PJ
10102001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1011
c2d53558 1012 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1013
1014 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1015 0 because unused.
1016
1017 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1018 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1019 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1020
abcce93a
MB
10212001-10-20 Miles Bader <miles@gnu.org>
1022
1023 The following changes remove the glyph_row `inverse_p' field,
1024 which is never set anymore, due to other changes:
1025
1026 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1027 (reassert_line_highlight, change_line_highlight): Declarations removed.
1028 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1029 (line_hash_code, row_equal_p, fake_current_matrices)
1030 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1031 (update_frame_line, update_frame_line, update_frame_line):
1032 Don't use `inverse_p' field.
1033 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1034 change_line_highlight_hook.
1035 (XTreassert_line_highlight, x_change_line_highlight):
1036 Functions removed.
c2d53558 1037 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1038 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1039 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1040 `inverse_p' field.
c2d53558 1041 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1042 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1043 (w32_reassert_line_highlight, x_change_line_highlight):
1044 Functions removed.
1045 * w32console.c (reassert_line_highlight, change_line_highlight):
1046 Functions removed.
1047 (initialize_w32_display): Don't set reassert_line_highlight_hook
1048 or change_line_highlight_hook.
1049 (hl_mode): Function removed.
c2d53558
SM
1050 (reset_terminal_modes, set_terminal_modes, update_begin)
1051 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1052 (clear_frame, ins_del_lines): Don't call it.
1053 * termhooks.h (reassert_line_highlight_hook)
1054 (change_line_highlight_hook): Declarations removed.
1055 * term.c (reassert_line_highlight_hook)
1056 (change_line_highlight_hook): Variables removed.
1057 (reassert_line_highlight, change_line_highlight): Functions removed.
1058 * msdos.c (IT_reassert_line_highlight)
1059 (IT_change_line_highlight): Functions removed.
1060 (internal_terminal_init): Don't set reassert_line_highlight_hook
1061 or change_line_highlight_hook.
1062 (highlight): Variable removed.
c2d53558 1063 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1064 (IT_set_terminal_modes): Don't set or use it.
1065
1066 The following changes remove inverse-video support for terminals
1067 that use a `magic cookie' standout mode. Due to changes in the
1068 way mode-lines are displayed, such support no longer works
1069 anyway, and it's probable that almost no one uses such terminals
1070 anymore:
1071
1072 * term.c (standout_requested): Variable removed.
1073 (update_end, highlight_if_desired): Don't use it.
1074 (chars_wasted, copybuf): Variables removed.
1075 (write_standout_marker): Function removed.
c2d53558 1076 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1077 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1078 Don't use `chars_wasted' or `copybuf'.
1079 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1080 Set `costs_set' to true.
1081 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1082 `chars_wasted'.
1083 (clear_end_of_line): Function removed.
1084 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1085 (clear_to_end): Call `clear_end_of_line' instead of
1086 `clear_end_of_line_raw'.
54800acb
MB
1087 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1088 (term_init): Don't set them.
1089 Turn off any standout/underline modes that require magic cookies.
c2d53558 1090 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1091 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1092 Remove special processing for magic-cookie standout modes.
1093 (turn_off_face, turn_on_face): Remove special processing for
1094 underline magic-cookie glitch.
abcce93a 1095
0b5f679f
RS
10962001-10-19 Richard M. Stallman <rms@gnu.org>
1097
1098 * eval.c (syms_of_eval): Doc fixes.
1099
5a4a5bd4
GM
11002001-10-19 Gerd Moellmann <gerd@gnu.org>
1101
1102 * xdisp.c (redisplay_internal): Don't clear echo area if the
1103 mini-window is selected.
1104
79f1f96c
MB
11052001-10-19 Miles Bader <miles@gnu.org>
1106
b57c2708
MB
1107 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1108 doesn't take precedence if the affected property's value is nil.
1109
1110 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1111
79f1f96c
MB
1112 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1113 with fields and suggest using `forward-line' to avoid them.
1114 * editfns.c (Fline_beginning_position, Fline_end_position):
1115 Clarify documentation.
1116
ef879104
SM
11172001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1118
1119 * keymap.c (current_minor_maps): `override' only shadows its
1120 correspondent in minor-mode-map-alist, not the whole tail.
1121
97f4db8c
AI
11222001-10-18 Andrew Innes <andrewi@gnu.org>
1123
1124 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1125 optimization. The fontp->encoding array was not being initialized
1126 correctly when compiled with optimizations by MSVC.
1127
e6b70fd8
GM
11282001-10-18 Gerd Moellmann <gerd@gnu.org>
1129
30903479 1130 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1131
0e804d38
AI
11322001-10-17 Andrew Innes <andrewi@gnu.org>
1133
1134 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1135
1136 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1137 font_info.charset field.
1138
1139 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1140 rather than working it out by calling w32_codepage_for_font for
1141 every glyph.
1142
66e5868a
AI
11432001-10-17 Andrew Innes <andrewi@gnu.org>
1144
1145 * w32term.c (w32_read_socket): Determine clipping rectangle for
1146 the entire frame, including areas covered by scrollbars and the
1147 menubar. This avoids internal arguments about whether a frame is
1148 fully obscured or not.
1149
15b00083
GM
11502001-10-17 Gerd Moellmann <gerd@gnu.org>
1151
23e8bd86
GM
1152 * xdisp.c (try_window_id): Undo last change. Give up if
1153 window ends in strings.
30903479 1154
9c6ba6d1 1155 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1156 end if the rest of the window after the window end was already blank.
23e8bd86 1157
30903479 1158 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1159 for the release of 21.1.
1160
30903479 1161 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1162
945220bd
MB
11632001-10-17 Miles Bader <miles@gnu.org>
1164
1165 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1166 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1167 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1168 Change doc-string comments to `new style' [w/`doc:' keyword].
1169 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1170 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1171 out make-docfile.
1172
14242528
MB
11732001-10-16 Miles Bader <miles@gnu.org>
1174
1175 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1176
3ddf952f
GM
11772001-10-16 Gerd Moellmann <gerd@gnu.org>
1178
1179 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1180 *scratch*.
1181
f3fbd155
KR
11822001-10-16 Ken Raeburn <raeburn@gnu.org>
1183
1184 Avoid the assumption that car and cdr slots of cons cells are
1185 addressable lvalues; this allows for easier experimentation with
1186 other lisp implementations that may not permit such accesses for
1187 various reasons. Not quite complete -- buffer.c still needs some
1188 work, and w32/mac files need rechecking -- so compile-time
1189 enforcement is left disabled for now.
1190
1191 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1192 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1193 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1194 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1195 (XSETCAR, XSETCDR): New macros.
1196 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1197 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1198 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1199 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1200 XSETCDR.
1201 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1202 * buffer.c (record_buffer, Fbury_buffer)
1203 (swap_out_buffer_local_variables, recenter_overlay_lists)
1204 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1205 fields of a cons cell respectively.
1206 * callint.c (quotify_args, Fcall_interactively): Likewise.
1207 * ccl.c (Fregister_code_conversion_map): Likewise.
1208 * coding.c (detect_coding_system): Likewise.
1209 * composite.c (get_composition_id, make_composition_value_copy):
1210 Likewise.
30903479
SM
1211 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1212 (swap_in_symval_forwarding, set_internal, Fset_default)
1213 (Fmake_variable_buffer_local, Fmake_local_variable)
1214 (Fmake_variable_frame_local): Likewise.
f3fbd155 1215 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1216 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1217 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1218 * minibuf.c (get_minibuffer): Likewise.
1219 * search.c (Fmatch_data): Likewise.
1220 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1221 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1222 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1223 Likewise.
1224 * w32term.c (x_delete_display): Likewise.
1225 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1226 Likewise.
c2d53558 1227 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1228 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1229 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1230 (Fread_file_name): Use XSETCAR.
1231 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1232 CHECK_NUMBER_CDR.
1233 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1234 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1235 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1236 CHECK_NUMBER_CDR.
1237 * keyboard.c (read_char): Alter list traversal to avoid taking the
1238 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1239 (parse_menu_item): Use XSETCAR and XSETCDR.
1240 (reach_char_x_menu_prompt): Use XSETCAR.
1241 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1242 (Fcommand_execute): Use XSETCDR.
1243 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1244 (openp): Change list traversal to avoid using XCAR as lvalue.
1245 (read_list): Use XSETCDR.
1246 * process.c (wait_reading_process_input): Change wait_for_cell
1247 handling to avoid taking addresses of cons cell slots.
30903479
SM
1248 * xselect.c (x_own_selection, x_handle_selection_clear)
1249 (x_clear_frame_selections): Use XSETCDR.
1250 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1251 (x_handle_property_notify, x_get_foreign_selection)
1252 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1253
502150e5
PJ
12542001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1255
018ba359
PJ
1256 * buffer.c: Put doc strings in comments.
1257
30903479 1258 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1259
b56ba8de
SS
12602001-10-15 Sam Steingold <sds@gnu.org>
1261
1262 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1263
6a0b793a
PJ
12642001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1265
30903479
SM
1266 * process.c (process-inherit-coding-system-flag)
1267 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1268 in comment.
1269
a1f17501 1270 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1271 arguments. Put doc strings in comments.
a65da641
PJ
1272
1273 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1274
aa601ad0
GM
12752001-10-15 Gerd Moellmann <gerd@gnu.org>
1276
30903479 1277 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1278
aa601ad0
GM
1279 * window.c (select_window_1): Unfreeze window start. Remove a
1280 doubled test for WINDOW being live.
1281
288148a1
PJ
12822001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1283
dd8d1e71
PJ
1284 * fns.c (Fmapconcat): Fix typo in a doc string.
1285
288148a1
PJ
1286 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1287
9f5eb4a3
GM
12882001-10-15 Gerd Moellmann <gerd@gnu.org>
1289
1290 * xterm.c (x_draw_glyph_string): Restore clipping after
1291 drawing box.
1292
dbae44c8
PJ
12932001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1294
30903479 1295 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1296
0c88c937
SM
12972001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1298
56378db4
GM
1299 * indent.c (skip_invisible): Use new retval of
1300 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1301
845e4cf4
SM
1302 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1303 If a parent is reached and noinherit is set, exit immediately.
1304 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1305
0c88c937
SM
1306 * s/ms-w32.h (EXEC_SUFFIXES):
1307 * s/msdos.h (EXEC_SUFFIXES):
1308 * process.h (EXEC_SUFFIXES): Remove.
1309
1310 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1311 (decode_suffixes): Remove.
1312
1313 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1314 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1315 (invisible_ellipsis_p): Remove.
0c88c937
SM
1316
1317 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1318 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1319 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1320 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1321 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1322
d19be8a9
PJ
13232001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1324
04d7d066
PJ
1325 * lisp.h (Ftop_level): Add prototype.
1326
d624284c
PJ
1327 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1328 (XTread_socket): Improve style of comments to follow other
1329 comments.
1330
a87414f9
PJ
1331 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1332 is already prototyped in included lisp.h).
1333
d19be8a9
PJ
1334 * frame.c (Fset_mouse_position): Improve style of comment to
1335 follow other comments.
1336 (Fset_mouse_pixel_position): Improve style of comment to follow
1337 other comments.
1338 (Fmake_frame_visible): Doc fix and typo in comment.
1339 (Fmake_frame_invisible): Doc fix and typo in comment.
1340 (Ficonify_frame): Fix typo in comment.
1341
c061c855
GM
13422001-10-14 Gerd Moellmann <gerd@gnu.org>
1343
37f6b5b6 1344 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1345 * term.c, alloc.c: Put doc strings in comments.
c061c855 1346
e641b454
GM
13472001-10-13 Gerd Moellmann <gerd@gnu.org>
1348
1349 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1350 Provide definitions for doc strings in comments.
1351
1352 * fns.c: Put doc strings in comments.
1353
51724e26
EZ
13542001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1355
1356 * dired.c (file_name_completion): Ignore a candidate directory if
1357 it matches an element in completion-ignored-extensions that ends
1358 in a slash.
1359 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1360 feature in the doc string.
1361 (Ffile_name_completion): Ditto.
1362
be5fc59b
SM
13632001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1364
5a1373f3
SM
1365 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1366
1367 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1368
1369 * lisp.h (Fprovide): Update prototype.
1370 (Ffeaturep, invisible_p): Remove.
1371
bbc4a3d3 1372 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1373 (DOLIST, LOOP_PROPVAL): New macros.
1374 (invisible_p, invisible_ellipsis_p): Use them.
1375 (invisible_noellipsis_p): New function.
1376 (syms_of_xdisp): Use empty_string.
1377
1378 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1379
1380 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1381 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1382
1383 * print.c (Fwith_output_to_temp_buffer): Align with
1384 internal_with_output_to_temp_buffer.
1385 (print_preprocess): Use traverse_intervals_noorder.
1386 (print_object): Update call to traverse_intervals.
1387
1388 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1389 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1390
1391 * intervals.c (traverse_intervals_noorder): New function.
1392 (search_for_interval, count_intervals): Use it.
1393 (traverse_intervals): Use less stack space and drop `depth' arg.
1394
1395 * fns.c (Ffeaturep): Add new `subfeature' arg.
1396 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1397 (Qsubfeatures): New var.
1398 (syms_of_fns): Initialize it.
1399
026f408d
SM
1400 * keymap.c (Fkey_description): Use empty_string.
1401 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1402 (syms_of_keymap): Setup inheritance between maps.
1403 Don't export Sdescribe_bindings_internal any more.
1404
be5fc59b
SM
1405 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1406
3365175e
GM
14072001-10-12 Gerd Moellmann <gerd@gnu.org>
1408
1409 * xterm.c (notice_overwritten_cursor): Renamed from
1410 note_overwritten_text_cursor. Rewritten to take glyph widths into
1411 account.
1412
2ab7765c
EZ
14132001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1414
1415 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1416 multi-line strings without a trailing "\n\".
1417
311346bb
PJ
14182001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1419
1420 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1421 defined.
1422
2168e04d
SM
14232001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1424
026f408d
SM
1425 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1426
c0ec53ad
SM
1427 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1428 * w32proc.c (sys_spawnve):
1429 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1430 * w32.c (check_windows_init_file):
1431 * sound.c (Fplay_sound):
026f408d 1432 * emacs.c (init_cmdargs):
c0ec53ad
SM
1433 * process.c (Fstart_process): Update calls to openp.
1434
1435 * callproc.c (Vexec_suffixes): New var.
1436 (Fcall_process): Update call to openp.
1437 (decode_suffixes): New function.
1438 (syms_of_callproc): Init exec-suffixes.
1439
1440 * lread.c (Vload_suffixes, default_suffixes): New vars.
1441 (openp): Take a lisp list of suffixes.
1442 Check for file-name-handlers even if the file was absolute already.
1443 (syms_of_lread): Declare load-suffixes.
1444 (Fload): Fix up call to openp.
1445 Don't bother checking for file-name-handler at the very beginning.
1446
f6333468
SM
1447 * keymap.h (Fcopy_keymap): Don't export.
1448
1449 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1450 (Vload_suffixes, Vexec_suffixes): Declare.
1451 (openp): Update prototype.
f6333468
SM
1452
1453 * emacs.c (empty_string): New var.
1454 (syms_of_emacs): Initialize it.
1455
1456 * search.c (wordify): Use it.
1457
1458 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1459 selected window if it's not displayed there. Handle the case
1460 when the window is dedicated.
1461 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1462
1463 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1464
2168e04d
SM
1465 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1466 Remove left_ok and right_ok.
1467 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1468 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1469 new meaning of b_property.
1470
1471 * syntax.c (update_syntax_table): Simplify.
1472 (Fforward_comment): Don't skip quoted chars when going backward.
1473
13d95cc0
GM
14742001-10-11 Gerd Moellmann <gerd@gnu.org>
1475
beb0990f
GM
1476 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1477 in case I is of some unsigned type, in which case
1478 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1479 comparison becomes bogus.
1480
cb938d46
GM
1481 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1482 (Fuser_full_name): Fix bug treating a float as a fixnum.
1483
1484 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1485
1486 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1487
13d95cc0
GM
1488 * lisp.h (circular_list_error): Add prototype.
1489
1490 * data.c (Qcircular_list): New variable.
1491 (circular_list_error): New function.
1492 (syms_of_data): Initialize it Qcircular_list.
1493
e35f6ff7
SM
14942001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1495
1496 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1497 casefiddle.c, buffer.c: Include keymap.h.
1498
619632ac
GM
14992001-10-10 Gerd Moellmann <gerd@gnu.org>
1500
1501 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1502 options. From Dave Love <d.love@dl.ac.uk>.
1503
5e5388f6
GM
15042001-10-09 Gerd Moellmann <gerd@gnu.org>
1505
1506 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1507 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1508
14a3dff7
GM
1509 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1510 unsigned char.
1511 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1512
76ba8daf
AI
15132001-10-08 Andrew Innes <andrewi@gnu.org>
1514
1515 * lisp.h [max]: Undef min and max before redefining them.
1516
1517 * w32gui.h: Do not undef min and max.
1518
1519 * w32heap.h: Do not undef min and max.
1520
1521 * s/ms-w32.h: Do not undef min and max.
1522
166253cb
SM
15232001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1524
1525 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1526
0c4d9527
SS
15272001-10-08 Sam Steingold <sds@gnu.org>
1528
1529 * keymap.c (current-active-maps): Quote newlines (compilation error).
1530
14bfa771
EZ
15312001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1532
1533 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1534 bindings.elc, since otherwise doc strings in bindings.el get wrong
1535 offsets in etc/DOC.
1536
bdb7aa47
SM
15372001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1538
9985827f
SM
1539 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1540
1541 * keyboard.h (map_prompt): Remove.
1542
1543 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1544 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1545
bdb7aa47
SM
1546 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1547
1548 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1549
1550 * keyboard.c (map_prompt): Remove.
1551 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1552 Use Fkeymap_prompt.
1553
1554 * keymap.h: New file. Extracted from lisp.h.
1555
9985827f
SM
1556 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1557 (accessible_keymaps_1): New function.
1558 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1559 (Fwhere_is_internal): Use Fcurrent_active_maps.
1560 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1561 Insert in current buffer rather than standard-output.
1562 Don't call `help-mode'. Export to elisp.
1563 (describe_buffer_bindings): New wrapper.
1564 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1565 and Sdescribe_buffer_bindings.
1566
402c9a51
GM
15672001-10-08 Gerd Moellmann <gerd@gnu.org>
1568
9985827f 1569 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1570 Remove code setting signal handler.
1571
9985827f 1572 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1573 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1574
3fe81fdf
PJ
15752001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1576
1577 * keyboard.c: Don't define min/max.
1578
55fa7820
GM
15792001-10-08 Gerd Moellmann <gerd@gnu.org>
1580
9985827f 1581 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1582 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1583 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1584 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1585 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1586 Don't define min/max.
1587
1588 * lisp.h (min, max): New macros.
1589
55fa7820
GM
1590 * puresize.h (BASE_PURESIZE): Increase to 725000.
1591
1aad31e4
PJ
15922001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1593
9180dc8c
PJ
1594 * xfaces.c (free_frame_menubar): Add prototype.
1595
01f67d2c
PJ
1596 * lisp.h (init_window): Add prototype.
1597
1598 * editfns.c: Include ctype.h.
1599
1600 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1601 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1602 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1603 variable `sb'.
1604
5f351ff1
PJ
1605 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1606 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1607 `popup_activated_flag' and `title'.
1608
479dfe87
PJ
1609 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1610
dff49fc8
PJ
1611 * emacs.c (main): Remove extra `;'.
1612
248ac615
PJ
1613 * atimer.h (struct atimer): Fix typos in a comment.
1614
1615 * atimer.c: Fix typo.
1616
af232c7d
PJ
1617 * Makefile.in: Fix typo.
1618
1619 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1620
d876f455
MB
16212001-10-07 Miles Bader <miles@gnu.org>
1622
1623 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1624
0037e2f2
KR
16252001-10-07 Ken Raeburn <raeburn@gnu.org>
1626
b056f36d
KR
1627 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1628 Lisp_Object.
1629
0037e2f2
KR
1630 * lisp.h (Ffield_end): Declare.
1631
1a4372ef
GM
16322001-10-07 Gerd Moellmann <gerd@gnu.org>
1633
a4a74e8c
GM
1634 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1635
1636 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1637
1638 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1639
1640 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1641
1a4372ef
GM
1642 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1643 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1644
1645 * alloc.c (inhibit_garbage_collection): Simplify.
1646 (Fmemory_use_counts): Ditto.
1647
9985827f 1648 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1649 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1650 most-negative-fixnum.
1651
9985827f 1652 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1653 (FIXNUM_OVERFLOW_P): New macros.
1654
4650e362
MB
16552001-10-06 Miles Bader <miles@gnu.org>
1656
1657 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1658 scroll_bar_bottom_shadow_pixel fields.
1659 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1660 for the shadows, and tell the toolkit about them if we succeed.
1661 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1662 Free scroll-bar shadow colors.
1663 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1664 Free scroll-bar shadow colors when the background color changes.
1665 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1666 Initialize scroll-bar shadow-color fields.
1667
ace64e0a
GM
16682001-10-05 Gerd Moellmann <gerd@gnu.org>
1669
1670 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1671
ec66bdc7
MB
16722001-10-05 Miles Bader <miles@gnu.org>
1673
9985827f
SM
1674 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1675 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1676 New functions (were in simple.el).
9985827f 1677 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1678 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1679 (syms_of_minibuf): Initialize them.
1680
a0fb4492
GM
16812001-10-05 Gerd Moellmann <gerd@gnu.org>
1682
1683 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1684 (tiff_load): Install them as error and warning handler.
1685
0bcf87c1
AI
16862001-10-04 Andrew Innes <andrewi@gnu.org>
1687
1688 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1689 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1690 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1691 (x_to_w32_charset): Handle private format for unknown charsets.
1692 Handle wildcards in charset spec, by ignoring them.
1693 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1694 "*-" prefix from charset.
1695 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1696 handle the truncated font spec form constructed by font_list_1, so
1697 that we correctly identify the charset fields. Don't remove "*-"
1698 prefix from charset.
1699 (w32_list_synthesized_fonts): Fix argument to alloca.
1700
c89e4bc5
GM
17012001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1702
1703 * window.h (MINI_WINDOW_P): Use NILP.
1704
1705 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1706
1707 * termhooks.h (struct input_event): Use proper type for `kind'.
1708
17092001-10-04 Gerd Moellmann <gerd@gnu.org>
1710
1711 This handles unknown keysyms better than before. For example,
1712 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1713 Emacs formerly completely ignored F5. With the change, it derives
1714 a key symbol from the name of the X keysym, `ccaron' in this case.
1715 Reported by Martin Buchholz.
1716
1717 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1718 unknown keysyms.
1719
1720 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1721 that EVENT->code isn't a function key, use the keysym's name.
1722
17232001-10-04 Gerd Moellmann <gerd@gnu.org>
1724
1725 FOREACH is a macro that should make it easier to loop over Lisp
1726 lists with checks for cycles and proper lists.
1727
1728 * lisp.h (LIST_END_P, FOREACH): New macros.
1729
17302001-10-04 Gerd Moellmann <gerd@gnu.org>
1731
1732 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1733 called for a lost connection. Prevent dumping core in this case.
1734 Instead print the X error, and exit. On user request.
1735
1736 * xterm.c (error_msg): New variable.
1737 (x_fatal_error_signal): New function.
1738 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1739 as fatal_error_signal_hook around the call to XtCloseDisplay.
1740
1741 * emacs.c (fatal_error_signal_hook): New variable.
1742 (fatal_error_signal): Call that function.
1743
17442001-10-04 Gerd Moellmann <gerd@gnu.org>
1745
1746 With this, Emacs prints how much pure storage it will
1747 approximately need in case pure storage overflows while dumping.
1748
1749 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1750 New variables.
1751 (init_alloc_once): Initialize new variables.
1752 (PURE_POINTER_P): Use new variables.
1753 (pure_alloc): If pure storage overflows, allocate from the heap.
1754 (check_pure_size): New function.
1755 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1756
1757 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1758 (check_pure_size): Add prototype.
1759
1760 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1761
17622001-10-04 Gerd Moellmann <gerd@gnu.org>
1763
1764 This adds a post-gc-hook that's run with GC inhibited.
1765 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1766
1767 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1768 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1769 (Fgarbage_collect): Run post-gc-hook.
1770
17712001-10-04 Gerd Moellmann <gerd@gnu.org>
1772
1773 This adds `defvaralias' and `indirect-variable'. Changes not
1774 directly related to this feature are there to gain the same
1775 performance again as before variable aliases.
1776
1777 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1778 code to get and set symbol values, to take defvaralias into account.
1779
1780 (Note: the new `constant' bit-flag in symbols would make it
1781 possible to define arbitrary read-only variables, e.g. with
1782 `defconst'.)
1783
1784 Documentation is in lispref/variables.texi. Added to NEWS.
1785
1786 * lisp.h (enum symbol_interned): New enumeration.
1787 (struct Lisp_Symbol): Remove member `obarray', add
1788 `indirect_variable', `constant', and `interned'.
1789 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1790 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1791 (indirect_variable): Add prototype.
1792
1793 * print.c (print_preprocess, print_object): Test internedness of
1794 symbols differently.
1795
1796 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1797 bit-fields.
1798 (init_obarray): Likewise for t and nil.
1799
1800 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1801 (Fdefvaralias): New function.
1802 (specbind): Simplify the test if symbol is a constant.
1803 (syms_of_eval): Defsubr Fdefvaralias.
1804
1805 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1806 (Qcyclic_variable_indirection): New variable.
1807 (Fkeywordp): Check for internedness differently.
1808 (Fmakunbound): Simplify the test if symbol is a constant.
1809 (indirect_variable, Findirect_variable): New functions.
1810 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1811 aliased symbol.
1812 (let_shadows_buffer_binding_p): Check for variable aliases.
1813 (set_internal): Simplify the test if SYMBOL is a constant.
1814 If SYMBOL has a buffer-local value and is an alias, use the aliased
1815 symbol instead.
1816 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1817 Sindirect_variable.
1818
1819 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1820 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1821 set directly.
1822
1823 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1824
1825 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1826 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1827 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1828
ab952a4f
GM
18292001-10-04 Gerd Moellmann <gerd@gnu.org>
1830
1831 * Branch for 21.1.
b56ba8de 1832
ba88ff28
MB
18332001-10-03 Miles Bader <miles@gnu.org>
1834
1835 * callproc.c (syms_of_callproc): Explicitly state in the
1836 documentation for `process-environment' that earlier entries take
1837 precedence over later ones.
1838
ae1a9581
MB
18392001-10-02 Miles Bader <miles@gnu.org>
1840
1841 * textprop.c (Fnext_char_property_change)
1842 (Fprevious_char_property_change): Remove reference to non-existant
1843 argument OBJECT from doc-string.
1844
257e3f57
GM
18452001-10-01 Gerd Moellmann <gerd@gnu.org>
1846
1847 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1848 (try_window_id): Skip back over lines ending in a newline from a
1849 string.
1850
1851 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1852 New bit flag
1853
c1f29759
RS
18542001-10-01 Richard M. Stallman <rms@gnu.org>
1855
1856 * search.c (Freplace_match): Doc fix.
1857
c30dce3d
AI
18582001-09-28 Andrew Innes <andrewi@gnu.org>
1859
1860 * w32menu.c (set_frame_menubar): Take into account that
1861 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1862 <raeburn@gnu.org>.
1863
03be5931
EZ
18642001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1865
1866 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1867
75bec752
PJ
18682001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1869
1870 * s/gnu-linux.h: Fix a typo in comment.
1871
83100e0a
AS
18722001-09-28 Andreas Schwab <schwab@suse.de>
1873
1874 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1875 nocombreloc, in case -z combreloc is the default.
1876
a74b48cf
GM
18772001-09-28 Gerd Moellmann <gerd@gnu.org>
1878
1879 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1880 really going on here.
1881
09c4719e
SM
18822001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1883
1884 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1885
f7d5d963
EZ
18862001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1887
1888 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1889 utf-8, menu-bar, and latin-N.
1890 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1891 unconditionally now.
1892 (lisp): Add latin-N, since they are preloaded.
1893
9240e746
GM
18942001-09-27 Gerd Moellmann <gerd@gnu.org>
1895
14531065
GM
1896 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1897 to the left. Some cleanup.
1898
9240e746
GM
1899 * xdisp.c (display_mode_element): One more case where a string's
1900 multibyteness should be used for display.
1901
edd1e654
GM
19022001-09-26 Gerd Moellmann <gerd@gnu.org>
1903
b02439c8
GM
1904 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1905 reading at EOF.
1906
032906b1 1907 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1908 of the only temporarily set echoing flag for deciding when
032906b1
GM
1909 the cancel echoing.
1910
1911 * keyboard.c (echo_kboard): Make externally visible.
1912
1913 * lisp.h (echo_kboard): Declare extern.
1914
cb617e7c 1915 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1916 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1917 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1918 this round of redisplay if make_cursor_line_fully_visible fails.
1919 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1920 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1921
1922 * dispextern.h (required_matrix_width, required_matrix_height):
1923 Add prototypes.
1924
09c4719e
SM
1925 * dispnew.c (required_matrix_width, required_matrix_height):
1926 New functions.
cb617e7c 1927 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1928 (allocate_matrices_for_frame_redisplay: Use them.
1929 Remove parameters CH_DIM.
cb617e7c 1930
edd1e654
GM
1931 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1932 and selected_window to the frame of the window whose mode-lines
1933 are displayed, and to the window itself.
1934 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1935 here.
edd1e654 1936
924b604c
GM
19372001-09-25 Gerd Moellmann <gerd@gnu.org>
1938
daba7643
GM
1939 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1940 the image cache under us.
1941
b7a22712 1942 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1943 with a string value, use that string's multibyteness for displaying.
b7a22712 1944
ad648212
GM
1945 * keyboard.c (read_char): Don't clear a message for a switch-frame
1946 event. From Stefan Monnier <monnier@cs.yale.edu>.
1947
9f8531e5
GM
1948 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1949 version for after 21.1.
1950
1951 * xdisp.c (row_containing_pos): Make externally visible.
1952
1953 * dispextern.h (row_containing_pos): Add prototype.
1954
924b604c
GM
1955 * process.c (send_process): Disable composition if from_byte < 0.
1956 From Kenichi Handa <handa@etl.go.jp>.
1957
6f3f0db4
GM
19582001-09-24 Gerd Moellmann <gerd@gnu.org>
1959
c69c0ebc
GM
1960 * xterm.c (refreshicon): Function removed.
1961
d1182bc4
GM
1962 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1963
1964 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1965
1966 * xterm.c (toplevel): Remove includes in #if 0.
1967
6f3f0db4
GM
1968 * process.c (sigchld_handler) [LINUX]: Don't return from
1969 the signal handler at the end of the loop.
1970
59957f85
GM
19712001-09-21 Gerd Moellmann <gerd@gnu.org>
1972
09c4719e
SM
1973 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1974 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1975
a0528984
EZ
19762001-09-21 Markus Rost <rost@math.ohio-state.edu>
1977
1978 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1979
db92b288
GM
19802001-09-20 Gerd Moellmann <gerd@gnu.org>
1981
3fed8ad5
GM
1982 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1983 since this function can be called during GC.
1984
db92b288
GM
1985 * callproc.c (Fcall_process): Handle errors from pipe(2).
1986 (child_setup): Delete code in #ifdef vipc.
1987
7121b85a
GM
19882001-09-19 Gerd Moellmann <gerd@gnu.org>
1989
72f62cb5
GM
1990 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1991 (display_mode_element): Display the string from decode_mode_spec
1992 depending on its multibyteness.
1993
a2697022
GM
1994 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1995
7121b85a
GM
1996 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1997
bfc97351
GM
19982001-09-18 Gerd Moellmann <gerd@gnu.org>
1999
c9063433
GM
2000 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2001 recursive_edit_unwind.
2002 (recursive_edit_unwind): Set kboard state according to
2003 SINGLE-KBOARD.
2004
3fbdba3e
GM
2005 * buffer.c (modify_overlay): Don't do nothing if START == END;
2006 This can still be a modification, for example when an overlay has
2007 a before-string or after-string.
2008 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2009 an overlay with before-string or after-string.
2010
1270031d
GM
2011 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2012 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2013
bfc97351
GM
2014 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2015 first_unchanged_at_end_row is in front of
2016 last_unchanged_at_beg_row. This code should be removed after the
2017 release of 21.1.
2018
d8a973aa
GM
20192001-09-17 Gerd Moellmann <gerd@gnu.org>
2020
e18c8b8d
GM
2021 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2022 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2023
d8a973aa
GM
2024 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2025 versions >= 2.95.
2026
ed7d6ba4
EZ
20272001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2028
2029 * dired.c (Ffile_attributes): Doc fix.
2030
551629f9
GM
20312001-09-14 Gerd Moellmann <gerd@gnu.org>
2032
2033 * fileio.c (Ffile_symlink_p): Fix last change.
2034
2035 * filelock.c (current_lock_owner): Fix last change.
2036
4c8c7926
GM
20372001-09-13 Gerd Moellmann <gerd@gnu.org>
2038
620c4704
GM
2039 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2040 take that to mean that the buffer is too small.
2041
81c3310d
GM
2042 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2043 that to mean that the buffer is too small.
2044
06fd3792
GM
2045 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2046 current buffer's multibyteness when discarding the iterator's
2047 stack.
2048
4c8c7926
GM
2049 * xfns.c (Fx_window_property): Handle case that property gets
2050 deleted between the two calls to XGetWindowProperty.
2051
9a72e4c1
GM
20522001-09-11 Gerd Moellmann <gerd@gnu.org>
2053
bd819d14 2054 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2055
a41edd99
GM
2056 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2057 in addition to read-only.
2058
2059 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2060 to t in addition to read-only.
2061
2062 * lisp.h (Qinhibit_modification_hooks): Declare.
2063
2064 * insdel.c (Qinhibit_modification_hooks): New variable.
2065 (syms_of_insdel): Initialize and staticpro it.
2066
d4881c6a
GM
2067 * textprop.c (verify_interval_modification): Don't run
2068 modification-hooks if inhibit_modification_hooks.
2069
2070 * dispnew.c (set_window_cursor_after_update): Fix code
2071 finding glyph row containing cursor when cursor_in_echo_area
2072 is >= 0.
2073
9a72e4c1
GM
2074 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2075 (add_to_log): Use bcopy instead of strcpy.
2076 (init_from_display_pos): Use an explicit loop over bytes in
2077 overlay strings instead of calling index.
2078
f4a374a1
GM
20792001-09-10 Gerd Moellmann <gerd@gnu.org>
2080
300e57bd
GM
2081 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2082
2083 * dispnew.c (direct_output_for_insert): Don't change IT's
2084 stop_charpos to something in front of its current position.
2085
f4a374a1
GM
2086 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2087 `format'.
2088
7e4cbc91
RS
20892001-09-10 Richard M. Stallman <rms@gnu.org>
2090
2091 * frame.c (Fmouse_position): Doc fix.
2092
6afad91e
GM
20932001-09-07 Gerd Moellmann <gerd@gnu.org>
2094
2095 * xdisp.c (init_from_display_pos): Don't compare the result
2096 of calling index with NULL.
2097
f76e0368
GM
20982001-09-06 Gerd Moellmann <gerd@gnu.org>
2099
2100 * xfns.c (x_set_background_color): Don't change the colors
2101 of the X window of scroll bar widgets.
2102
9ead1b60
AI
21032001-09-05 Andrew Innes <andrewi@gnu.org>
2104
2105 * w32fns.c (w32_createwindow): Undo last change.
2106
c3b497b3
GM
21072001-09-05 Gerd Moellmann <gerd@gnu.org>
2108
08e1d6df
GM
2109 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2110
c3b497b3
GM
2111 * xdisp.c (string_buffer_position): Use *single_char_property*
2112 functions instead of the *single_property* functions.
b56ba8de 2113
8f860180
AI
21142001-09-04 Andrew Innes <andrewi@gnu.org>
2115
9a72e4c1
GM
2116 * w32term.c (w32_read_socket): Add more information to debugging
2117 output.
8f860180
AI
2118
2119 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2120 from Emacs frames, so that calls to GetClipBox in w32term.c
2121 correctly report when part of a frame is visible (including
2122 scrollbars, etc). This prevents repeated redrawing of frames when
2123 only a scrollbar is visible.
2124 (w32_wnd_proc): Add more frame information to debugging output.
2125
2ee1aa00
SM
21262001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2127
2128 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2129
e3b22517
GM
21302001-09-03 Gerd Moellmann <gerd@gnu.org>
2131
7e376260
GM
2132 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2133 help-echo for a string which doesn't have help-echo itself, use
2134 get-char-property to obtain the help-echo from the string's buffer
2135 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2136 have mouse-face, look ``under'' the string for mouse-face from an
2137 overlay.
2138 (fast_find_position): Add parameter STOP. In the final row, stop
2139 before glyphs having STOP as object. Don't consider glyphs that
2140 are not from a buffer.
2141
e3b22517
GM
2142 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2143
9a249bba
EZ
21442001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2145
2146 * fns.c (Fmd5): Doc fix.
2147
c9979669
GM
21482001-08-31 Gerd Moellmann <gerd@gnu.org>
2149
2150 * composite.c (update_compositions): Do nothing if
2151 inhibit-modification-hooks is set.
2152
9584e63a
GM
21532001-08-30 Gerd Moellmann <gerd@gnu.org>
2154
986ec8f2 2155 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2156 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2157 glyph matrices etc. in a core dump.
2158
92a25631
GM
2159 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2160 (syms_of_xdisp): Initialize them.
2161 (handle_single_display_prop): Don't change point, bind `object',
2162 `position', and `buffer-position' instead to the object having the
2ee1aa00 2163 `display' property, position in the object and position in the buffer.
92a25631 2164
9584e63a
GM
2165 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2166 of the buffer if REPLACE is non-nil.
2167
d38633a3
GM
21682001-08-29 Gerd Moellmann <gerd@gnu.org>
2169
2170 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2171
f4fccc1e
EZ
21722001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2173
2174 * w32term.c (x_set_glyph_string_background_width)
2175 (show_mouse_face): Track the last changes in xterm.c.
2176
eaaa65b0
GM
21772001-08-28 Gerd Moellmann <gerd@gnu.org>
2178
7b0870b2
GM
2179 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2180 string's background width so that multi-line mouse-face is drawn
2181 to the right edge of the window.
2182 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2183 glyphs.
2184
6b6e2422 2185 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2186 before inserting/writing glyphs.
6b6e2422 2187
eaaa65b0
GM
2188 * xdisp.c (display_mode_element): Use string_byte_to_char to
2189 determine character positions in strings, use chars_in_text
2190 instead of strwidth.
2191 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2192 a matrix as parameter; this is easier to use from GDB.
2193
9ad62cf8
MB
21942001-08-28 Miles Bader <miles@gnu.org>
2195
2ee1aa00
SM
2196 * textprop.c (Fprevious_single_char_property_change)
2197 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2198
32171635
GM
21992001-08-27 Gerd Moellmann <gerd@gnu.org>
2200
47d57b22
GM
2201 * fileio.c (Finsert_file_contents): Allocate, restore, and
2202 free composition data in the case of REPLACE not being nil.
2203
2204 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2205 there exist overlay strings with newlines at POS.
2206 (text_outside_line_unchanged_p): Return 0 if changes start at
2207 START and overlays exist at START. Likewise for END.
2208 (try_window_id): Give up if init_to_row_end returns 0.
2209
32171635
GM
2210 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2211 unconditionally.
2212
e1249666
GM
22132001-08-24 Gerd Moellmann <gerd@gnu.org>
2214
33954c45
GM
2215 * keymap.c (access_keymap): Return the cdr of the binding of
2216 a generic character instead of its definition (KEY . BINDING).
2217
e1249666
GM
2218 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2219 to 0 also in the REPLACE case.
2220
fb4c6c96
AC
22212001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2222
2223 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2224 open to determine whether file is readable (as for DOS_NT).
2225
59ecf80b
GM
22262001-08-23 Gerd Moellmann <gerd@gnu.org>
2227
2228 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2229 coding.type is coding_type_no_conversion or coding_type_raw_text,
2230 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2231 non-nil instead of just setting enable_multibyte_characters in the
2232 buffer to nil.
2233
40e33037
GM
22342001-08-22 Gerd Moellmann <gerd@gnu.org>
2235
374388c3
GM
2236 * dispextern.h (struct face_cache): Add member
2237 menu_face_changed_p.
2238
2239 * xfaces.c (menu_face_changed_default): New variable.
2240 (menu_face_changed_count): Variable removed.
2241 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2242 the menu_face_changed_default flag, otherwise set the FRAME's
2243 menu_face_changed_p flag if the `menu' face has been changed.
2244 Prevent calling set_font_frame_param if FRAME is t.
2245 (make_face_cache): Initialize cache's menu_face_changed_p
2246 from menu_face_changed_default.
2247 (realize_basic_faces): Look into the frame's face cache to
2248 determine if the menu appearance needs updating.
2249
40e33037
GM
2250 * keymap.c (access_keymap): Fix last change to not consider
2251 IDX when it has modifiers.
2252
859ea4b8
GM
22532001-08-21 Gerd Moellmann <gerd@gnu.org>
2254
2255 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2256 . BINDING) exists, where GENERIC-CHAR is the generic character of
2257 the charset of IDX, return BINDING unless there exists a binding
2258 for IDX itself.
2259
e8660d73
GM
22602001-08-16 Gerd Moellmann <gerd@gnu.org>
2261
cca1b1d7
GM
2262 * xrdb.c (SYSV): Don't define on Solaris 2.
2263 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2264
e8660d73 2265 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2266 of the screen line, not text line, containing IT's current position.
e8660d73 2267
93aba6fc
GM
22682001-08-15 Gerd Moellmann <gerd@gnu.org>
2269
288d4e06
GM
2270 * window.c (window_scroll_pixel_based): Don't recenter if
2271 PT is partially visible in the window.
2272
3452efc2
SM
2273 * xterm.c (expose_window_tree, expose_window, expose_line):
2274 Return 1 when overwriting mouse-face.
82f053ab
GM
2275 (expose_frame): If mouse-face was overwritten, redo it.
2276
93aba6fc
GM
2277 * xfaces.c (x_update_menu_appearance): Don't call
2278 set_frame_menubar, let the next redisplay do it.
2279
858a55c1
AI
22802001-08-14 Andrew Innes <andrewi@gnu.org>
2281
2282 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2283 drawing glyph string.
2284
3a990b67
EZ
22852001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2286
2287 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2288 running HI-UX/MPP.
2289
04386463
GM
22902001-08-14 Gerd Moellmann <gerd@gnu.org>
2291
2292 * xfaces.c (x_update_menu_appearance): Save and restore value of
2293 interrupt_input_blocked.
2294
3e6385a4
GM
22952001-08-13 Gerd Moellmann <gerd@gnu.org>
2296
b0e619b4
GM
2297 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2298 a line start, move back to the line start.
3452efc2 2299
0de73d5a
GM
2300 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2301 exactly when a mini-buffer is active.
2302
3e6385a4
GM
2303 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2304 in units of 1/8 character on non window-system frames.
2305 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2306
d1b5f629
EZ
23072001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2308
2309 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2310 a doc string.
2311
eaa2319f
GM
23122001-08-09 Gerd Moellmann <gerd@gnu.org>
2313
8e3189f0
GM
2314 * keyboard.c (Vpre_help_message): New variable.
2315 (syms_of_keyboard): Initialize and staticpro it.
2316 (show_help_echo): Record current message before displaying a
2317 help-echo, and restore that message when clearing the help.
2318
eaa2319f
GM
2319 * xfns.c (x_create_im): Remove prototype.
2320
2321 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2322
2323 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2324
eaa2319f
GM
23252001-08-08 Gerd Moellmann <gerd@gnu.org>
2326
2327 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2328 windows whose height has changed, disable partially visible lines.
eaa2319f 2329
17fdcfc8
GM
23302001-08-07 Gerd Moellmann <gerd@gnu.org>
2331
22d01aed 2332 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2333 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2334
17fdcfc8
GM
2335 * xdisp.c (start_display): Don't try to determine the continuation
2336 lines width if lines are truncated. It's superfluous and leads to
2337 incorrect results if POS is not visible in the window after
2338 reseating the iterator at the previous line start.
2339
8e3fe78e
GM
23402001-08-06 Gerd Moellmann <gerd@gnu.org>
2341
2342 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2343
98a8938c
GM
23442001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2345
2346 * alloc.c (init_stack): Remove declaration.
2347
18f9986a
GM
23482001-08-03 Gerd Moellmann <gerd@gnu.org>
2349
5e1f85e0
GM
2350 * keyboard.c (read_key_sequence): Check that key is an integer
2351 before comparing it with quit_char.
2352 (add_command_key): Use larger_vector.
2353 (read_char_x_menu_prompt): Instead of converting symbol and
2354 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2355 which cannot be confused with valid events.
5e1f85e0
GM
2356 (read_char): When reading from Vunread_command_events, check for
2357 events of the form (EVENT . disabled) instead of
2358 (EVENT . nil).
2359
18f9986a
GM
2360 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2361 a float, determine the max height from the frame's height.
2362
fbc7f2a6
GM
23632001-08-02 Gerd Moellmann <gerd@gnu.org>
2364
2365 * xdisp.c (redisplay_internal): Take message_cleared_p into
2366 account only if minibuf_level == 0.
2367
81b1a79d
GM
23682001-08-01 Gerd Moellmann <gerd@gnu.org>
2369
e5c60873
GM
2370 * xdisp.c (redisplay_internal): Add a check for the last
2371 displayed message.
3452efc2 2372
6e019995
GM
2373 * xdisp.c (message_cleared_p): New variable.
2374 (clear_message): Set message_cleared_p when clearing the current
2375 message.
2376 (redisplay_internal): Look at message_cleared_p to capture
2377 the case that the echo area should be cleared.
2378
308a74d8
GM
2379 * keyboard.c (command_loop_1): Fix spelling of
2380 resize_echo_area_exactly.
2381
3452efc2 2382 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2383
2384 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2385
81b1a79d
GM
2386 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2387 current matrix when the window gets smaller.
2388
ada329e6
EZ
23892001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2390
2391 * print.c (strout): Cast the character passed to insert_char to
2392 unsigned char, to avoid sign extension when it is promoted to int.
2393
ed86208c
GM
23942001-07-31 Gerd Moellmann <gerd@gnu.org>
2395
2396 * fileio.c (Finsert_file_contents): Don't treat a return value
2397 of 0 from emacs_read as an IO error.
2398
6594ac22
GM
23992001-07-30 Gerd Moellmann <gerd@gnu.org>
2400
cef68af5
GM
2401 * keyboard.c (abs): New macro.
2402 (double_click_fuzz): New variable.
2403 (make_lispy_event): Use it to determine what makes a double-click.
2404 (syms_of_keyboard): DEFVAR_INT it.
2405
6594ac22
GM
2406 * xmenu.c (set_frame_menubar): Take into account that
2407 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2408 <raeburn@gnu.org>.
2409
75c5350a
GM
24102001-07-27 Gerd Moellmann <gerd@gnu.org>
2411
2412 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2413
2414 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2415 of row's visible height.
2416
2417 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2418 deal with the first overlay string having an image `display' property.
2419 (try_window_reusing_current_matrix, compute_line_metrics):
2420 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2421 row is invisible above and part of the row is at the same time
2422 invisible below the window.
2423
ac49effe
GM
24242001-07-26 Gerd Moellmann <gerd@gnu.org>
2425
2426 * xfns.c (x-show-tip): Doc fix.
3452efc2 2427
ac49effe
GM
2428 * xfns.c (Vx_max_tooltip_size): New variable.
2429 (syms_of_xfns): DEFVAR_LISP it.
2430 (Fx_show_tip): Set frame's window_width to the width of the
2431 window. Use a maximum tooltip size specified by
2432 Vx_max_tooltip_size, if that has valid contents.
2433 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2434
8c3b00cb
AI
24352001-07-26 Andrew Innes <andrewi@gnu.org>
2436
2437 * w32term.c (x_display_list): New variable.
2438 (w32_term_init): Set it.
2439
2440 * w32term.h (x_display_list): New extern.
2441
16098288
GM
24422001-07-26 Gerd Moellmann <gerd@gnu.org>
2443
2444 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2445 is non-nil, instead of when redisplaying_p is non-zero.
2446 See comment there.
16098288
GM
2447 (mark_window_display_accurate_1): Add an assertion.
2448
64c5be50
GM
24492001-07-25 Gerd Moellmann <gerd@gnu.org>
2450
e743f599
GM
2451 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2452
563b384d
GM
2453 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2454 events so that we get a chance of processing expose events.
2455
64c5be50
GM
2456 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2457
296808a5
GM
24582001-07-24 Gerd Moellmann <gerd@gnu.org>
2459
2460 * xfns.c (valid_image_p): Protect better against invalid image
2461 specifications. Previous code could signal an error.
2462
5247262a
GM
24632001-07-23 Gerd Moellmann <gerd@gnu.org>
2464
3452efc2 2465 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2466 presence of display table entries.
2467 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2468
dd42b31a
GM
2469 * dispnew.c (adjust_glyph_matrix): In the optimization for
2470 windows whose height has changed, use the new window height
2471 to compute which rows to invalidate.
2472
9e5a7f2a
GM
2473 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2474 (MAX_10_EXP): New macro.
2475 (Fformat): Use it.
2476
5247262a
GM
2477 * coding.c (code_convert_region): Handle the multibyte case if
2478 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2479
177ab8ce
GM
24802001-07-20 Gerd Moellmann <gerd@gnu.org>
2481
6e07c0a5
GM
2482 * dispextern.h (struct face): Change type of `stipple' to
2483 int; it's an ID.
2484
177ab8ce
GM
2485 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2486
b5b80599
GM
24872001-07-19 Gerd Moellmann <gerd@gnu.org>
2488
4e2a256b
GM
2489 * dispnew.c (update_window): Don't set the cursor at the end
2490 of the update if display update has been paused.
2491
3452efc2 2492 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2493
c1fd9232
KR
24942001-07-18 Ken Raeburn <raeburn@gnu.org>
2495
2496 * fns.c (Fset_char_table_default): Check that a charset is defined
2497 before checking its dimension.
2498
928a85c1
KR
24992001-07-17 Ken Raeburn <raeburn@gnu.org>
2500
2501 * coding.c (setup_coding_system): Don't do any designation based
2502 on reg_bits if charset is not yet defined.
2503
fb4c6c96 2504 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2505 pointer, using eassert.
2506
de11c1ea
GM
25072001-07-17 Gerd Moellmann <gerd@gnu.org>
2508
3452efc2
SM
2509 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2510 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2511
467f1209
GM
25122001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2513
2514 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2515
c3d6be34
GM
25162001-07-16 Gerd Moellmann <gerd@gnu.org>
2517
c1d61a7d
GM
2518 * fileio.c (unwind_read): Function removed.
2519 (read_non_regular, read_non_regular_quit): New functions.
2520 (Finsert_file_contents): When reading from non-regular files,
2521 arrange to catch a `quit' and terminate the loop. Rearrange
2522 code so that a `quit' when reading from a regular file doesn't
2523 insert text in the buffer.
2524
c3d6be34
GM
2525 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2526 Clear faces afterwards.
2527 (clear_font_table): Take a x_display_info parameter. Don't free
2528 fonts being the default font of any frame on the given display.
2529
e06aa1f9
GM
25302001-07-13 Gerd Moellmann <gerd@gnu.org>
2531
2532 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2533 instead of CHAR_STRING which can signal an error.
2534
2535 * charset.c (char_to_string_1): Extracted from char_to_string.
2536 Return -1 instead of signaling an error.
2537 (char_to_string): Use it.
2538
2539 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2540
176c92e6
SM
25412001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2542
2543 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2544 is t, don't try to append anything to it.
2545
1c56232f
EZ
25462001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2547
2548 * dired.c (file_name_completion): Pass dp->d_name to
2549 Fstring_match, not elt, which is always nil here.
2550
1d2b2268
GM
25512001-07-12 Gerd Moellmann <gerd@gnu.org>
2552
2553 * xselect.c (x_decline_selection_request): Handle errors
2554 caused by receivers that have vanished.
2555
2556 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2557 ignoring events on foreign windows in #if 0. Always dispatch
2558 the event after checking it with x_handle_property_notify.
2559
2560 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2561 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2562 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2563 (toplevel): Add prototypes for file-local functions.
2564 (x_atom_to_symbol): Remove DPYINFO parameter.
2565
fe5a0162
SM
25662001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2567
2568 * w32menu.c (menubar_selection_callback, w32_menu_show):
2569 Initialize `entry' to nil.
2570 (w32_dialog_show): Remove unused `save_wv' variable.
2571 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2572
a777242c
GM
25732001-07-11 Gerd Moellmann <gerd@gnu.org>
2574
8ee5b6a3
GM
2575 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2576
d0e2444e
GM
2577 * fileio.c (unwind_read): Print a message when discarding inserted
2578 text or switching the buffer to unibyte. Change parameter.
2579 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2580
a777242c
GM
2581 * fileio.c (unwind_read): New function.
2582 (Finsert_file_contents): Record it as unwind-function for
2583 the case that reading is interrupted by C-g.
2584
ae794295
GM
25852001-07-10 Gerd Moellmann <gerd@gnu.org>
2586
fe5a0162 2587 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2588 update when scrolling_window returns 0.
2589
6b05fae3
GM
2590 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2591
2592 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2593 for the case that x_decode_color signals an error.
6b05fae3 2594
ae794295
GM
2595 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2596
bb6e8cee
GM
25972001-07-09 Gerd Moellmann <gerd@gnu.org>
2598
2599 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2600 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2601 around ioctls.
2602
36b40a8a
EZ
26032001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2604
24b97d4b
EZ
2605 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2606 doc string line for dos-timezone-offset.
2607
36b40a8a
EZ
2608 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2609 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2610 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2611 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2612
2613 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2614
0967b4b0
GM
26152001-07-05 Gerd Moellmann <gerd@gnu.org>
2616
f25cfe53
GM
2617 * sound.c: Include Emacs' header files with #include "...".
2618
0967b4b0
GM
2619 * eval.c (specbind): Additionally record the buffer that was
2620 current when a buffer-local or frame-local variable was bound.
2621
c347a1c3
GM
26222001-07-04 Gerd Moellmann <gerd@gnu.org>
2623
2624 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2625 to unibyte characters in unibyte buffers.
2626
6332ca8a
GM
26272001-07-03 Gerd Moellmann <gerd@gnu.org>
2628
38472d44
GM
2629 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2630 the frame on the binding stack. Change format of entries for
2631 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2632 (unbind_to): Handle unbinding a frame-local variable.
2633
6332ca8a 2634 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2635 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2636 (dump_glyph_row): Print row's continuation_lines_width.
2637 (try_window_id): Take the shortcut if ZV is visible in the
2638 window, but there are actually no changes at ZV.
2639
63d1b174
GM
26402001-07-02 Gerd Moellmann <gerd@gnu.org>
2641
4c175203
GM
2642 * xterm.h (x_free_dpy_colors): Add prototype.
2643
2644 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2645 right number of arguments.
2646
0b54ce28
GM
2647 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2648 ($(lwlibdir)TAGS): New target.
4c175203 2649 (TAGS): Fix dependency list.
0b54ce28 2650
63d1b174
GM
2651 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2652 with input blocked.
2653
d827466c
GM
26542001-06-30 Gerd Moellmann <gerd@gnu.org>
2655
2656 * emacs.c (main): Remove extern declaration for sys_nerr, which
2657 isn't used and causes a compilation error with GCC 3.0 on
2658 FreeBSD 4.3.
2659
b5cb1ada
GM
26602001-06-27 Gerd Moellmann <gerd@gnu.org>
2661
a5d3ec3f 2662 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2663 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2664 (toplevel): Include <signal.h> and syssignal.h.
2665
b5cb1ada
GM
2666 * sound.c (vox_configure, vox_close): Turn off atimers
2667 around ioctls.
2668
d9bad487
GM
26692001-06-26 Gerd Moellmann <gerd@gnu.org>
2670
fdbb67fe
GM
2671 * keyboard.c (read_char) <non_reread>: Record the previous idle
2672 start time before calling timer_stop_idle.
2673 (read_char) <reread_first>: After processing a help-echo event,
2674 restore the previous idle start time.
2675
d9bad487
GM
2676 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2677 the start of invisible text.
2678 (setup_for_ellipsis): New function.
2679 (next_overlay_string): After all overlay strings have been
2680 processed, display an ellipsis if necessary.
2681 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2682 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2683
2684 * dispextern.h (struct iterator_stack_entry): Add member
2685 display_ellipsis_p.
2686
2b9c25e0
GM
26872001-06-25 Gerd Moellmann <gerd@gnu.org>
2688
80de57df
GM
2689 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2690 on the value of the wait-for-wm frame parameter.
2691
2692 * xterm.h (struct x_output): Add member wait_for_wm.
2693
2694 * xfns.c (Qwait_for_wm): New variable.
2695 (x_frame_parms): Add entry for `wait-for-wm".
2696 (x_set_wait_for_wm): New function.
2697 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2698 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2699
2b9c25e0
GM
2700 * xdisp.c (try_window_id) <all changes below window end>: Don't
2701 take this shortcut if ZV is visible in the window.
2702 (try_window_id): When checking for window start being in changed
2703 text, don't check that the buffer's size has changed.
2704
f772775c
RS
27052001-06-23 Richard M. Stallman <rms@gnu.org>
2706
2707 * minibuf.c (Fcompleting_read): Doc fix.
2708
fa9090b8
GM
27092001-06-19 Gerd Moellmann <gerd@gnu.org>
2710
2711 * composite.c (Ffind_composition_internal): Accept ZV
2712 and a string's end position as POS.
2713
f6f1beba
GM
27142001-06-18 Gerd Moellmann <gerd@gnu.org>
2715
2716 * composite.c (Ffind_composition_internal): Check POS
2717 for validity.
2718
0ae83348
EZ
27192001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2720
2721 * editfns.c (Fmessage_box): If the frame is not under a window
2722 system, output the message in the echo area.
2723
e4cdc335
RS
27242001-06-14 Richard M. Stallman <rms@gnu.org>
2725
2726 * xdisp.c (try_window_id): When EOB is visible, don't treat
2727 insertion at EOB as if it were "off the bottom of the screen."
2728
a55a5f3c
AI
27292001-06-11 Andrew Innes <andrewi@gnu.org>
2730
2731 * w32proc.c (create_child): Add new parameter is_gui_app.
2732 (w32_executable_type): Add new parameter is_gui_app.
2733 (sys_spawnve): Use it.
2734 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2735 SIGQUIT. This matches better how the signals are interpreted by
2736 MSVC compiled programs.
2737 (syms_of_ntproc): Update docstring.
2738
1b85dc1c
SM
27392001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2740
2741 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2742 well otherwise note_mouse_highlight might optimize away highlighting
2743 if we pass over that same overlay again.
2744
b75f8eab
EZ
27452001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2746
2747 * lread.c (Fload): Document that the argument is run via
2748 substitute-in-file-name.
2749
94843cc1
GM
27502001-05-31 Gerd Moellmann <gerd@gnu.org>
2751
b14659e6
GM
2752 * Makefile.in (bootstrap-doc): New target.
2753 (bootstrap-emacs): Depend on it.
2754
0894672f
GM
2755 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2756 auto-save-list-file-name when shutting down Emacs, because
2757 creating the directory might signal an error, and leaves
2758 Emacs in a strange state.
2759
94843cc1
GM
2760 * term.c: (tty_cursor_hidden): New variable.
2761 (update_begin): Don't call tty_hide_cursor. Clean up.
2762 (update_end, set_terminal_window, set_scroll_region): Clean up.
2763 (ring_bell, reset_terminal_modes): Clean up.
2764 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2765 on tty_cursor_hidden.
2766 (write_glyphs): Call tty_hide_cursor.
2767
db3a49a6
SM
27682001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2769
2770 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2771
8bd189fb
GM
27722001-05-30 Gerd Moellmann <gerd@gnu.org>
2773
6f1be3b9
GM
2774 * xfns.c (enum image_value_type): New enumerator
2775 IMAGE_STRING_OR_NIL_VALUE.
2776 (parse_image_spec): Handle it.
2777 (xbm_format, pbm_format): Use it for :foreground and :background.
2778 (xbm_load, pbm_load): Check for nil color names.
2779
8bd189fb
GM
2780 * xterm.c (note_mouse_highlight): If an overlapping overlay
2781 exists, but we find that we highlight the same overlay as before,
2782 don't do the highlighting again.
2783
7bdba03c
GM
27842001-05-29 Gerd Moellmann <gerd@gnu.org>
2785
4c329aa8
GM
2786 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2787 Protect unibyte strings created by replacing their multibyte
2788 equivalents in menu_items.
2789
e15e2828
GM
2790 * keymap.c (Fsingle_key_description): NUL-terminate the string
2791 buffer before calling build_string.
2792
7bdba03c
GM
2793 * callproc.c (Fcall_process): Deal with decode_coding returning
2794 CODING_FINISH_INCONSISTENT_EOL.
2795
89c8dc6c
GM
27962001-05-28 Gerd Moellmann <gerd@gnu.org>
2797
db3a49a6 2798 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2799 an item's name with its key description in case the description
2800 is a multibyte string.
2801
2802 * keymap.c (Fsingle_key_description): Create a multibyte string
2803 only if necessary.
2804
eb04d6cd
GM
2805 * macros.c (Fstart_kbd_macro): Doc fix.
2806
8bd6307f
GM
2807 * xterm.c (cursor_in_mouse_face_p): New function.
2808 (x_draw_stretch_glyph_string): Use it to choose a different GC
2809 when drawing a cursor within highlighted text.
2810
e26c4089
GM
2811 * editfns.c (char_property_eq): Put in #if 0.
2812
2813 * indent.c (string_display_width): Put in #if 0.
2814
2815 * lread.c (Fload): Remove unused label.
2816
89c8dc6c
GM
2817 * termcap.c (speeds): Put in #if 0.
2818
9a1211f2
GM
28192001-05-18 Gerd Moellmann <gerd@gnu.org>
2820
29148a3f
GM
2821 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2822
9a1211f2
GM
2823 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2824 transformation matrix by 10.
2825
09393d07
GM
28262001-05-16 Gerd Moellmann <gerd@gnu.org>
2827
2828 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2829 only if it's equal to the former foreground pixel color.
db3a49a6 2830 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2831 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2832
460e6bae
GM
28332001-05-16 Dave Love <fx@gnu.org>
2834
2835 * insdel.c (signal_before_change, signal_after_change): Consider a
2836 local change hook which changes the buffer.
99c78ce8
GM
2837
2838 * process.c (read_process_output): Don't call signal_after_change
2839 and update_compositions after insert_from_string_before_markers.
2840
dbcf3c03
GM
28412001-05-16 Gerd Moellmann <gerd@gnu.org>
2842
a90b3d3c
GM
2843 * xfaces.c (split_font_name): Use the right field when
2844 checking for `[...]' syntax.
2845
1b7818b4
GM
2846 * buffer.c (copy_overlays): New function.
2847 (clone_per_buffer_values): Use it.
2848
2849 * buffer.h (OVERLAY_PLIST): New macro.
2850
9bae8781
GM
2851 * keymap.c (Fsingle_key_description): Replace a build_string with
2852 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2853
dbcf3c03
GM
2854 * fontset.c (Ffontset_info): Check that face is non-null
2855 before accessing its fields.
2856
8a1ae4dd
GM
28572001-05-15 Gerd Moellmann <gerd@gnu.org>
2858
18a0a39e
GM
2859 * keyboard.c (read_key_sequence): Prevent generating a fake
2860 prefix key twice.
2861
e335b66a
GM
2862 * xfaces.c (split_font_name): Handle `[...]' for the right
2863 font name fields.
2864
8a1ae4dd
GM
2865 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2866 of CCL_STAT_INVALID_CMD.
2867
3cf80731
SM
28682001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2869
33568849
SM
2870 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2871 in <var> has no default value yet.
2872
3cf80731
SM
2873 * xfaces.c (try_alternative_families): First try the FAMILY.
2874 And if nothing is found in the end, try again with scalable fonts.
2875 (try_font_list): Let try_alternative_families do a bit more of
2876 the work. Only use FAMILY if it is not nil.
2877 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2878
933b0249
GM
28792001-05-14 Gerd Moellmann <gerd@gnu.org>
2880
58e5af83
GM
2881 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2882 pointer shape when show_mouse_face has already done it.
33568849 2883
58e5af83 2884 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2885 full-width rows.
2886
7b16a6bf
GM
2887 * xfaces.c (split_font_name): Make sure to leave the loop
2888 with the right value of `i'.
3cf80731 2889
933b0249
GM
2890 * xfaces.c (split_font_name): Handle matrix transformations
2891 in the pixel and point size fields of XLFD font names.
2892 (xlfd_point_size): Likewise.
2893
dddcbf00
EZ
28942001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2895
3cf80731 2896 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2897 (x_to_w32_font): Add prototype.
2898
7689ef0b
EZ
2899 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2900 redefining, to avoid compiler warnings.
2901
e7c15bba
EZ
2902 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2903
dddcbf00
EZ
2904 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2905 (w32_get_bdf_glyph): Cast between unsigned char and char when
2906 passing arguments to subroutines, to shut up compiler warnings.
2907 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2908 GET_HEX_VAL.
2909
2910 * xfaces.c: Include keyboard.h before frame.h, not after it.
2911
2912 * widget.c: Include keyboard.h before frame.h.
2913
2914 * w32term.h (struct image, struct face): Forward declaration, to
2915 avoid compiler warnings.
2916
7bd2d083
GM
29172001-05-11 Gerd Moellmann <gerd@gnu.org>
2918
47e72862
GM
2919 * keyboard.c (read_key_sequence): Don't modify events when
2920 generating fake prefix keys (mode-line, scroll-bar, ...) since
2921 this prevents proper processing of such events when pushed back
2922 into unread-command-events.
2923
dd5f324b
GM
2924 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2925 actually redrawn. Make the function static.
2926 (note_mouse_highlight): Fix a case where the mouse cursor
2927 was changed back to the text cursor.
2928
2929 * xterm.h (clear_mouse_face): Remove prototype.
2930
d88a79d4
GM
2931 * xdisp.c (try_window_id): Fix the fix and set the right
2932 window_end_vpos.
2933
2934 * xdisp.c (try_window_id): Fix computation of window end in the
2935 case that lines were deleted at the end of the window. Add some
2936 more debug_method_adds.
0416532f 2937
7bd2d083
GM
2938 * xfaces.c (try_alternative_families): New function.
2939 (try_font_list): Use it. If ATTRS specifies a family, check
2940 fonts from that family first.
2941 (choose_face_font): Remove code setting the family part of
2942 the pattern to nil.
2943
23fca891
GM
29442001-05-10 Gerd Moellmann <gerd@gnu.org>
2945
ff9aa2ca
GM
2946 * xdisp.c (try_window_id): Fix case of all changes before
2947 the window start.
7b2654b5 2948
23fca891
GM
2949 * xdisp.c (try_window_id): Add some xasserts.
2950
e9726794
GM
29512001-05-09 Gerd Moellmann <gerd@gnu.org>
2952
2953 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2954
9e53a675
GM
29552001-05-09 Dave Love <fx@gnu.org>
2956
2957 * xdisp.c (GIVE_UP): Fix for K&R C.
2958
0d487c52
GM
29592001-05-09 Gerd Moellmann <gerd@gnu.org>
2960
fe88d421
GM
2961 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2962
0d487c52
GM
2963 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2964 back to the text cursor shape without need.
2965
1e9fc92e
GM
29662001-05-07 Gerd Moellmann <gerd@gnu.org>
2967
a2a6232e
GM
2968 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2969
2970 * dispextern.h (inverse_video): Declare extern.
2971
1e9fc92e
GM
2972 * keyboard.c (delete_kboard): Handle the case that selected_frame
2973 has been deleted in the course of x_connection_closed.
2974
12949a7f
EZ
29752001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2976
7b2654b5
SM
2977 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2978 Fix the change from 2001-04-30.
12949a7f 2979
2fa2f461
GM
29802001-05-03 Gerd Moellmann <gerd@gnu.org>
2981
a779d213
GM
2982 * xfns.c (file_dialog_unmap_cb): New function.
2983 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2984 where a dialog is closed via the window manager.
2985
7b2654b5 2986 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2987 the window start or all below the window end mostly rewritten.
2988 (redisplay_window): Move the tests if try_window_id is
2989 applicable to try_window_id.
2990 (GIVE_UP): New macro.
2991
3356df63
GM
29922001-05-02 Gerd Moellmann <gerd@gnu.org>
2993
a39202f6 2994 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2995 currently being updated, mark the frame garbaged.
2996 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2997 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2998
3356df63
GM
2999 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3000 again if it has already been drawn.
3001
a9d2fd1d
SM
30022001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3003
3004 * syntax.c (update_syntax_table): Check that oldi has the same
3005 properties as old_prop before deciding not to invalidate.
3006
c95fc5f1
GM
30072001-04-30 Gerd Moellmann <gerd@gnu.org>
3008
a9793e45
GM
3009 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3010 read-only text that is so because of text properties.
3011
c95fc5f1 3012 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3013 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3014 windows that are components of a Lucid menu bar.
3015
5a5d9185
GM
30162001-04-27 Gerd Moellmann <gerd@gnu.org>
3017
3018 * term.c (turn_on_face): Fix reverse video handling on terminals
3019 that don't support colors.
3020
ba973f7a
GM
30212001-04-26 Gerd Moellmann <gerd@gnu.org>
3022
3023 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3024 a non-buffer.
3025
8c56a983
GM
30262001-04-25 Gerd Moellmann <gerd@gnu.org>
3027
a728644c
GM
3028 * term.c (toggle_highlight): New function.
3029 (turn_on_face): Change handling of reverse video.
3030
7b2654b5
SM
3031 * process.c (wait_reading_process_input):
3032 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3033
bfd8410f
GM
3034 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3035 of the number of overlays to check.
3036
be2488ca
GM
3037 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3038
8c56a983
GM
3039 * xdisp.c (try_window_id): Fix a case where window_end_pos
3040 and window_end_bytepos were not adjusted.
3041
522d42f7
GM
30422001-04-23 Gerd Moellmann <gerd@gnu.org>
3043
3044 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3045 zero instead of -1.
3046
78c1afb6
EZ
30472001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3048
a9d2fd1d
SM
3049 * process.c (wait_reading_process_input) [!subprocesses]:
3050 Don't reference waiting_for_user_input_p, it's not defined in the
3051 branch without async subprocesses support.
78c1afb6 3052
a2fab450
GM
30532001-04-19 Gerd Moellmann <gerd@gnu.org>
3054
a122a38e
GM
3055 * keyboard.c (delete_kboard): Prevent a dangling reference
3056 from current_kboard to KB, which is freed.
3057
a9d2fd1d
SM
3058 * process.c (wait_reading_process_input):
3059 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3060 read_key_sequence aware of buffer changes from under it.
3061
0f8d6dc7
GM
30622001-04-18 Gerd Moellmann <gerd@gnu.org>
3063
eeffb293
GM
3064 * xfaces.c (Qscalable_fonts_allowed): New variable.
3065 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3066 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3067 removed.
eeffb293 3068 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3069 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3070 for scalable-fonts-allowed to t.
eeffb293 3071
0f8d6dc7
GM
3072 * fileio.c (Finsert_file_contents): If the file size returned from
3073 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3074 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3075
eec2d1de
EZ
30762001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3077
3078 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3079 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3080 (__memalign_hook): Make the two prototypes consistent.
3081
f4f480bd
GM
30822001-04-17 Gerd Moellmann <gerd@gnu.org>
3083
3084 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3085 matrix of mini-windows.
3086
52283633
SM
30872001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3088
3089 * intervals.c (find_interval): Don't rebalance during signal handling.
3090
ec2423c9
GM
30912001-04-11 Gerd Moellmann <gerd@gnu.org>
3092
30cb0001 3093 * fns.c: Include blockinput.h.
52283633 3094
ec2423c9
GM
3095 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3096
719d83ad
GM
30972001-04-10 Gerd Moellmann <gerd@gnu.org>
3098
60f8d735
GM
3099 * fns.c (Fcompare_strings): Fix return values.
3100
afffeb57
GM
3101 * window.c (window_scroll): Change the meaning of N to mean
3102 N screen-fulls or N lines.
3103 (window_scroll_pixel_based, window_scroll_line_based)
3104 (scroll_command, Fscroll_other_window): Change accordingly.
3105
52283633
SM
3106 * window.c (window_scroll_pixel_based, Frecenter):
3107 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3108 height of the window.
3109
3110 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3111 instead of using it.last_visible_y for the height of the window.
52283633 3112
719d83ad 3113 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3114 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3115
3116 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3117 able to write to hidden and system files. From Dan Holmsand
3118 <dan@eyebee.com>.
719d83ad 3119
8ddf3ee1
GM
3120 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3121 Holmsand <dan@eyebee.com>.
719d83ad 3122
522ed7fb
GM
31232001-04-09 Gerd Moellmann <gerd@gnu.org>
3124
9170e5d4
GM
3125 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3126
522ed7fb
GM
3127 * window.c (window_internal_height): Return 1 less if the
3128 window has a header line.
3129
3130 * xdisp.c (try_window_id): When scrolling on a terminal, take
3131 the change of window_internal_height into account.
3132
ceeb3d7d
EZ
31332001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3134
3135 * gmalloc.c (align): If the argument SIZE would overflow
3136 __malloc_ptrdiff_t, fail right away.
3137
63685b9d
GM
31382001-04-06 Gerd Moellmann <gerd@gnu.org>
3139
3140 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3141 Make sure the tooltip is completely visible.
3142 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3143
3144 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3145
3146 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3147
3ffb33bb
DL
31482001-04-06 Dave Love <fx@gnu.org>
3149
52283633
SM
3150 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3151 Fix test of `from'.
3ffb33bb 3152
869fb12c
GM
31532001-04-06 Gerd Moellmann <gerd@gnu.org>
3154
52283633 3155 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3156
869fb12c
GM
3157 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3158
441bf856
GM
31592001-04-05 Gerd Moellmann <gerd@gnu.org>
3160
4d664b04
GM
3161 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3162
52283633 3163 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3164
30ca89f5
GM
3165 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3166 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3167
3168 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3169 shell widget's position only if it is non-null.
3170
52283633
SM
3171 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3172 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3173
81a81c0f
GM
3174 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3175 FILENAME to bring it in synch with the documentation.
3176
441bf856
GM
3177 * xfaces.c (realizing_basic_faces_p): Renamed from
3178 realize_default_face_p.
3179 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3180 (realize_default_face): Don't set the flag.
3181
702a1e8e
GM
31822001-04-04 Gerd Moellmann <gerd@gnu.org>
3183
1013f4e3
GM
3184 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3185
52283633
SM
3186 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3187
1013f4e3
GM
3188 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3189 the buffer that was used for echoing.
3190
702a1e8e
GM
3191 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3192 (first_font_matching): Removed unused function.
3193 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3194 (may_use_scalable_font_p): Remove parameter FONT; rename
3195 parameter NAME to FONT.
3196 (x_face_list_fonts): Fix missing bounds check.
3197 (realizing_default_face_p): New variable.
3198 (realize_default_face): Set and clear that flag.
3199 (x_face_list_fonts): When called during the realization of the
3200 default face, and no matching fonts are found when ignoring
3201 scalable fonts and fonts matching a regexp from
3202 face-ignored-fonts, try without ignoring fonts.
3203
f9dbcda4
GM
32042001-04-03 Gerd Moellmann <gerd@gnu.org>
3205
ad18ffb1
GM
3206 * xfns.c (postprocess_image): New function.
3207 (lookup_image): Call it for all image types except PostScript.
3208 (x_kill_gs_process): Call postprocess_image.
3209
f9dbcda4
GM
3210 * xterm.c (x_use_underline_position_properties): New variable.
3211 (x_draw_glyph_string): Use it.
3212 (syms_of_xterm): DEFVAR_BOOL it.
3213
651f03b6
GM
32142001-04-02 Gerd Moellmann <gerd@gnu.org>
3215
3216 * xterm.c (x_alloc_nearest_color_1): New function.
3217 (x_alloc_nearest_color): Use it.
3218 (x_color_cells): Take a Display as argument, instead of a frame.
3219 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3220 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3221 (x_initialize): Register cvt_string_to_pixel as resource converter
3222 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3223
73d75a62
GM
32242001-03-30 Gerd Moellmann <gerd@gnu.org>
3225
b2046df8
GM
3226 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3227 (set_iterator_to_next): If a string from a display property ends,
3228 consider the case that this might also be the end of an
3229 overlay string having the display property.
3230
52283633 3231 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3232
87d8eba4
GM
3233 * xdisp.c (reseat_to_string): Undo last change.
3234
73d75a62
GM
3235 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3236 matrix of a window when the header line changes, when
3237 new rows are allocated, or when the width changes.
3238
911a2406
EZ
32392001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3240
52283633 3241 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3242
aea51abe
EZ
32432001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3244
3245 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3246 deprecated.
3247
176bc847
GM
32482001-03-29 Gerd Moellmann <gerd@gnu.org>
3249
ed31fabf
GM
3250 * data.c (Fsubr_interactive_form): New function.
3251 (syms_of_data): Defsubr it.
3252
176bc847
GM
3253 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3254 (live_float_p, live_misc_p): Return 1 only if the offset of the
3255 pointer in its block is >= 0.
3256
e59d0e9d
GM
32572001-03-28 Paul Eggert <eggert@twinsun.com>
3258
3259 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3260 microseconds calcuation. Avoid double-rounding problem.
3261 In doc string, warn that the result is approximate.
3262
f827b862
GM
32632001-03-28 Gerd Moellmann <gerd@gnu.org>
3264
30a3f61c
GM
3265 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3266 bind `inhibit-eval-during-redisplay' to t.
3267
3268 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3269
3270 * xdisp.c (inhibit_eval_during_redisplay)
3271 (Qinhibit_eval_during_redisplay): New variables.
3272 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3273 don't eval, return nil instead.
3274 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3275 Initialize Qinhibit_eval_during_redisplay.
3276
e719f5ae
GM
3277 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3278 the iterator's multibyte_p flag.
3279
deb2613a
GM
3280 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3281 instead of setting it to zero; it's incremented for each frame
3282 where the menu face is changed.
3283
52283633
SM
3284 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3285 change bottom shadow accordingly.
3286
3287 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3288 intersections here.
3289 (expose_window): Do it here instead.
52283633 3290 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3291
f827b862
GM
3292 * bytecode.c (BYTE_CODE_QUIT): New macro.
3293 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3294
4bde0ebb
GM
32952001-03-27 Gerd Moellmann <gerd@gnu.org>
3296
607ec83c
GM
3297 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3298 Give up if matrix starts in an ellipsis.
3299 (init_from_display_pos): Do nothing if POS doesn't specify
3300 a dpvec_index but the iterator has such a position.
3301
0245398f
GM
3302 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3303
aba25348
GM
3304 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3305 x/y position is (0, 0) after destroying the menu bar, restore
3306 its original position.
3307
4bde0ebb
GM
3308 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3309 (init_from_display_pos): Use it.
3310 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3311
8cdb267e
GM
33122001-03-26 Gerd Moellmann <gerd@gnu.org>
3313
3314 * xdisp.c (try_window_id): Undo last change.
3315
9948db79
EZ
33162001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3317
3318 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3319
3320 * buffer.c (syms_of_buffer): Doc fix.
3321
2eddf899
GM
33222001-03-26 Gerd Moellmann <gerd@gnu.org>
3323
3324 * xfaces.c (x_update_menu_appearance): Use local variable
3325 popup_path for setting font resources.
3326
6c145d35
EZ
33272001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3328
6a65b1b5
EZ
3329 * frame.c (Fframe_list): Don't reference tip_frame if
3330 HAVE_WINDOW_SYSTEM is not defined.
3331
6c145d35
EZ
3332 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3333 <wl@gnu.org>.
3334
d74c1900
GM
33352001-03-25 Gerd Moellmann <gerd@gnu.org>
3336
20fbd925
GM
3337 * xdisp.c (init_from_display_pos): Test invisible property
3338 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3339
927c5b3b
GM
3340 * xdisp.c (redisplay_internal) <update one window>: Make sure
3341 last_arrow_position and last_arrow_string are set.
3342
d74c1900
GM
3343 * frame.c (Fframe_list): Don't return a tooltip frame.
3344
091f8878
GM
33452001-03-23 Gerd Moellmann <gerd@gnu.org>
3346
52283633
SM
3347 * xdisp.c (mark_window_display_accurate_1): New function,
3348 extracted from mark_window_display_accurate.
3349 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3350 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3351 (mark_window_display_accurate): Use it.
3352 (redisplay_internal): Use it for the selected window.
3353 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3354 for the selected frame.
3355
ac90c44f
GM
3356 * xdisp.c Use make_number, for readability.
3357 (try_window_id): Disable rows below the window end.
3358 (try_window_reusing_current_matrix): Use cursor_row_p.
3359 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3360 of rows.
3361 (init_from_display_pos): If POS specifies a position in a display
3362 vector, maybe get the iterator set up for that ellipsis.
43c09969 3363
091f8878
GM
3364 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3365
991786dd
EZ
33662001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3367
3368 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3369
6c29b43c
GM
33702001-03-23 Gerd Moellmann <gerd@gnu.org>
3371
3372 * xfaces.c (x_update_menu_appearance): Use a different path
3373 for Lucid popup menus.
3374
d8731202
SM
33752001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3376
3377 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3378
3379 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3380 (string_buffer_position): Use `make_number'.
3381
f61a541b
GM
33822001-03-22 Gerd Moellmann <gerd@gnu.org>
3383
3c9e997b
GM
3384 * xfaces.c (x_update_menu_appearance): Renamed from
3385 x_set_menu_face_resources. Use different resources for popups.
3386
3387 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3388 (GC_CHECK_STRING_BYTES): Don't define.
3389
364cd450
GM
3390 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3391 Removed, together with subroutines.
3392 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3393 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3394
d8731202
SM
3395 * dispextern.h (x_set_menu_resources_from_menu_face):
3396 Remove prototype.
364cd450 3397
d8731202 3398 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3399 Remove calls to x_set_menu_resources_from_menu_face.
3400
d8731202
SM
3401 * xfaces.c (xm_set_menu_resources_from_menu_face):
3402 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3403
3404 * xmenu.c: Include widget.h.
3405 (single_submenu): Return int. Some cleanup.
3406 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3407
140330de
GM
34082001-03-21 Gerd Moellmann <gerd@gnu.org>
3409
3410 * xterm.c (x_update_window_end): Handle overwritten mouse face
3411 also for tool bar windows.
3412 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3413 DRAW is DRAW_IMAGE_RAISED.
3414
1741905c
GM
34152001-03-20 Gerd Moellmann <gerd@gnu.org>
3416
fa88947e
GM
3417 * print.c (syms_of_print): Doc fixes.
3418
1741905c
GM
3419 * fns.c (Fmd5): Doc fix.
3420
ade0bee1
GM
34212001-03-19 Gerd Moellmann <gerd@gnu.org>
3422
357e7376
GM
3423 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3424 Clear area of the frame not occupied by the scroll bar.
3425
c2c097cc
GM
3426 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3427 tip frame's root window buffer to *tip* right after creating
3428 the frame.
3429
ade0bee1
GM
3430 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3431 is an integer don't have to be for space characters.
3432
88c6e37e
GM
34332001-03-16 Gerd Moellmann <gerd@gnu.org>
3434
52283633
SM
3435 * indent.c (current_column, current_column_1, Fmove_to_column)
3436 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3437
c62eed76
KH
34382001-03-15 Kenichi Handa <handa@etl.go.jp>
3439
3440 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3441 drawing glyph string.
3442
c899e7e6
GM
34432001-03-15 Gerd Moellmann <gerd@gnu.org>
3444
d0bbfc99
GM
3445 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3446 (command_loop_1): Undo last change.
3447
03d1a189
GM
3448 * xterm.c (fast_find_position): Return the correct vpos.
3449
c899e7e6 3450 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3451 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3452 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3453 Call store_symval_forwarding with BUF null.
3454 (set_internal): Call store_symval_forwarding with the BUF
3455 parameter passed to set_internal. Formerly, the value was always
3456 set in the current buffer; the buffer recorded in specbind for
3457 this case wasn't used.
3458 (arith_driver): Reindent.
3459
52283633
SM
3460 * buffer.c (swap_out_buffer_local_variables):
3461 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3462
3463 * lisp.h (store_symval_forwarding): Change prototype.
3464
3465 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3466
57ac7c81
GM
34672001-03-14 Gerd Moellmann <gerd@gnu.org>
3468
697617d9
GM
3469 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3470 FOR_DELETION. Avoid resizing the mini-window of the selected
3471 frame if FOR_DELETION is set.
3472 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3473 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3474 signature.
3475
3476 * window.c (Fset_window_configuration): Change call to
3477 do_switch_frame to new format.
3478
3479 * keyboard.c (quit_throw_to_read_char): Change call to
3480 do_switch_frame to new format.
3481
3482 * lisp.h (do_switch_frame): Change prototype.
3483
819dce0f
GM
3484 * frame.c (Fframe_parameters): In the `buffer-list' frame
3485 parameter, store the buffer list of FRAME, not the list of the
3486 selected frame.
3487
57ac7c81
GM
3488 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3489 box just because the glyph row's full_width_p flag is set.
3490
65008712
GM
34912001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3492
3493 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3494 skip the padding blanks inserted in extend_face_to_end_of_line,
3495 before checking for trailing whitespace.
3496
159cf431
GM
34972001-03-13 Gerd Moellmann <gerd@gnu.org>
3498
52283633 3499 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3500 Remove special handling for LessTif/Motif.
3501 (toplevel): Don't include Xm/Xm.h.
3502
52283633
SM
3503 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3504 Remove workaround code for LessTif; it doesn't work anymore.
3505
2564ea1b 3506 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3507 Xm/ScrollBarP.h.
afcdc0a1 3508
52283633
SM
3509 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3510 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3511 contemporary LessTif.
3512
52283633
SM
3513 * xfaces.c (xm_set_menu_resources_from_menu_face):
3514 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3515
159cf431
GM
3516 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3517 removing button grabs.
3518
c6f7429a
KH
35192001-03-13 Kenichi Handa <handa@etl.go.jp>
3520
cb82d767
KH
3521 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3522 and clip-large-size-font as obsolete.
3523
c6f7429a
KH
3524 * lread.c (read_multibyte): Check the validity of multibyte
3525 sequence. If invalid, return the first byte.
3526
760cefb5
GM
35272001-03-12 Gerd Moellmann <gerd@gnu.org>
3528
3529 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3530 before running the command; timer functions or process
3531 filters may have set it.
3532
5141f9d0
EZ
35332001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3534
3535 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3536 Doc fix.
3537
b6a15240
GM
35382001-03-12 Gerd Moellmann <gerd@gnu.org>
3539
3540 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3541 to sprintf.
3542
95522746
GM
35432001-03-09 Gerd Moellmann <gerd@gnu.org>
3544
db14cfc5
GM
3545 * dispextern.h (string_buffer_position): Add prototype.
3546
52283633 3547 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3548 (single_display_prop_string_p): New functions.
3549
3550 * xterm.c (note_mouse_highlight): If there's no help-echo on
3551 a string, look at the buffer text ``under'' it.
3552
3553 * keyboard.c (make_lispy_event): Add string info to the event,
3554 analogous to what's done on mode lines.
3555 (read_key_sequence): For a click on a string, consider `local-map'
3556 and `keymap' of that string.
3557
52283633
SM
3558 * keyboard.c (make_lispy_event, make_lispy_movement):
3559 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3560
3561 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3562
3563 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3564 POS; return void.
3565
95522746
GM
3566 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3567 flags argument to emacs_open; it seems to conflict with O_EXCL.
3568
898a399d
KH
35692001-03-09 Kenichi Handa <handa@etl.go.jp>
3570
28cd4910
KH
3571 * composite.h (struct composition): Change types of members;
3572 glyph_len to unsigned, width to unsigned short.
898a399d 3573
4cdf6a6c
AI
35742001-03-08 Andrew Innes <andrewi@gnu.org>
3575
3576 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3577 menu titles.
3578
129004d3
GM
35792001-03-08 Gerd Moellmann <gerd@gnu.org>
3580
221dd3e7
GM
3581 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3582 instead of nil.
3583
52283633 3584 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3585 help-echo in strings.
3586 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3587 (fast_find_string_pos): New function.
3588
52283633
SM
3589 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3590 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3591
3592 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3593 Handle `mouse-face'.
3594
3595 * dispextern.h (face_at_string_position): Change prototype.
3596
52283633 3597 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3598
129004d3
GM
3599 * keyboard.c (make_lispy_event): Avoid generating drag events
3600 if the mouse hasn't actually moved to another buffer position.
52283633 3601
80c8ab8c
DL
36022001-03-08 Dave Love <fx@gnu.org>
3603
129004d3 3604 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3605
989521fd
GM
36062001-03-08 Gerd Moellmann <gerd@gnu.org>
3607
3608 * process.c (Fset_process_window_size): Fix a typo.
3609
bb5c338d
KH
36102001-03-08 Kenichi Handa <handa@etl.go.jp>
3611
3612 * coding.c (detect_coding_sjis): Do more rigid check.
3613 (detect_coding_big5): Likewise.
3614 (decode_coding_sjis_big5): Likewise.
3615 (Fdetect_coding_region): Call detect_coding_system with tailing
3616 anchor byte `\0' for more rigid detection.
52283633 3617 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3618 (Fdetect_coding_string): Likewise.
3619
8b8f9197
SM
36202001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3621
3622 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3623 a string before extracting its data.
3624
3bdf2660
GM
36252001-03-07 Gerd Moellmann <gerd@gnu.org>
3626
3627 * window.c (Frecenter): Rewrite code handling negative values
3628 of ARG on graphical frames.
3629
36302001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3631
3632 * window.c (displayed_window_lines): If W->start is outside the
3633 accessible portion of the buffer, call start_display with BEGV or
3634 ZV instead of W->start.
3635
471f86b9
GM
36362001-03-07 Gerd Moellmann <gerd@gnu.org>
3637
2ab62c6c
GM
3638 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3639
471f86b9
GM
3640 * process.c (Fset_process_filter): Don't crash if the input
3641 file descriptor of PROCESS is closed.
3642 (Fset_process_window_size): Likewise.
3643
101922c3
GM
36442001-03-06 Kenichi Handa <handa@etl.go.jp>
3645
3646 * xterm.c (XTflash): Make the timeout of select shorter, and call
3647 select repeatedly until the desired time expires.
3648
45d051a7
GM
36492001-03-06 Gerd Moellmann <gerd@gnu.org>
3650
3651 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3652
3653 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3654
3655 * lisp.h (Vwindow_list): Declare extern.
3656
8f372c46
EZ
36572001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3658
3659 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3660
f16a7aa5
GM
36612001-03-06 Gerd Moellmann <gerd@gnu.org>
3662
157ae273
GM
3663 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3664 to detect a case where we have to highlight a different region
3665 despite not having left the currently highlighted region.
3666 Set mouse_face_overlay in the x_display_info.
45d051a7 3667 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3668
3669 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3670
3671 * buffer.c (mouse_face_overlay_overlaps): New function.
3672
3673 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3674 (Qmouse_face): Declare extern.
3675
f16a7aa5
GM
3676 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3677 if face_change_count is non-zero.
3678
827afcac
KH
36792001-03-06 Kenichi Handa <handa@etl.go.jp>
3680
3681 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3682 that the source is unibyte.
3683
14c7242e
DL
36842001-03-05 Dave Love <fx@gnu.org>
3685
827afcac 3686 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3687
c28b847b
GM
36882001-03-05 Gerd Moellmann <gerd@gnu.org>
3689
3690 * minibuf.c (read_minibuf): Clean up the binding stack if
3691 called noninteractively.
3692
b86644f2
KH
36932001-03-05 Kenichi Handa <handa@etl.go.jp>
3694
3695 * coding.c (syms_of_coding): Docstring modified.
3696
203682cc 36972001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3698
3699 * charset.c (char_to_string): If a single byte char has modifier
3700 bits that can't be reflected to the character code, ignore them
45d051a7 3701 instead of signaling an error.
b86644f2 3702
e30bd7b7
EZ
37032001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3704
3705 * s/msdos.h: Update copyright notice.
3706
3707 * dosfns.h: Update copyright notice.
3708
3709 * dosfns.c: Update copyright notice.
3710
3711 * msdos.c: Update copyright notice.
3712
b52b65bd
GM
37132001-03-02 Gerd Moellmann <gerd@gnu.org>
3714
3715 * xterm.c (glyph_rect): New function.
3716 (XTmouse_position): Use it to raise the threshold for mouse
3717 movement event generation.
3718
53c4b1e6
EZ
37192001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3720
3721 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3722 specifies (reverse . t), reverse the initial screen colors.
3723 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3724 but we are reversing the colors, set bg_set, not fg_set.
3725 Likewise for setting background-color and reversing: set fg_set.
3726 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3727 in effect.
3728
3729 * xfaces.c (Finternal_set_lisp_face_attribute)
3730 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3731 parameters alist.
3732
f964b4d7
GM
37332001-03-02 Gerd Moellmann <gerd@gnu.org>
3734
ef53d75e
GM
3735 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3736 to a single slash in the middle of file names.
3737
52283633 3738 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3739 Accept only alphanumeric time zone names.
3740
f964b4d7
GM
3741 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3742 or width area.
3743 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3744 a widget to zero height.
52283633 3745
c3c45f65
GM
37462001-03-01 Gerd Moellmann <gerd@gnu.org>
3747
3748 * window.c (Fwindow_end): Call move_it_past_eol only if
3749 ending up on a partially visible line.
3750
028d739a
DL
37512001-03-01 Dave Love <fx@gnu.org>
3752
3753 * ccl.c (Fccl_execute): Doc fix.
3754
57c5889c
GM
37552001-03-01 Gerd Moellmann <gerd@gnu.org>
3756
35f59f6b
GM
3757 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3758 of the tool bar before calling x_figure_window_size.
3759
f84ff02c
GM
3760 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3761 NULL after destroying it, otherwise XTread_socket can access a
3762 destroyed widget when input is unblocked.
3763
8b8f9197 3764 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3765
57c5889c
GM
3766 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3767 same name as before, although there was a change in fontsets.
3768
224227d1
KR
37692001-02-28 Ken Raeburn <raeburn@gnu.org>
3770
4560730a
KR
3771 * lisp.h (Fframe_parameter): Declare.
3772
224227d1 3773 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3774 Lisp_Object.
224227d1 3775
ece93c02
GM
37762001-02-28 Gerd Moellmann <gerd@gnu.org>
3777
11ef99b9
GM
3778 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3779 NULL instead.
3780
3781 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3782 NULL instead.
3783
ece93c02
GM
3784 * alloc.c (toplevel): Include process.h.
3785 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3786 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3787 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3788 (allocate_vector, allocate_hash_table, allocate_window)
3789 (allocate_frame, allocate_process, allocate_other_vector):
3790 New functions.
ece93c02
GM
3791 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3792 (mark_maybe_pointer): New function.
52283633 3793 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3794 remain and not Lisp_Objects.
3795 (min_heap_address, max_heap_address): New variables.
3796 (mem_find): Return MEM_NIL if START is below min_heap_address or
3797 above max_heap_address.
3798 (mem_insert): Compute min_heap_address and max_heap_address.
3799
3800 * process.c (make_process): Use allocate_process.
3801
3802 * frame.c (make_frame): Use allocate_frame.
3803
3804 * window.c (make_window, make_dummy_parent): Use allocate_window.
3805 (Fcurrent_window_configuration): Use allocate_other_vector.
3806
3807 * lisp.h (allocate_vectorlike): Remove prototype.
3808 (allocate_vector, allocate_other_vector, allocate_frame)
3809 (allocate_window, allocate_process, allocate_hash_table):
3810 Add prototypes.
3811
3812 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3813 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3814
063af457
KH
38152001-02-27 Kenichi Handa <handa@etl.go.jp>
3816
3817 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3818 treat the produced bytes as a valid multibyte sequence.
3819
3820 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3821 (ccl_driver) <CCL_WriteMultibyteChar2>:
3822 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3823 <ccl_finish>: Set ccl->eight_bit_control properly.
3824
3825 * ccl.h (struct ccl_program): New member eight_bit_control.
3826
f58c6494
SM
38272001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3828
3829 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3830 accessible_keymaps_char_table.
3831 (accessible_keymaps_char_table): Obey `is_metized'.
3832 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3833 Lisp_Object.
3834
c596c392
GM
38352001-02-26 Gerd Moellmann <gerd@gnu.org>
3836
3837 * dispnew.c: Check HAVE_TERM_H before including term.h.
3838
425de386
AI
38392001-02-24 Andrew Innes <andrewi@gnu.org>
3840
3841 * makefile.w32-in: Update copyright notice.
3842
2ba11bbd
SM
38432001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3844
3845 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3846
66c56ed1
KH
38472001-02-24 Kenichi Handa <handa@etl.go.jp>
3848
4c1593ce
KH
3849 * Makefile.in (lisp): Add international/utf-8.elc.
3850
66c56ed1
KH
3851 * fontset.c (Fnew_fontset): Fix handling of the case that an
3852 element of FONTLIST is a cons of family and registry.
3853
796ead7e
JR
38542001-02-23 Jason Rumney <jasonr@gnu.org>
3855
3856 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3857 to height unconditionally.
3858
3859 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3860 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3861 (x_insert_glyphs): Call window_box_left to obtain the left
3862 x-coordinate of the area to shift.
3863
3864 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3865 safe_run_hooks.
3866
f6839838
AI
38672001-02-22 Andrew Innes <andrewi@gnu.org>
3868
52283633 3869 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3870 ($(BLD)\dispnew.obj):
3871 ($(BLD)\editfns.obj):
3872 ($(BLD)\fileio.obj):
3873 ($(BLD)\filelock.obj):
3874 ($(BLD)\keyboard.obj):
3875 ($(BLD)\w32proc.obj):
3876 ($(BLD)\process.obj):
3877 ($(BLD)\sysdep.obj): Ditto.
3878
3879 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3880 header files.
52283633
SM
3881 ($(BLD)/dispnew.$(O)):
3882 ($(BLD)/editfns.$(O)):
3883 ($(BLD)/fileio.$(O)):
3884 ($(BLD)/filelock.$(O)):
3885 ($(BLD)/keyboard.$(O)):
3886 ($(BLD)/w32proc.$(O)):
3887 ($(BLD)/process.$(O)):
f6839838
AI
3888 ($(BLD)/sysdep.$(O)): Ditto.
3889
c224f70b
GM
38902001-02-22 Gerd Moellmann <gerd@gnu.org>
3891
51695746
GM
3892 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3893 at the start of the function, check that the \n in it->c is
3894 from the iterator's current position.
52283633 3895
a61b7058
GM
3896 * xdisp.c (handle_single_display_prop): Add parameter
3897 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3898 properties which replace the display of text with something else.
3899 (handle_display_prop): Call handle_single_display_prop with
3900 additional argument saying if we already replaced text display
3901 with something else. Use AREF.
52283633 3902 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3903 (decode_mode_spec_coding): Use AREF and ASIZE.
3904
3473f362
GM
3905 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3906 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3907 * vmstime.h: Files removed.
52283633 3908
2bb58df3
GM
3909 * unexencap.c, unexfx2800.c: Files removed.
3910
c224f70b
GM
3911 * dispnew.c (direct_output_for_insert): Give up if we are showing
3912 a message or just cleared the message because we might need to
3913 resize the echo area window or display an empty echo area.
3914
ffc9ff0c
GM
39152001-02-21 Gerd Moellmann <gerd@gnu.org>
3916
0528abe1
GM
3917 * xdisp.c (redisplay_internal): Do the
3918 mark_window_display_accurate after all windows have been
3919 redisplayed because this call resets flags in buffers which are
3920 needed for proper redisplay.
3921
52283633
SM
3922 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3923 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3924 the old names.
3925
52283633
SM
3926 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3927 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3928
3929 * msdos.h (struct x_output): Rename busy_window to
3930 hourglass_window, busy_p to hourglass_p.
3931
52283633
SM
3932 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3933 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3934
3935 * xfns.c: Rename everything containing *busy_cursor* and similar
3936 to *hourglass*.
3937 (syms_of_w32fns): Rename x-busy-pointer-shape to
3938 x-hourglass-pointer-shape, display-busy-cursor to
3939 display-hourglass, busy-cursor-delay to hourglass-delay.
3940
3941 * w32fns.c: Rename everything containing *busy_cursor* and similar
3942 to *hourglass*.
3943 (syms_of_w32fns): Rename x-busy-pointer-shape to
3944 x-hourglass-pointer-shape, display-busy-cursor to
3945 display-hourglass, busy-cursor-delay to hourglass-delay.
3946
3947 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3948 of its busy_p flag.
3949
3950 * dispextern.h (start_hourglass, cancel_hourglass)
3951 (display_hourglass_p): Renamed from *busy_cursor*.
3952
ab2c5f0a
GM
39532001-02-20 Gerd Moellmann <gerd@gnu.org>
3954
d17e49a8
GM
3955 * keyboard.c (read_char): When an event from unread-command-events
3956 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3957
fa97adf6
GM
3958 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3959 equal to the current buffer.
3960
ab2c5f0a
GM
3961 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3962 nil, otherwise we're left with truncate_lines t when a message
3963 is printed with message-truncate-lines bound to t.
3964
aeac019e
GM
39652001-02-19 Gerd Moellmann <gerd@gnu.org>
3966
c8bc6f65
GM
3967 * window.c (Fmove_to_window_line): Undo last change.
3968 (displayed_window_lines): Call line_bottom_y to determine
3969 the line's bottom position.
3970
3971 * dispextern.h (line_bottom_y): Add prototype.
3972
52283633 3973 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3974 (pos_visible_p): Use it.
3975
980a2d69
GM
3976 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3977 set redisplaying_p to 0 here instead of in Frecursive_edit.
3978 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3979 set redisplaying_p.
3980
52283633 3981 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3982 New variables.
3983 (syms_of_xdisp): Initialize new variables.
3984 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3985 Specbind `inhibit-menubar-update' when updating the menu bar.
3986
65048e97
GM
3987 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3988 safe_run_hooks.
3989
3990 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3991 safe_run_hooks.
3992
a57c4026
GM
3993 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3994 is null.
3995
aeac019e
GM
3996 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3997 to the start of the file.
3998
76846b31
GM
39992001-02-16 Gerd Moellmann <gerd@gnu.org>
4000
f3f053f3 4001 * window.c (set_window_buffer): Fix last change.
52283633 4002
f3f053f3
GM
4003 * window.c (set_window_buffer): Set window's vscroll to 0.
4004
dad75588
GM
4005 * window.c (coordinates_in_window): Increase width of area
4006 where the vertical line can be dragged.
4007
c220b753
GM
4008 * xterm.c (x_set_glyph_string_background_width): Extend the
4009 background face to the end of the drawing area in the text
4010 area, only.
4011
c56b1c1b
GM
4012 * xdisp.c (handle_single_display_prop): Set iterator's position
4013 to where the `display' property starts, like for images.
4014 (dump_glyph): New function.
4015 (dump_glyph_row): Use it. Dump info about marginal areas.
4016
4017 * dispnew.c (direct_output_for_insert): Recognize more cases where
4018 glyphs can be written instead of being inserted.
4019
4020 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4021 the left x-coordinate of the area to shift.
4022
76846b31
GM
4023 * dired.c (directory_files_internal): Set result list to nil
4024 before retrying.
4025
0fc71a77
KH
40262001-02-15 Kenichi Handa <handa@etl.go.jp>
4027
4028 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4029 invalid multibyte sequence, treat *SRC as a character of
4030 eight-bit-graphic.
4031
25078b54
EZ
40322001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4033
4034 * textprop.c (Fset_text_properties): Doc fix.
4035
8399f8a0
GM
40362001-02-15 Gerd Moellmann <gerd@gnu.org>
4037
4038 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4039
9a2a6f73
DL
40402001-02-14 Dave Love <fx@gnu.org>
4041
4042 * coding.c: Doc and message fixes.
4043
bf853fee
AI
40442001-02-14 Andrew Innes <andrewi@gnu.org>
4045
4046 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4047 Emacs frame above the screen size.
4048
78c663d8
GM
40492001-02-14 Gerd Moellmann <gerd@gnu.org>
4050
4051 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4052
7cc9f69f
GM
40532001-02-13 Gerd Moellmann <gerd@gnu.org>
4054
0a411995
GM
4055 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4056 case that TO ends up beyond ZV after running before-change-functions.
4057
5ddc1b75
GM
4058 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4059 the selected window if it is showing the buffer in question.
4060
7cc9f69f
GM
4061 * dired.c (directory_files_internal): Initialize errno.
4062 (toplevel): Include errno.h.
4063
2e6621ca
GM
40642001-02-13 Kenichi Handa <handa@etl.go.jp>
4065
4066 * xfaces.c (best_matching_font): New parameter width_ratio.
4067 Multiply avgwidth by width_ratio.
4068 (choose_face_font): Call best_matching_font with width_ratio
4069 calculated from the column width of C.
4070
60222d69
AI
40712001-02-12 Andrew Innes <andrewi@gnu.org>
4072
4073 The following changes are to draw box lines inside characters area
4074 if line-width is negative.
52283633 4075
60222d69
AI
4076 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4077 face->box_line_width is negative.
4078 (x_produce_stretch_glyph): Likewise.
4079 (x_produce_glyphs): Likewise.
4080 (x_estimate_mode_line_height): Likewise.
4081 (x_draw_glyph_string_background): Likewise.
4082 (x_draw_glyph_string_foreground): Likewise.
4083 (x_draw_composite_glyph_string_foreground): Likewise.
4084 (x_draw_glyph_string_box): Likewise.
4085 (x_draw_image_foreground): Likewise.
4086 (x_draw_image_relief): Likewise.
4087 (x_draw_image_foreground_1): Likewise.
4088 (x_draw_image_glyph_string): Likewise.
4089
9804b846
KH
40902001-02-09 Kenichi Handa <handa@etl.go.jp>
4091
4092 The following changes are to draw box lines inside characters area
4093 if line-width is negative.
52283633 4094
9804b846
KH
4095 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4096 face->box_line_width is negative.
4097 (x_produce_stretch_glyph): Likewise.
4098 (x_produce_glyphs): Likewise.
4099 (x_estimate_mode_line_height): Likewise.
4100 (x_draw_glyph_string_background): Likewise.
4101 (x_draw_glyph_string_foreground): Likewise.
4102 (x_draw_composite_glyph_string_foreground): Likewise.
4103 (x_draw_glyph_string_box): Likewise.
4104 (x_draw_image_foreground): Likewise.
4105 (x_draw_image_relief): Likewise.
4106 (x_draw_image_foreground_1): Likewise.
4107 (x_draw_image_glyph_string): Likewise.
4108
4109 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4110 and :line-width can be negative.
52283633 4111 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4112
49be9f70
JR
41132001-02-09 Jason Rumney <jasonr@gnu.org>
4114
4115 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4116 characters the same as ASCII and latin-1.
4117 (x_display_and_set_cursor): Check for the focus frame's selected
4118 window instead of selected_window.
4119 (x_after_update_window_line): Don't clear if frame's internal
4120 border width is zero.
4121 (x_new_font): Don't change a tooltip's size.
4122 (w32_initialize): Set char_ins_del_ok to 1.
4123
4124 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4125 (x_set_font): If font hasn't changed, avoid recomputing
4126 faces and other things.
52283633
SM
4127 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4128 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4129 (x_create_tip_frame): Prevent changing the tooltip's
4130 background color by specifying a color for the default font
4131 in .Xdefaults.
4132 (Qcancel_timer): New variable.
4133 (syms_of_w32fns): Initialize and staticpro it.
4134 (Fx_hide_tip, Fx_show_tip): Use it.
4135 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4136 the timer.
4137 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4138
4139 * w32.c (init_environment): Duplicate local string before putenv.
4140
555e35d2
SZ
41412001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4142
4143 * charset.c (Fstring): A typo.
4144
19c92c94
KH
41452001-02-09 Kenichi Handa <handa@etl.go.jp>
4146
e47a1c33
KH
4147 * charset.c (Fstring): If all arguments are less than 256, return
4148 a unibyte string.
4149
4150 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4151 return a unibyte string.
4152
19c92c94
KH
4153 * coding.c (code_convert_region): After detecting a coding, if
4154 nothing found, set coding->composing to COMPOSITION_NO.
4155 (decode_coding_string): Likewise.
4156
d8e675f5
SM
41572001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4158
4159 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4160 to avoid overflow.
4161
bd503487
KH
41622001-02-07 Kenichi Handa <handa@etl.go.jp>
4163
4164 * charset.c (parse_str_to_multibyte): New function.
4165
4166 * charset.h (parse_str_to_multibyte): Extern it.
4167
4168 * print.c (print_string): If we are going to print a unibyte
4169 string into a multibyte buffer, convert the string to multibyte by
4170 str_to_multibyte.
4171
a8370d72
AI
41722001-02-06 Andrew Innes <andrewi@gnu.org>
4173
4174 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4175 been created. It seems we can get sent window messages such as
4176 WM_ERASEBKGND before we properly update a frame.
4177
c363a1d6
GM
41782001-02-06 Gerd Moellmann <gerd@gnu.org>
4179
4180 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4181 Avoid some unnecessary cursor positioning.
4182
a08332c0
GM
41832001-02-05 Gerd Moellmann <gerd@gnu.org>
4184
52283633 4185 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4186 (LFACE_AVGWIDTH): New macro.
4187 (LFACEP): Use AREF.
4188 (check_lface_attrs): Check LFACE_AVGWIDTH.
4189 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4190 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4191 (merge_face_vectors): Check LFACE_AVGWIDTH.
4192 (Finternal_make_lisp_face): Use AREF.
4193 (xm_set_menu_resources_from_menu_face)
4194 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4195 (Finternal_lisp_face_empty_p): Use AREF.
4196 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4197 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4198 Compare average widths..
4199 (best_matching_font): Arrange for comparing average widths.
4200
52283633
SM
4201 * dispextern.h (enum lface_attribute_index):
4202 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4203
5cb3c8d4
DL
42042001-02-05 Dave Love <fx@gnu.org>
4205
4206 * puresize.h: Revert last change following loadup.el change.
4207
193fba87
AI
42082001-02-05 Andrew Innes <andrewi@gnu.org>
4209
4210 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4211 invocation of temacs, to work with Windows 2000.
4212 (bootstrap-emacs): Ditto.
4213
e16f52ce
GM
42142001-02-05 Gerd Moellmann <gerd@gnu.org>
4215
7a58ab59
GM
4216 * xterm.c (x_display_and_set_cursor): Check for the focus
4217 frame's selected window instead of selected_window.
4218
e89aaabd
GM
4219 * xdisp.c (try_scrolling): If point is in the line below the
4220 window, make sure to move the iterator at least a canonical
4221 char height down.
4222
52283633 4223 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4224
789ce875
KH
42252001-02-05 Kenichi Handa <handa@etl.go.jp>
4226
52283633
SM
4227 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4228 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4229 (ccl_driver): If the CCL program is terminated because of
4230 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4231 destination instead of throwing them away.
4232
20b28f82
GM
42332001-02-02 Gerd Moellmann <gerd@gnu.org>
4234
79fb38c0
GM
4235 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4236 faces and other things.
4237
20b28f82
GM
4238 * xdisp.c (get_next_display_element): Fix case of empty
4239 display table entry.
4240
5a72551e
EZ
42412001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4242
eb24d0bf
EZ
4243 * editfns.c (Fconstrain_to_field): Doc fix.
4244
6a3f48c7
EZ
4245 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4246 into `thoroughly', to make it consistent with the doc string.
4247
5a72551e
EZ
4248 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4249
01acdb05
GM
42502001-02-01 Gerd Moellmann <gerd@gnu.org>
4251
0353b28f
GM
4252 * search.c (search_buffer): Call set_search_regs with a byte
4253 position, not a character position.
4254
01acdb05
GM
4255 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4256 minibuffer-only,
4257
e86b5133
EZ
42582001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4259
4260 * frame.c (Fmodify_frame_parameters): Doc fix.
4261
7442878f
GM
42622001-01-31 Gerd Moellmann <gerd@gnu.org>
4263
01acdb05
GM
4264 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4265 identifier which is not reserved by Standard C.
52283633 4266
7442878f
GM
4267 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4268
4269 * window.c (enum window_part): New enumeration.
4270 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4271 Qright_bitmap_area.
4272 (coordinates_in_window): Return an enumerator from enum
4273 window_part. Fix handling of right scroll bar.
4274 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4275 `right-fringe' instead of `left-bitmap-area' and
4276 `right-bitmap-area'. Use enumerators from enum window_part
4277 instead of hard-coded integers.
52283633
SM
4278 (check_window_containing, window_from_coordinates):
4279 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4280 (syms_of_window): Replace Qleft_bitmap_area and
4281 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4282
7c132cba
EZ
42832001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4284
4285 * editfns.c (Fformat_time_string): Doc fix.
4286
c359dd9e
SM
42872001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4288
4289 * keymap.c (Fwhere_is_internal): Use the first valid binding
4290 if no ascii binding is found (when firstonly is t).
4291
ce070307
GM
42922001-01-31 Gerd Moellmann <gerd@gnu.org>
4293
b4f30ec5
GM
4294 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4295 instead of Finteractive_p.
4296
4297 * lisp.h (interactive_p): Add prototype.
4298
4299 * eval.c (interactive_p): New function.
4300 (Finteractive_p): Use it.
4301
ce070307
GM
4302 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4303
f57b6e64
DL
43042001-01-31 Dave Love <fx@gnu.org>
4305
d61c7afe
DL
4306 * .gdbinit (hook-run): Define to run xreload.
4307
f57b6e64
DL
4308 * textprop.c (Fset_text_properties): Fix newline in doc string.
4309
eef93f99
GM
43102001-01-30 Gerd Moellmann <gerd@gnu.org>
4311
52283633
SM
4312 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4313 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4314
4315 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4316 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4317 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4318
4319 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4320 height.
4321
d9c1f6f9
DL
43222001-01-30 Dave Love <fx@gnu.org>
4323
4324 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4325 AFTER_POTENTIAL_GC.
4326
e8f044a0
GM
43272001-01-29 Gerd Moellmann <gerd@gnu.org>
4328
52283633
SM
4329 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4330 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4331
8e1db7b3
EZ
43322001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4333
4334 * textprop.c (Fset_text_properties): Doc fix.
4335
4eefd9d2
GM
43362001-01-29 Gerd Moellmann <gerd@gnu.org>
4337
4338 * xdisp.c (forward_to_next_line_start): Remove xassert.
4339
fccb8288
EZ
43402001-01-29 Jason Rumney <jasonr@gnu.org>
4341
4eefd9d2 4342 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4343 returning without releasing it.
4344
76581eab
KH
43452001-01-29 Kenichi Handa <handa@etl.go.jp>
4346
4347 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4348 for '^', '$', and '\0'.
4349
83a96b4d
AC
43502001-01-28 Andrew Choi <akochoi@i-cable.com>
4351
5604ec34
AC
4352 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4353 regex for '^', '$', and '\0'.
4354
83a96b4d
AC
4355 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4356 only if current_sblock has been initialized.
4357
4358 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4359 terminal frame even if it is the only visible frame.
4360
c09a6440
KH
43612001-01-28 Kenichi Handa <handa@etl.go.jp>
4362
4363 * fontset.c (font_family_registry): Even if FONTNAME conform to
4364 XLFD, if it specifies other fields than family and registry,
52283633 4365 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4366 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4367 a signle byte character. Don't set FAMILY part to nil here.
4368 It is handled by the caller choose_face_font.
c09a6440
KH
4369 (Fnew_fontset): Call font_family_registry with FORCE 0.
4370 (Fset_fontset_font): Likewise.
4371
4dcd74e6
GM
43722001-01-27 Gerd Moellmann <gerd@gnu.org>
4373
4374 * xdisp.c (display_line): Don't treat a newline as fitting
4375 on the line.
4376
d2906bf8
GM
43772001-01-26 Gerd Moellmann <gerd@gnu.org>
4378
0130fe1a
GM
4379 * window.c (size_window): Set the window's orig_top to nil when
4380 changing heights, so that a future shrink_mini_window won't
4381 restore a bogus height.
4382
550f0e6a
GM
4383 * frame.c (do_switch_frame): If selected frame has a mini-window,
4384 resize that to exact size.
4385
b7b20fbd
GM
4386 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4387
a47b7816
GM
4388 * xdisp.c (display_line): Simplify check for glyphs fitting
4389 entirely in the line.
4390
d2906bf8
GM
4391 * xfns.c (xic_style): New variable.
4392 (create_frame_xic): Move static variable to global scope for
550f0e6a 4393 the case that `static' gets defined away.
d2906bf8 4394
73df2b1e
KH
43952001-01-26 Kenichi Handa <handa@etl.go.jp>
4396
4397 * coding.c (decode_coding): Set a flag for inhibiting
4398 inconsistent eol.
4399 (code_convert_region): Always set saved_coding_symbol.
4400 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4401 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4402
6613cfc4
GM
44032001-01-25 Gerd Moellmann <gerd@gnu.org>
4404
c5e6e06b
GM
4405 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4406 XClearArea.
4407
4408 * xterm.c (x_after_update_window_line): Don't clear if frame's
4409 internal border width is zero.
4410 (x_clear_area): New function.
4411 (x_after_update_window_line, x_clear_end_of_line)
4412 (x_scroll_bar_create, x_scroll_bar_set_handle)
4413 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4414 instead of XClearArea.
4415
4416 * xterm.h (x_clear_area): Add prototype.
4417
6613cfc4
GM
4418 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4419 which doesn't seem necessary anymore with Lesstif 0.92.
4420
650cc6cc
DL
44212001-01-25 Dave Love <fx@gnu.org>
4422
34ac3367
DL
4423 * puresize.h (BASE_PURESIZE): Up to 720000.
4424
650cc6cc
DL
4425 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4426
5e37dc22
GM
44272001-01-25 Gerd Moellmann <gerd@gnu.org>
4428
e1e441f9
GM
4429 * xdisp.c (echo_area_display): Don't call redisplay_internal
4430 when Emacs is shutting down. We can't run hooks etc. that
4431 would be necessary to do a redisplay.
4432
5e37dc22
GM
4433 * lread.c (read_integer): Use type EMACS_INT instead of int.
4434
0fb94c7f
EZ
44352001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4436
4437 * ccl.c (ccl_driver): Fix last change.
4438
e3778624
KH
44392001-01-25 Kenichi Handa <handa@etl.go.jp>
4440
4441 * ccl.h (sturct ccl_program): New member suppress_error.
4442
bb264518 4443 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4444 insert error message to the output.
4445 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4446
4447 * coding.h (struct coding_system): New member suppress_error.
4448
4449 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4450 (Fset_terminal_coding_system_internal): Set the member
4451 suppress_error to 1.
4452 (Fset_safe_terminal_coding_system_internal): Likewise.
4453
245ed2b1
SM
44542001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4455
4456 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4457 as if it was a `charset'.
4458
f9aaedb6
GM
44592001-01-24 Gerd Moellmann <gerd@gnu.org>
4460
4461 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4462 value in where_is_cache; the next lookup in the cache returns
4463 something bogus if we do.
4464
c3902c3e
EZ
44652001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4466
4467 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4468 if HAVE_WINDOW_SYSTEM isn't defined.
4469
3497f73e
GM
44702001-01-24 Gerd Moellmann <gerd@gnu.org>
4471
e7e41584
GM
4472 * fns.c (sweep_weak_table): Fix code taking items out of
4473 the hash collision chain. Some cleanup.
4474
3497f73e
GM
4475 * xterm.c (x_new_font): Don't change a tooltip's size.
4476
4477 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4478 background color by specifying a color for the default font
4479 in .Xdefaults.
4480
3d48e687
KH
44812001-01-24 Kenichi Handa <handa@etl.go.jp>
4482
96531b20
KH
4483 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4484 a workaround for SunOS 4's cc.
4485 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4486 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4487 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4488 statement.
3d48e687 4489
a30629d2
GM
44902001-01-23 Gerd Moellmann <gerd@gnu.org>
4491
4492 * xterm.c (x_set_window_size_1): New function extracted from
4493 x_set_window_size.
4494 (x_set_window_size): Use it.
4495 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4496 doesn't have a widget, like tooltips.
4497
5a43decf
EZ
44982001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4499
52283633 4500 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4501
b0e98867
KH
45022001-01-23 Kenichi Handa <handa@etl.go.jp>
4503
4504 * fns.c (Fset_char_table_default): Fix to make sub char-table
4505 correctly.
4506
50606b4c
GM
45072001-01-22 Gerd Moellmann <gerd@gnu.org>
4508
cb2ddc53 4509 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4510 a desired tool bar string, even if there are no tool bar items.
4511
57c28064
GM
4512 * xdisp.c (Ftool_bar_lines_needed): New function.
4513 (syms_of_xdisp): Defsubr it.
4514
50606b4c
GM
4515 * editfns.c (Fformat): Don't extend text properties from arguments
4516 to padding chars in the result.
4517
2f169c38
EZ
45182001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4519
4520 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4521
0f32f023
AI
45222001-01-20 Andrew Innes <andrewi@gnu.org>
4523
52283633 4524 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4525 (w32_initialize): Don't set term hooks that aren't actually needed
4526 in windowed mode.
4527
4528 * xfaces.c (realize_default_face):
4529 (realize_face):
4530 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4531
4532 * xdisp.c (handle_single_display_prop): Remove references to
4533 FRAME_W32_CONSOLE_P.
4534
52283633 4535 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4536
4537 * frame.h (output_method): Remove output_w32_console method.
4538 (FRAME_W32_CONSOLE_P): Remove macro.
4539
4540 * frame.c (Qw32_console): Remove variable.
4541 (Fframep): Remove references to it.
4542 (syms_of_frame): Ditto.
4543 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4544
4545 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4546 redefinition.
4547
7173eada
KH
45482001-01-20 Kenichi Handa <handa@etl.go.jp>
4549
4550 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4551
755b45ce
AI
45522001-01-19 Andrew Innes <andrewi@gnu.org>
4553
4554 * w32.c (init_environment): Add a version-independent site-lisp
4555 directory to EMACSLOADPATH, after the version dependent one.
4556
0a949811
GM
45572001-01-19 Gerd Moellmann <gerd@gnu.org>
4558
8501998a
GM
4559 * editfns.c (Fbuffer_substring): Doc fix.
4560
52283633
SM
4561 * xdisp.c (message_dolog, message2, message2_nolog):
4562 Rename parameter LEN to NBYTES.
0a949811 4563
e6ebcbbe
KH
45642001-01-19 Kenichi Handa <handa@etl.go.jp>
4565
200ecca2
KH
4566 * charset.c (strwidth): Use c_string_width.
4567 (c_string_width): New function.
4568 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4569 Caller changed.
4570
4571 * charset.h (c_string_width, lisp_string_width): Extern them.
4572
52283633 4573 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4574
e6ebcbbe
KH
4575 * indent.c (check_composition): Check validity of composition.
4576
200ecca2
KH
4577 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4578 characters by calling c_string_width.
4579 (x_consider_frame_title): Get byte length of frame tile string
4580 correctly.
4581 (display_mode_element): Pay attention to width of non-ASCII
4582 characters by calling strwidth.
4583
8692ca92
GM
45842001-01-18 Gerd Moellmann <gerd@gnu.org>
4585
8962e303
GM
4586 * xfns.c (Qcancel_timer): New variable.
4587 (syms_of_xfns): Initialize and staticpro it.
4588 (Fx_hide_tip, Fx_show_tip): Use it.
4589 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4590 the timer.
4591 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4592
91523be9
GM
4593 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4594
4595 * window.h (WINDOW_LIVE_P): New macro.
4596
b0b7ed0e
GM
4597 * window.c (window_size_fixed): New variable.
4598 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4599 the doc string.
4600
06bccf8e
GM
4601 * eval.c (specbind): If binding a per-buffer variable which
4602 doesn't have a buffer-local value in the current buffer, change
4603 the global value by changing the value of the symbol bound in all
4604 buffers not having their own value, to make it consistent with
4605 what happens with other buffer-local variables.
4606
8692ca92
GM
4607 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4608
4609 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4610 when searching for a newline.
4611
bb3a3b50
KH
46122001-01-18 Kenichi Handa <handa@etl.go.jp>
4613
4614 * xdisp.c (display_string): Fix previous change.
4615
c2cc16fa
JR
46162001-01-18 Jason Rumney <jasonr@gnu.org>
4617
4618 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4619 GLYPH_DEBUG is defined.
4620 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4621 true for images with `:ascent 100'.
4622 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4623 meantime, use face MOUSE_FACE_ID.
4624 If first glyph isn't a character glyph, use the ASCII NUL
4625 character to determine the face.
4626 (expose_area): Do not treat left margin specially.
4627 (note_mode_line_highlight): If no local_map, check global keymap.
4628 (note_mouse_highlight): Initialize overlay.
52283633 4629 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4630 (show_scroll_bars): Remove unused function.
4631 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4632 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4633 Clip to row.
52283633 4634 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4635 (x_free_frame_resources): Unload relief colors.
4636
9c11f79e
GM
46372001-01-17 Gerd Moellmann <gerd@gnu.org>
4638
3aec8722 4639 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4640 get_next_display_element when the newline is already found.
4641 This may change the iterator's position, when its current position is
3aec8722
GM
4642 equal to the iterator's stop_charpos.
4643
f3ffc2c3
GM
4644 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4645 zero, use this method only at the end of a line.
4646
52283633 4647 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4648 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4649 if SCALABLE_FONTS_P is set.
52283633 4650
d26d6fd9
GM
4651 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4652 so that scalable fonts are included.
4653
9c11f79e
GM
4654 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4655 In the cache, use a key containing the information if scalable
4656 fonts are included.
4657 (x_load_font): Adapt to change of keys in the font cache.
4658
46592001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4660
d26d6fd9
GM
4661 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4662 XListFonts to take advantage of font caching.
4663
9c11f79e
GM
4664 * xterm.c (x_list_fonts): Ensure caching font information when
4665 called for a null frame, which is the case frequently when Emacs
4666 starts.
4667
51446987
GM
46682001-01-17 Gerd Moellmann <gerd@gnu.org>
4669
f864120f
GM
4670 * xfns.c (QCconversion): Replaces QCalgorithm.
4671
4672 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4673
4674 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4675 of :algorithm.
52283633 4676
e37d1417
GM
4677 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4678 not everything could be displayed.
4679
51446987
GM
4680 * line.h, x-list-font.c: Files removed because unused.
4681
9ad4f3e5
AI
46822001-01-17 Andrew Innes <andrewi@gnu.org>
4683
4684 * dired.c (directory_files_internal): Convert result from readdir
4685 to a unibyte string initially, to avoid possible misinterpretation
4686 of some bytes as the internal form of Emacs characters.
4687
2eda09b5
KH
46882001-01-17 Kenichi Handa <handa@etl.go.jp>
4689
4690 * fns.c (concat): Be sure to avoid putting the same `composition'
4691 property on the adjacent regions.
4692
826f3788
GM
46932001-01-16 Gerd Moellmann <gerd@gnu.org>
4694
52283633 4695 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4696 (Fscroll_right, Fscroll_left): Set it here instead, if called
4697 interactively.
4698
d57b83b3
GM
4699 * buffer.c (Fset_buffer_modified_p): Set buffer's
4700 prevent_redisplay_optimizations_p flag.
4701
826f3788 4702 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4703 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4704 with additional arg.
4705
4706 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4707 Change prototype.
826f3788 4708
826f3788
GM
4709 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4710 FROM_WHERE, for debugging.
4711
261d788b
KH
47122001-01-16 Kenichi Handa <handa@etl.go.jp>
4713
4714 * ccl.c (Fregister_ccl_program): Handle the return value of
4715 resolve_symbol_ccl_program correctly.
52283633 4716 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4717
bccee4f2
GM
47182001-01-15 Gerd Moellmann <gerd@gnu.org>
4719
e4ded23c
GM
4720 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4721 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4722
4723 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4724 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4725 the display; we didn't open it.
4726
bccee4f2
GM
4727 * dispnew.c (save_or_restore_current_matrices): Function removed.
4728 (save_current_matrix, restore_current_matrix): New functions.
4729 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4730 restore the frame's current matrix. Due to the glyph pointer
4731 setup done in adjust_glyph_matrix, there is no easy way to make
4732 saving the current matrix in the desired matrix generally correct,
4733 so don't try it.
4734
ebeccffa
KH
47352001-01-15 Kenichi Handa <handa@etl.go.jp>
4736
4737 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4738 truncation glyphs.
4739 (display_line): Optimize for wide characters.
e4ded23c 4740 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4741 partially. On ttys, produce more than one truncation glyph for
4742 multi-column characters that don't fit on the line.
4743
64388126
KH
47442001-01-13 Kenichi Handa <handa@etl.go.jp>
4745
52283633
SM
4746 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4747 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4748
8edb0a6f
JR
47492001-01-13 Jason Rumney <jasonr@gnu.org>
4750
4751 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4752 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4753 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4754 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4755
52283633
SM
4756 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4757 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4758 (x_draw_image_glyph_string): Adapt to change of image margins.
4759
4760 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4761 variables.
4762
4763 * w32bdf.c (search_file_line, get_cached_font_char)
4764 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4765
4766 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4767
4768 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4769 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4770 (Fw32_send_sys_command): Remove unused variables.
4771 (w32_msg_pump): Add parentheses.
4772
4773 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4774 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4775 Add parentheses.
4776
4956d1ef
GM
47772001-01-12 Gerd Moellmann <gerd@gnu.org>
4778
b30623be
GM
4779 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4780 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4781 being a pair of margins.
4782 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4783 to DEFVAR_LISP. Extend doc.
4784
4785 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4786 margins.
4787 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4788 pair of integers `(X . Y)', use X for the horizontal and Y for the
4789 vertical margin.
4790 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4791 (parse_image_spec): Check it.
52283633
SM
4792 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4793 (tiff_format, gif_format, gs_format):
4794 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4795
52283633
SM
4796 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4797 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4798 (x_draw_image_glyph_string): Adapt to the change of image margins.
4799
4800 * dispextern.h (struct image): Replace member `margin' with
4801 `hmargin' and `vmargin'.
4802
4554cc79
GM
4803 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4804 and GLYPHS.
4805
4806 * dispnew.c (update_text_area): Put code which decrements the
4807 stop position when the row's face extends to the end of the
3bffc665 4808 line in #if 0.
4554cc79 4809
3cccce8d
GM
4810 * xfns.c (x_set_mouse_color): Fix color allocation.
4811
4956d1ef
GM
4812 * keyboard.c: Call get_local_map with new argument list.
4813
4814 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4815
4816 * intervals.h (enum map_property): Removed.
4817 (get_local_map): Change prototype.
4818
4819 * keymap.c: Call get_local_map with new argument list.
4820 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4821
2c2ff7f2
GM
48222001-01-11 Gerd Moellmann <gerd@gnu.org>
4823
a23887b9
GM
4824 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4825 of the size needed for the tool bar string. For the last image,
4826 use a `display' property that reaches to the end of the string.
4827
a7ee2d2e
GM
4828 * xselect.c (selection_request_dpyinfo): New variable.
4829 (x_handle_selection_request): Set it.
4830 (x_selection_request_lisp_error): Don't call
4831 x_decline_selection_request if selection request's display has
4832 been closed.
4833
52283633
SM
4834 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4835 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4836
457b792c
GM
48372001-01-10 Dave Love <fx@gnu.org>
4838
4839 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4840 ${SOME_MACHINE_LISP}, not ${lisp}.
4841
c1efd260
GM
48422001-01-10 Gerd Moellmann <gerd@gnu.org>
4843
52283633
SM
4844 * xdisp.c (display_line): On ttys, produce more than one truncation
4845 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4846
ac95a621
GM
4847 * xselect.c (x_reply_selection_request): Add a comment.
4848
c1efd260
GM
4849 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4850 XkbGetNames instead of XkbGetKeyboard.
4851
1bfb1345
DL
48522001-01-10 Dave Love <fx@gnu.org>
4853
4854 * sysdep.c (random): Revert the declaration.
4855
38119822
GM
48562001-01-09 Gerd Moellmann <gerd@gnu.org>
4857
52283633
SM
4858 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4859 Call function string_bytes.
35f464a7
GM
4860 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4861
4862 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4863 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4864 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4865 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4866 the current sblock.
4867 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4868 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4869 after sweeping strings, and at the end.
4870 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4871
38119822
GM
4872 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4873 ensure that pop_message is called.
4874
4875 * keyboard.c (Fexecute_extended_command): Use a
4876 record_unwind_protect to ensure that pop_message is called.
4877
4878 * lisp.h (push_message_unwind): Add prototype.
4879
4880 * xdisp.c (push_message_unwind): New function.
4881
4882 * fileio.c (do_auto_save_unwind): Do the pop_message here
4883 instead of in Fdo_auto_save.
4884 (Fdo_auto_save): Don't call pop_message.
4885
f47a9ec4
KR
48862001-01-08 Ken Raeburn <raeburn@gnu.org>
4887
4888 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4889 in inner block.
4890
a758f97d
GM
48912001-01-08 Gerd Moellmann <gerd@gnu.org>
4892
6d0afc03
GM
4893 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4894 when increasing window's vscroll.
4895
a758f97d
GM
4896 * macros.c (Qkbd_macro_termination_hook): New variable.
4897 (syms_of_macros): Initialize and staticpro it.
4898 (pop_kbd_macro): Run kbd-macro-termination-hook.
4899
4900 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4901
1bfb1345 49022001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4903
4904 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4905 arglist, for documentation's sake.
4906
0dac6924
AI
49072001-01-06 Andrew Innes <andrewi@gnu.org>
4908
4909 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4910 of *.pdb.
4911
8182406a
AI
49122001-01-05 Andrew Innes <andrewi@gnu.org>
4913
4914 * term.c (update_end): Don't check updating_frame; for some reason
4915 this can be 0 sometimes, such as after dismissing a popup menu,
4916 and isn't necessary given the explicit frame argument.
4917
3828218c
GM
49182001-01-05 Gerd Moellmann <gerd@gnu.org>
4919
4920 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4921 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4922
2f5ded21
GM
49232001-01-04 Gerd Moellmann <gerd@gnu.org>
4924
52283633 4925 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4926
4927 * xfns.c (x_create_tip_frame): Preserve the value of
4928 face_change_count around the creation of the tip frame.
52283633 4929
2f5ded21
GM
4930 * xfns.c (last_show_tip_args): New variable.
4931 (compute_tip_xy): New function.
4932 (Fx_show_tip): Reuse an existing tip frame, if possible.
4933 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4934
dfad65fa
DL
49352001-01-04 Dave Love <fx@gnu.org>
4936
64d4ec0f
DL
4937 * editfns.c (Fformat): Doc fix.
4938
dfad65fa
DL
4939 * systime.h (set_file_times): Prototype.
4940
4941 * widget.h (EmacsFrameSetCharSize_): Prototype.
4942
4943 * sysdep.c (random, srandom): Declare explicitly.
4944
4945 * dispextern.h (move_it_vertically_backward): Declare.
4946
85fe3b5e
GM
49472001-01-04 Gerd Moellmann <gerd@gnu.org>
4948
0f2ac578
GM
4949 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4950 like in Fx_create_frame.
4951
482cca61
GM
4952 * xfaces.c (set_font_frame_param): Don't do anything for
4953 non-graphical frames.
4954
85fe3b5e
GM
4955 * window.c (Fdelete_other_windows): Set window's window_end_valid
4956 to nil when changing the window's start. Don't change the
4957 window's start when its top position hasn't changed. If we do,
4958 this will set the window's optional_new_start, which act's like a
4959 force_start during redisplay with C-x 1 M-> under particular
4960 circumstances (see report from Per Starback to emacs-pretest-bug
4961 from 2000-12-13.).
4962
3e99d3b4
GM
49632001-01-03 Gerd Moellmann <gerd@gnu.org>
4964
a77dc1ec
GM
4965 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4966 short cut at the start of the function. Add an assertion.
4967 (reseat_at_next_visible_line_start): Add an assertion.
4968
2f3cad6c
GM
4969 * window.c (Frecenter): When changing the window start, set the
4970 window's window_end_valid to nil.
4971 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4972
4973 * dispextern.h (move_it_past_eol): Add prototype.
4974
4975 * xdisp.c (move_it_past_eol): New function.
4976
3e99d3b4
GM
4977 * window.c (Fwindow_end): Doc fix.
4978
49792001-01-03 Dave Love <fx@gnu.org>
4980
52283633 4981 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4982
bafb434c
GM
49832001-01-03 Gerd Moellmann <gerd@gnu.org>
4984
4985 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4986 the enabled_p flag of the glyph row at window_end_vpos to 0.
4987 (handle_single_display_prop): Fix last change.
4988
5297fb00
RS
49892001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4990
4991 * window.c (Frecenter): Doc fix.
4992
13d6a61c
AI
49932001-01-02 Andrew Innes <andrewi@gnu.org>
4994
4995 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4996
4997 * frame.h (output_method): Add output_w32_console method.
4998 (FRAME_W32_CONSOLE_P): New macro.
4999
5000 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5001 use output_w32_console method.
5002 (Qw32_console): New Lisp_Object.
5003 (Fframep): Return it.
5004 (syms_of_frame): Init it.
52283633 5005 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5006
5007 * xfaces.c (realize_default_face): Set face foreground and
5008 background to unspecified for w32_console frames.
5009 (realize_face): Realize face cache for w32_console frames.
5010 (realize_tty_face): Accept w32_console frames.
5011
52283633 5012 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5013 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5014 necessary, even if running interactively.
5015
5016 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5017 w32_console frames.
5018
52283633
SM
5019 * w32term.c (x_update_begin):
5020 (x_update_end):
5021 (x_clear_frame):
5022 (x_ins_del_lines):
5023 (x_change_line_highlight):
5024 (x_delete_glyphs):
5025 (w32_ring_bell):
5026 (x_update_begin):
5027 (x_update_end):
5028 (w32_reassert_line_highlight):
5029 (w32_frame_rehighlight):
13d6a61c
AI
5030 (w32_frame_raise_lower): Do nothing if not w32 frame.
5031
5032 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5033
5034 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5035 system doesn't tell us directly.
5036 (Fx_display_visual_class): Implement properly.
5037
d6bb0c0d
GM
50382001-01-02 Gerd Moellmann <gerd@gnu.org>
5039
5040 * window.c (Frecenter): Handle centering in graphical frames
5041 specially. Centering on the basis of line counts doesn't work
5042 reliably with variable-height lines.
52283633 5043
315f5865
EZ
50442001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5045
5046 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5047 and al[].
5048
52283633 5049 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5050 (update_compositions): Remove unused variable `hook'.
5051
5052 * intervals.c (get_local_map): Remove unused variable `tem'.
5053
5054 * doprnt.c (doprnt1): Remove unused variable `size'.
5055
5056 * fns.c (Flength): Remove unused variable `tail'.
5057 (Fdelete): Remove unused variable `size'.
5058
5059 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5060 and `gcpro2'.
5061
52283633 5062 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5063
5064 * data.c (find_symbol_value): Remove extra 3rd argument in the
5065 call to swap_in_symval_forwarding.
5066
52283633 5067 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5068
5069 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5070 (trivial_regexp_p): Remove unused variable `c'.
5071 (boyer_moore): Remove unused variable `k'.
5072
5073 * indent.c (current_column): Remove unused variable `stopchar'.
5074 (Fcompute_motion): Remove unused variable `contin'.
5075
5076 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5077
5078 * dired.c (directory_files_internal): Fix a typo in a comment.
5079 Remove an unused variable `handler'.
52283633 5080 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5081 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5082 on BSD4_2.
5083
52283633 5084 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5085
5086 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5087 and `buf'.
5088 (Fmarker_insertion_type): Remove unused variable `buf'.
5089
5090 * insdel.c (make_gap): Remove unused variable `result'.
5091
52283633 5092 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5093 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5094 (menu_bar_items): Remove unused function-scope variable `tem'.
5095
5096 * fontset.c (fontset_ref): Remove unused variable `i'.
5097 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5098 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5099 (make_fontset_for_ascii_face): Remove unused variable `name'.
5100 (fs_load_font): Remove unused variable `font_idx'.
52283633 5101 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5102 (list_fontsets): Remove unused variable `tail'.
5103 (Fnew_fontset): Remove unused variables `family' and `registry'.
5104 (accumulate_font_info): Remove unused variable `tmp'.
5105 (Ffontset_font): Remove unused variable `id'.
5106 (syms_of_fontset): Remove unused variable `i'.
5107
5108 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5109 to x_term_init.
5110 (lookup_image): Remove unused variable `file'.
5111 (xbm_load): Remove unused variables `bitmap_data', `height', and
5112 `width'. Remove function-local variable `i', leave the
5113 block-local one.
5114 (gif_load): Remove unused variable `inc'.
5115
52283633 5116 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5117 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5118 leave only the one in the inner block.
5119
5120 * xfaces.c (face_fontset, realize_default_face): Remove unused
5121 variable `fontset'.
5122 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5123
5124 * term.c (encode_terminal_code): Remove unused variable `c'.
5125
5126 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5127 char *' instead of `char *'.
5128
5129 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5130 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5131 (Fchar_category_set): Remove unused variables `val', `charset',
5132 `c1' and `c2'.
5133
52283633
SM
5134 * coding.c (detect_coding_iso2022, setup_coding_system):
5135 Remove unused variable `i'.
315f5865
EZ
5136 (detect_coding_mask): Remove unused variable `idx'.
5137 (detect_coding): Remove unused variable `i'.
5138 (ccl_coding_driver): Remove unused variable `result'.
5139 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5140 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5141 (encode_coding_string): Remove unused variables `gcpro1' and
5142 `saved_coding_symbol'.
5143 (Ffind_coding_systems_region_internal): Remove function-local
5144 variable args[], leave only the block-local one.
5145 (code_convert_region1): Remove unused variable `len'.
5146
5147 * charset.c (char_printable_p): Remove unused variable `chars'.
5148 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5149 (str_to_multibyte): Remove unused variable `c'.
5150
5151 * window.c (size_window): Remove block-local variable `min_size'.
5152
5153 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5154 `header_line_height'.
5155 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5156 enum display_element_type.
5157
1a8a9daf
GM
51582001-01-02 Gerd Moellmann <gerd@gnu.org>
5159
6dde6abc 5160 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5161 statements that call X. Save away the error message in a local copy.
5162
1883b2c6
GM
5163 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5164 the start.
5165
a13be207
GM
5166 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5167 in or at the start of invisible text.
5168
1a8a9daf
GM
5169 * dispnew.c (update_window): Don't check_current_matrix_flags.
5170
3608c0f9
JR
51712001-01-01 Jason Rumney <jasonr@gnu.org>
5172
5173 * w32fns.c (x_figure_window_size): Do not allow new_height and
5174 new_width of frame to override specified values.
5175
abb1acc4
KH
51762000-12-30 Kenichi Handa <handa@etl.go.jp>
5177
52283633 5178 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5179
762a68ec
GM
51802000-12-29 Gerd Moellmann <gerd@gnu.org>
5181
52283633 5182 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5183 (update_window) [GLYPH_DEBUG]: Call it.
5184 (scrolling_window): Prevent including current rows which are below
5185 what's displayed in the window.
5186
5187 * xdisp.c (try_window_reusing_current_matrix)
5188 <new start <= old start>: Disable rows in the current matrix
5189 which are below the window after scrolling.
52283633 5190
762a68ec
GM
5191 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5192 is zero. It's not worth the complexity.
5193 (invisible_text_between_p): Put in #if 0 because unused.
5194
2d5912c1
GM
51952000-12-28 Gerd Moellmann <gerd@gnu.org>
5196
46f6a258
GM
5197 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5198 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5199
89f93679
GM
5200 * keyboard.c (echo_char): If C is an integer, always call
5201 push_key_description. Former code could signal an invalid
5202 character error.
5203
5204 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5205 If set, print multibyte text.
5206 (Fsingle_key_description): Call push_key_description with
5207 FORCE_MULTIBYTE set.
5208 (describe_buffer_bindings): Likewise.
5209
5210 * lisp.h (push_key_description): Add prototype.
5211
c06017fb
GM
5212 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5213 around the call to redisplay_internal.
5214
f1d2ce7f
GM
5215 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5216
2d5912c1
GM
5217 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5218
9371f831
KH
52192000-12-28 Kenichi Handa <handa@etl.go.jp>
5220
5221 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5222 (ccl_driver): New local variable `extra_bytes'.
5223
5224 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5225
52283633
SM
5226 * coding.c (setup_coding_system):
5227 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5228 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5229
0c80628a
KH
52302000-12-28 Kenichi Handa <handa@etl.go.jp>
5231
5232 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5233 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5234 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5235 (decode_composition_emacs_mule): New function.
5236 (decode_coding_emacs_mule): Decode composition sequence by calling
5237 decode_composition_emacs_mule.
5238 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5239 (encode_coding_emacs_mule): Changed from macro to function.
5240 If a text contains compositions, encode them correctly.
0c80628a
KH
5241 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5242 that decoding and encoding are required.
5243
3e32cc27
GM
52442000-12-27 Gerd Moellmann <gerd@gnu.org>
5245
5e25feee
GM
5246 * xfaces.c (PT_PER_INCH): New macro.
5247 (xlfd_point_size): Compute real point size from font's pixel size.
5248 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5249 instead of 72.
5250
892d8fcd
GM
5251 * .gdbinit: Comment out the line pointing to the Lesstif source
5252 directory.
5253
12c8b416
GM
5254 * window.c (Frecenter): Use displayed_window_lines instead
5255 of window_internal_height.
5256
6061fbf0
GM
5257 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5258 instead of x-toolkit-scroll-bars-p.
5259 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5260
5261 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5262 instead of x-toolkit-scroll-bars-p.
5263 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5264
3e32cc27
GM
5265 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5266 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5267 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5268 New variables.
5269 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5270 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5271 (build_frame_matrix_from_leaf_window): Remove unused code.
5272 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5273 redisplay history.
5274 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5275 (update_window) [GLYPH_DEBUG]: Likewise.
5276 (syms_of_display): Defsubr dump-redisplay-history.
5277
31798cfe
GM
52782000-12-23 Gerd Moellmann <gerd@gnu.org>
5279
f717c2ba
GM
5280 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5281 the end of the prompt. Set echo_after_prompt to the offset
5282 of echoptr in echobuf.
5283
aeb2b8fc
GM
5284 * xdisp.c (init_from_display_pos): Pop until the iterator's
5285 stack is empty; there may be frames for stretch or images
5286 on the stack.
5287
31798cfe
GM
5288 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5289 (save_or_restore_current_matrix): New function for the same
5290 purpose, but more efficient.
5291 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5292
f8156156
EZ
52932000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5294
5295 * xdisp.c (syms_of_xdisp): Fix last change.
5296
bdd6d4e8
GM
52972000-12-23 Gerd Moellmann <gerd@gnu.org>
5298
5299 * xdisp.c (syms_of_xdisp): Doc fix.
5300
5301 * xdisp.c (redisplay_window): Remove label restore_buffers;
5302 use finish_scroll_bars instead to make sure that scroll bars
5303 are redeemed. If we don't do this, flickering can result from
5304 scroll bars being destroyed and recreated.
5305
9436cdf9
JR
53062000-12-22 Jason Rumney <jasonr@gnu.org>
5307
5308 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5309 in the wrong colors when the foreground is not black.
5310 (expose_window): Don't redraw the window that's currently being
5311 updated.
5312
951f9df5
GM
53132000-12-22 Gerd Moellmann <gerd@gnu.org>
5314
856ff7a7
GM
5315 * window.c (size_window): When setting the window's too_small_ok
5316 flag, compare old size with minimum size depending on WIDTH_P,
5317 don't compare with window_min_width.
52283633 5318
951f9df5
GM
5319 * window.c (delete_window): Simplify somewhat.
5320 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5321 freeing window matrices. The flag windows_or_buffers_changed is
5322 set, so the next redisplay will consider all windows; this should
5323 suffice.
5324
886bc933
KH
53252000-12-22 Kenichi Handa <handa@etl.go.jp>
5326
5327 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5328
5329 * ccl.h (struct ccl_program): New member cr_consumed.
5330
5331 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5332 (CCL_READ_CHAR): Handle EOL conversion here.
5333 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5334
177f4e88
GM
53352000-12-21 Gerd Moellmann <gerd@gnu.org>
5336
52283633 5337 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5338
5339 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5340 otherwise tabs of different size compare equal.
5341
5342 * callint.c (Fcall_interactively): Prevent a compiler warning.
5343
5344 * print.c (print_unwind): Return nil.
5345 (PRINTDECLARE): Initialize all local variables.
5346 (print_preprocess): Add a default case.
5347
8e15274f
GM
5348 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5349
5350 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5351
52283633 5352 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5353 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5354
5355 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5356
5357 * dispnew.c (ensure_frame_matrix): Removed.
5358 (save_frame_matrix, restore_frame_matrix): New functions.
5359 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5360
5361 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5362 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5363
99012074
AI
53642000-12-21 Andrew Innes <andrewi@gnu.org>
5365
5366 * w32term.c (x_update_begin): Regenerate the palette here, rather
5367 than for each window.
5368
5369 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5370 palette is NULL, since this corrupts memory! Also get
5371 display_info reference from frame.
5372
29ef7d2d
JR
53732000-12-21 Jason Rumney <jasonr@gnu.org>
5374
5375 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5376
5377 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5378 to avoid returning without releasing it.
3e27fa1f 5379
3f9d67a6
KH
53802000-12-21 Kenichi Handa <handa@etl.go.jp>
5381
587fc3f9
KH
5382 * keymap.c (push_key_description): Don't convert eight-bit-control
5383 and eight-bit-graphic to multibyte character.
5384
3f9d67a6
KH
5385 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5386 generic character and CODE1 is nil, return the smallest character
5387 in CHARSET.
5388
774ba8c9
DL
53892000-12-20 Dave Love <fx@gnu.org>
5390
5391 * s/osf5-0.h (NSIG): Don't redefine.
5392
88416888
SM
53932000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5394
5395 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5396 excluding menu-bar and tool-bar.
5397 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5398 (menu_item_p): Remove.
5399 (where_is_internal_1): Don't ignore menu-items.
5400
a6426c6f
GM
54012000-12-20 Gerd Moellmann <gerd@gnu.org>
5402
03ff8aab
GM
5403 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5404 into account.
5405
5406 * window.c (make_window): Initialize window's min_hscroll.
5407 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5408 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5409 to zero.
5410 (struct saved_window): New member min_hscroll.
5411 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5412 (Fset_window_configuration): Set window's min_hscroll.
5413 (save_window_save): Save window's min_hscroll.
5414 (compare_window_configurations): Compare min_hscroll values.
5415
5416 * window.h (struct window): New member min_hscroll.
5417
5418 * keyboard.c (echo_prompt): Prevent a compiler warning.
5419
8de4aaf8
GM
5420 * xdisp.c (try_cursor_movement): Fix last change. The real
5421 condition is that PT is at the end of the row, and should
5422 be displayed at the start of the next row.
52283633 5423
3f7e3031
GM
5424 * xdisp.c (try_cursor_movement): If we end on a partially
5425 visible line, end we already decided to scroll, return -1.
5426
a6426c6f
GM
5427 * dispextern.h (ensure_frame_matrix): Add prototype.
5428
5429 * window.c (delete_window, Fsplit_window)
5430 (Fset_window_configuration): Call ensure_frame_matrix.
5431
52283633
SM
5432 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5433 New functions.
a6426c6f
GM
5434 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5435 completed, call fake_current_matrices instead of marking frame
5436 garbaged.
5437
57fa2774
JR
54382000-12-20 Jason Rumney <jasonr@gnu.org>
5439
5440 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5441
d925df90
EZ
54422000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5443
5444 * fns.c (Frequire): Doc fix.
5445
7b93a85b
GM
54462000-12-19 Gerd Moellmann <gerd@gnu.org>
5447
52283633 5448 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5449
c74e645b
GM
5450 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5451 currently displaying a message.
5452
7b93a85b
GM
5453 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5454 xterm.h.
5455 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5456
90d97e64
AI
54572000-12-18 Andrew Innes <andrewi@gnu.org>
5458
5459 * w32.c (w32_strerror): New function.
5460
5461 * w32.h (w32_strerror): New extern.
5462
5463 * w32fns.c (Fw32_shell_execute): Use it.
5464
91c9e6ce
GM
54652000-12-18 Gerd Moellmann <gerd@gnu.org>
5466
5467 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5468
6f4745e2
EZ
54692000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5470
5471 * msdos.c (IT_set_face): Obey inverse_video.
5472
c9e088ce
KH
54732000-12-18 Kenichi Handa <handa@etl.go.jp>
5474
5475 * dired.c (directory_files_internal): Always return decoded filenames.
5476
c3695f5f
GM
54772000-12-18 Gerd Moellmann <gerd@gnu.org>
5478
52d8e4ff
GM
5479 * xterm.c (x_connection_closed): Prevent being called recursively
5480 because of an error condition in XtCloseDisplay.
52283633 5481
62be9979
GM
5482 * xdisp.c (init_iterator): If noninteractive, and the frame's
5483 face cache is null, make one.
5484
52283633 5485 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5486
c3695f5f
GM
5487 * process.c (wait_reading_process_input): Check for pending
5488 input when running timers.
5489
78555fbe
EZ
54902000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5491
52283633 5492 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5493
b2b36264
KH
54942000-12-18 Kenichi Handa <handa@etl.go.jp>
5495
5496 * process.c (read_process_output): Don't run a filter if the code
5497 decoder produces nothing but carryover.
5498
9c543fbf
AI
54992000-12-17 Andrew Innes <andrewi@gnu.org>
5500
5501 * w32.c (sys_rename): Only check errno against EEXIST, and not
5502 EACCES, when determining whether rename failed because the target
5503 exists. This was resulting in indefinite looping on Windows 9x if
5504 the source file was locked by another process.
5505
5506 * w32fns.c (Ffile_system_info): New function.
5507 (syms_of_w32fns): Defsubr it.
5508
10c2b5a8
GM
55092000-12-17 Gerd Moellmann <gerd@gnu.org>
5510
b0228ace
GM
5511 * window.c (coordinates_in_window): Fix computation for
5512 position on vertical line between mode lines.
5513
10c2b5a8
GM
5514 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5515 Don't alter tip_frame or tip_window.
5516 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5517 was deleted.
5518
c844a81a
GM
5519 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5520 Don't alter tip_frame or tip_window.
5521 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5522 was deleted.
5523
6c825f8e
EZ
55242000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5525
5526 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5527 be consistent with the doc string. Reported by NAKAJIMA Mikio
5528 <minakaji@osaka.email.ne.jp>.
5529
af4bb4c8
KH
55302000-12-16 Kenichi Handa <handa@etl.go.jp>
5531
5532 * xfaces.c (Vface_ignored_fonts): New variable.
5533 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5534 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5535
8062e53a
GM
55362000-12-15 Gerd Moellmann <gerd@gnu.org>
5537
e87b8809
GM
5538 * dispnew.c (update_window): Detect pending input every nth line
5539 updated, i.e. do it depending on real work done, and not on the
5540 vpos of the line.
5541
5542 * xterm.c (expose_window): Don't redraw the window that's
5543 currently being updated.
5544
a6768cc5
GM
5545 * window.c (Fset_window_point): Remove test for
5546 cursor_in_non_selected_windows.
5547
4ea7fdca
GM
5548 * lread.c (read1): Recognize end of file after `\\'.
5549
8062e53a
GM
5550 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5551 not unwind_create_frame.
5552
bb7959c1
GM
55532000-12-15 Dave Love <fx@gnu.org>
5554
5555 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5556 bcopy & al.
5557
5558 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5559
ced04c42
KH
55602000-12-15 Kenichi Handa <handa@etl.go.jp>
5561
c5443913
KH
5562 * coding.c (setup_coding_system): Clear all members of the struct
5563 coding_system at first.
bc137305
KH
5564 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5565 argument.
5566 (code_convert_region): Don't override coding->src_multibyte and
5567 coding->dst_multibyte.
c5443913 5568
ced04c42
KH
5569 * fns.c (Fmd5): Docstring improved.
5570
c2d7f289
MB
55712000-12-15 Miles Bader <miles@gnu.org>
5572
5573 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5574 are actually marked as mode-lines; otherwise use
5575 estimate_mode_line_height.
5576
9d7d9263
GM
55772000-12-14 Gerd Moellmann <gerd@gnu.org>
5578
5579 * editfns.c (Fformat): Prevent a buffer overrun when the format
5580 specifies a precision.
5581
7cf0153a
EZ
55822000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5583
5584 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5585 argument is outside the range [2..3].
5586
1de0f662
AI
55872000-12-14 Andrew Innes <andrewi@gnu.org>
5588
5589 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5590 nothing to do. Bind inhibit-quit.
5591 (tip_frame): Make it a Lisp_Object.
5592 (x_create_tip_frame): Set tip_frame after it has been added to
5593 Vframe_list.
5594 (Fx_show_tip): Don't set tip_frame here.
52283633 5595 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5596 (unwind_create_frame, unwind_create_tip_frame): New functions.
5597 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5598 while a frame is only partially constructed.
5599
5600 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5601 (x_free_frame_resources): New function.
5602 (x_destroy_window): Use it.
5603
02387dcc
GM
56042000-12-14 Gerd Moellmann <gerd@gnu.org>
5605
5606 * xfns.c (Fx_backspace_delete_keys_p): New function.
5607 (syms_of_xfns): Defsubr it.
5608
5609 * config.in (HAVE_XKBGETKEYBOARD): Add.
5610
0544ef49
KH
56112000-12-14 Kenichi Handa <handa@etl.go.jp>
5612
98d62747
KH
5613 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5614 Always store string in multibyte representation in echobuf.
5615 (echo_char): Always store string in multibyte representation in
5616 echobuf.
5617 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5618 (read_key_sequence): Adjusted for the change of echo_prompt.
5619
a20193cd
KH
5620 * fns.c (Fmd5): Docstring improved.
5621
191b83b6
KH
5622 * lisp.h (detect_coding_system): Prototype adjusted.
5623
0544ef49
KH
5624 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5625 (detect_coding_emacs_mule, detect_coding_iso2022,)
5626 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5627 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5628 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5629 (detect_coding_mask, detect_coding_system): New argument
5630 MULTIBYTEP. Callers changed.
1da1bb05
KH
5631 (decode_coding_string): Set coding->src_multibyte and
5632 coding->dst_multibyte before calling detect_coding and detect_eol.
5633 Update them after some coding system is detected.
52283633 5634
d5b3eb1b
SM
56352000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5636
5637 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5638
5639 * keyboard.c (menu_bar_items, tool_bar_items):
5640 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5641
f7f8bb69
GM
56422000-12-13 Gerd Moellmann <gerd@gnu.org>
5643
52283633 5644 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5645 New variables.
5646 (unwind_create_frame, unwind_create_tip_frame): New functions.
5647 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5648 while a frame is only partially constructed.
5649
5650 * xterm.h (x_free_frame_resources): Declare.
5651
5652 * xterm.c (x_free_frame_resources): New function.
5653 (x_destroy_window): Use it.
5654
e10da507
GM
5655 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5656 don't interrupt the update for pending input initially, i.e.
5657 update at least some lines.
5658
5659 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5660
d5b3eb1b 5661 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5662
5663 * xfns.c (gray_bitmap_bits): Declare `char *'.
5664
90aa2856
GM
56652000-12-12 Gerd Moellmann <gerd@gnu.org>
5666
5667 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5668 lines start with a relief line.
5669
a308c9cd
DL
56702000-12-12 Dave Love <fx@gnu.org>
5671
5672 * window.c (Fdisplay_buffer): Doc fix.
5673 (Fwindow_list): Remove unused var.
5674
5675 * buffer.h (mmap_set_vars): Declare.
5676
5677 * window.h (Fset_window_point): Declare.
5678
d575011f
EZ
56792000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5680
bf6282d2 5681 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5682 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5683 variable `area'. When looking for a row under (X,Y), give up if some
5684 of the previous rows is not enabled.
d575011f 5685
ecf4d726
GM
56862000-12-12 Gerd Moellmann <gerd@gnu.org>
5687
2ebf6139
GM
5688 * window.c (Fset_window_point): If displaying cursors in windows
5689 other than the selected window, make sure redisplay updates
5690 other windows to show the new value of point in the window.
5691
5692 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5693
bfdb75ee
GM
5694 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5695 the buffer is the sole visible buffer when in the mini-buffer.
5696
52283633 5697 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5698 Bind `inhibit-read-only' to t.
5699 (unwind_with_echo_area_buffer): Use AREF.
5700
c0006262
GM
5701 * xfns.c (Fx_hide_tip): Simplified.
5702
52283633
SM
5703 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5704 instead of `1'.
e9a59cad 5705
ecf4d726
GM
5706 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5707
e5959a9a
GM
57082000-12-11 Gerd Moellmann <gerd@gnu.org>
5709
a3642e49 5710 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5711
44b5a125
GM
5712 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5713 nothing to do. Bind inhibit-quit.
5714 (tip_frame): Make it a Lisp_Object.
5715 (x_create_tip_frame): Set tip_frame after it has been added to
5716 Vframe_list.
5717 (Fx_show_tip): Don't set tip_frame here.
5718
5719 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5720
5721 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5722 Lisp_Object.
5723
5724 * dispextern.h: Change external declaration of tip_frame.
5725
d990421f
GM
5726 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5727 return an empty string.
5728
4db87380
GM
5729 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5730 of the window's update_mode_line flag, since the former is set by
5731 force-mode-line-update, not the latter. This makes
5732 column-number-mode slightly faster.
52283633 5733
e5959a9a
GM
5734 * xdisp.c (try_window_id) <all changes above window start>:
5735 Set the cursor.
5736
169fe44e
GM
57372000-12-11 Paul Eggert <eggert@twinsun.com>
5738
5739 * config.in (HAVE_FTELLO): Remove.
5740 (HAVE_FSEEKO): Add.
5741 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5742 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5743 HAVE_FTELLO.
5744 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5745 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5746
59ec59ae
MB
57472000-12-11 Miles Bader <miles@gnu.org>
5748
5749 * window.c (displayed_window_lines): Don't round up when
5750 converting empty space at bottom to lines.
ff904dd6
MB
5751 Handle non-newline-terminated final lines properly.
5752 (Fwindow_text_height): New function (used to be in lisp).
5753 (syms_of_window): Initialize it.
59ec59ae 5754
42ebfa31
SM
57552000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5756
5757 * syntax.c (scan_lists): Check that the right quote char has the
5758 right Sstring syntax when jumping over strings.
5759 (init_syntax_once): Use Smax rather than 13.
5760
5cdb3cf3
MB
57612000-12-09 Miles Bader <miles@gnu.org>
5762
5763 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5764 with PARTIALLY, inverting the sense.
5765 (window_scroll_pixel_based): Scroll partially visible lines into
5766 place if we hit the beginning or end of the buffer.
a12167c5
MB
5767 (displayed_window_lines): Don't include partially visible lines.
5768 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5769
842b2a94
GM
57702000-12-08 Gerd Moellmann <gerd@gnu.org>
5771
5772 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5773
5774 * tparam.c (tparam1): Change the way buffers are reallocated to be
5775 portable and less obfuscated.
5776
5777 * termcap.c (tgetent): Change the way buffers are reallocated to
5778 be portable and less obfuscated.
5779
5780 * macros.c (store_kbd_macro_char): Change the way buffers are
5781 reallocated to be portable and less obfuscated.
5782
5783 * lread.c (read1): Change the way buffers are reallocated to be
5784 portable and less obfuscated.
5785
5786 * doc.c (Fsubstitute_command_keys): Change the way buffers
5787 are reallocated so that it is portable.
5788
137cad7c
EZ
57892000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5790
5791 * dosfns.c (Ffile_system_info): New function.
5792 (syms_of_dosfns): Defsubr it.
5793
5c7f629c
SM
57942000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5795
5796 * alloc.c (gc_sweep): Add comment.
5797
959e647d
GM
57982000-12-07 Gerd Moellmann <gerd@gnu.org>
5799
52283633
SM
5800 * sound.c (vox_configure): Change order of ioctls.
5801 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5802 Ignore errors when changing volume.
5803 (vox_close): Don't reset the device.
5804
926b7e5e
GM
5805 * process.c (read_process_output): Make sure the process marker's
5806 position is valid when the process buffer is changed in
5807 after-change functions. W3 does that.
52283633 5808
959e647d
GM
5809 * xfns.c (x_free_gcs): New function.
5810
5811 * xterm.h (x_free_gcs): Add prototype.
5812
5813 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5814 freeing GCs here.
5815
5816 * xterm.c (x_destroy_window): Call x_free_gcs so that
5817 resources of non-toolkit X windows will be freed.
5818
478ea067
AI
58192000-12-07 Andrew Innes <andrewi@gnu.org>
5820
5821 * w32fns.c (xlfd_charset_of_font): Fix last change.
5822
fbee3231
DL
58232000-12-06 Dave Love <fx@gnu.org>
5824
67292061
DL
5825 * md5.h (__P): Don't define -- it comes from config.h.
5826
fbee3231
DL
5827 * strftime.c: Change some #if foo to #ifdef foo.
5828
4ee87dbb
AI
58292000-12-06 Andrew Innes <andrewi@gnu.org>
5830
5831 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5832
52283633 5833 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5834 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5835 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5836
9765b4a4
GM
58372000-12-06 Gerd Moellmann <gerd@gnu.org>
5838
d285b373
GM
5839 * alloc.c (gc_sweep): Prevent symbols read during loadup
5840 from being freed.
5841
384333ee
GM
5842 * xdisp.c (underlying_face_id): New function.
5843 (handle_face_prop, face_before_or_after_it_pos): Use it
5844 to determine the face ``under'' a string. Let strings inherit
5845 the face of the buffer under them.
5846
5847 * xfaces.c (face_at_string_position): Update function comment.
52283633 5848
d4b72d58
GM
5849 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5850 matrix if the window's left position has changed; we need to
5851 redraw it in this case.
5852
5853 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5854
e1d05387
GM
5855 * window.c (coordinates_in_window): Check mouse on mode-line or
5856 header-line first.
5857
eb1b0c74
GM
5858 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5859 advertized by the function documentation.
5860
d94d636f
GM
5861 * window.c (syms_of_window): Doc fix.
5862
3887b449
GM
5863 * sound.c (vox_configure): Set volume for left and right channel.
5864 (sound_cleanup): Return nil.
5865
efc8f57a
GM
5866 * xdisp.c (move_it_by_lines): Fix paren typo.
5867
9765b4a4
GM
5868 * xterm.c (x_load_font): Don't use the font's max_bounds for
5869 computing the height of the font. If max_bounds' ascent or
5870 descent are greater than the font's ascent or descent, this means
5871 glyphs overlap, which should be handled now by redisplay.
5872
6529ed87
GM
5873 * window.c (Veven_window_heights): New variable.
5874 (syms_of_window): DEFVAR_LISP it.
5875 (Fdisplay_buffer): Check Veven_window_heights before evening the
5876 window heights.
52283633 5877
0eb2ecde
MB
58782000-12-06 Miles Bader <miles@gnu.org>
5879
5880 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5881 update `default-frame-alist' instead of setting no frame parameters.
5882
03d7a167
KH
58832000-12-06 Kenichi Handa <handa@etl.go.jp>
5884
5885 * composite.c (update_compositions): Fix typo (use the correct
5886 variable).
5887
5f8803c2
JR
58882000-12-05 Jason Rumney <jasonr@gnu.org>
5889
5890 * md5.h: Remove underscores from function declarations.
5891 (__attribute__, __alignof__) [!__GNUC__]: Define.
5892
5893 * md5.c: Delay include of md5.h until after namespace cleaning.
5894
c28a075b
JR
5895 * makefile.w32-in (fns.o): Depend on md5.h
5896 (md5.o): New target.
5897 (sunfns.o): Remove.
5898
5899 * makefile.nt: Likewise.
5900
ff3c7056
JR
59012000-12-05 Jason Rumney <jasonr@altavista.net>
5902
5903 * w32term.c (expose_area): Complete last change.
5904
0c21eeeb
KR
59052000-12-05 Ken Raeburn <raeburn@gnu.org>
5906
5907 * minibuf.c: Include intervals.h.
5908
f201d732
JR
59092000-12-05 Jason Rumney <jasonr@gnu.org>
5910
5911 * w32term.c (x_produce_glyphs): If a font for a component of
5912 a composition is not found, use 1 pixel dot ascent and 0 dot
5913 descent value to avoid displaying terribly tall empty boxes.
5914 (expose_area): Pass x-coordinate relative to the exposed
5915 area to x_draw_glyphs instead of a window-relative coordinate.
5916
21999ab9
GM
59172000-12-05 Gerd Moellmann <gerd@gnu.org>
5918
4d2036e4
GM
5919 * xdisp.c (next_element_from_ellipsis): Save face before selective
5920 display in saved_face_id, and set face_before_selective_p.
5921 (reseat_1): Reset face_before_selective_p.
5922 (append_space, extend_face_to_end_of_line): If iterator's
5923 face_before_selective_p is set, use the face from saved_face_id.
5924 (extend_face_to_end_of_line): For tty frames, make sure to
5925 use the right face id when producing spaces at the end of
5926 the line.
5927
5928 * dispextern.h (struct it): Add face_before_selective_p.
5929
52be17cc
GM
5930 * keyboard.c (record_char): Don't record identical help-echo
5931 events in recent_keys.
5932
8a4f36cc
GM
5933 * xterm.c [USE_X_TOOLKIT]: Close the display.
5934 (xim_close_dpy): Handle case that the display has been closed.
5935
57d6e381
GM
5936 * xterm.c (x_destroy_window): Reset the frame's X window after
5937 destroying it.
5938
21999ab9
GM
5939 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5940 variable window_width.
5941 (line_draw_cost): Fix code skipping over spaces at the end of the
5942 line when must_write_spaces is not set.
5943 (scrolling_window): Fix code inserting runs in list of all runs.
5944
91372bb7
KH
59452000-12-05 Kenichi Handa <handa@etl.go.jp>
5946
5947 * coding.c (setup_coding_system): Be sure to initialize
5948 coding->category_idx.
5949
6c083b4c
GM
59502000-12-04 Gerd Moellmann <gerd@gnu.org>
5951
0c68ce6f 5952 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5953
6452929e
GM
5954 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5955 area to x_draw_glyphs instead of a window-relative coordinate.
5956
d7f31e22
GM
5957 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5958 error in the message.
5959
ae18aa3b
GM
5960 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5961 timer after having read a key. It's not good for code reading
5962 several keys in a loop, like an input method.
5963
caa15ef7
GM
5964 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5965 record undo information for format-decode.
5966
5967 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5968 current buffer is read-only, not if it isn't.
5969
6c083b4c
GM
5970 * keyboard.c (record_char): Record `help-echo' input events
5971 in recent_keys only if they display some help. Don't record
5972 `help-echo' events as macro char.
5973
caa15ef7
GM
59742000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5975
5976 * editfns.c (save_excursion_restore): Don't move point
5977 in another window if it is showing the wrong buffer.
5978 Avoid the call to Fwindow_live_p, for speed.
5979
5a13529b
KH
59802000-12-04 Kenichi Handa <handa@etl.go.jp>
5981
e225faa7
KH
5982 * xfaces.c (struct font_name): New member registry_priority.
5983 (split_font_name): Initialize the above member to zero.
5984 (concat_font_list): New function.
5985 (font_list): Include fonts of all alternative registries.
5986 (FONT_POINT_SIZE_QUANTUM): New macro.
5987 (better_font_p): Ignore point size difference less than
5988 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5989
e89648b4
KH
5990 * xterm.c (x_produce_glyphs): If a font for a component of
5991 a composition is not found, use 1 pixel dot ascent and 0 dot
5992 descent value to avoid displaying terribly tall empty boxes.
5993
5a13529b
KH
5994 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5995
d7935eb6
KR
59962000-12-03 Ken Raeburn <raeburn@gnu.org>
5997
5998 * coding.h (code_convert_string1): Declare.
5999
6000 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6001
52283633 6002 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6003
0dd5e255
JR
60042000-12-02 Jason Rumney <jasonr@gnu.org>
6005
6006 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6007 correctly for single byte character case.
6008 (w32_per_char_metric): Do not try to make any assumptions about
6009 the metrics of BDF fonts.
250cfece 6010 (x_estimate_mode_line_height): If `mode-line' face
52283633 6011 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6012 (note_mouse_highlight): Change the cursor shape on the vertical
6013 border between windows [not enabled].
6014
6015 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6016
6017 * w32fns.c (Fx_create_frame): Reintroduce the call to
6018 face-set-after-frame-defaults.
6019 (Vx_window_horizontal_drag_shape): New variable.
6020 (syms_of_xfns): DEFVAR_LISP it.
6021 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6022 enabled].
0dd5e255 6023
b5d8d2ca
GM
60242000-12-02 Simon Josefsson <simon@josefsson.org>
6025
6026 * fns.c (Fmd5): Use a different logic to decide the coding system
6027 to use.
6028
6029 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6030
fbb87147
EZ
60312000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6032
52283633 6033 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6034
447e9da0
GM
60352000-12-01 Gerd Moellmann <gerd@gnu.org>
6036
7708ced0
GM
6037 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6038 height for YNegative.
6039 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6040 height; also see comment there.
6041
447e9da0
GM
6042 * window.c (coordinates_in_window): Handle computations for
6043 positions on the vertical bar and fringes differently for
6044 window-system frames. Consider some pixels near the vertical bar
6045 as on the bar if the frame doesn't have vertical scroll bars.
6046 Associate positions between mode or header lines with the
6047 right window, the left one.
6048
86d1db20
JR
60492000-12-01 Jason Rumney <jasonr@gnu.org>
6050
6051 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6052
6053 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6054 invalid frame.
6055
a1d58e5b
GM
60562000-12-01 Gerd Moellmann <gerd@gnu.org>
6057
52283633 6058 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6059 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6060 (save_window_save, Fset_window_configuration): Save/restore
6061 window's orig_top and orig_height.
6062
89c609af
JR
60632000-12-01 Jason Rumney <jasonr@gnu.org>
6064
4d177746 6065 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6066
89c609af
JR
6067 * w32fns.c (x_set_cursor_color): Fix last change.
6068
eccc05db
GM
60692000-11-30 Gerd Moellmann <gerd@gnu.org>
6070
31b6671b
GM
6071 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6072 sure that the next redisplay displays the minibuffer, so that
6073 the cursor will be replaced with what the minibuffer wants.
6074
eccc05db
GM
6075 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6076 #ifndef instead of using #if.
6077 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6078 USE_TOOLKIT_SCROLL_BARS is defined.
6079
162de750
JR
60802000-11-30 Jason Rumney <jasonr@gnu.org>
6081
6082 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6083 x_display_cursor.
6084
693c4692
GM
60852000-11-30 Gerd Moellmann <gerd@gnu.org>
6086
6087 * fns.c (Fmd5): Doc fix.
6088
b5d8d2ca 60892000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6090
6091 * fns.c (Fmd5): New function.
6092 (syms_of_fns): Defsubr md5.
6093
6094 * Makefile.in (obj): Add md5.o
6095
b02cd40b
GM
60962000-11-30 Gerd Moellmann <gerd@gnu.org>
6097
edfb795e
GM
6098 * md5.h, md5.c: New files, taken from glibc.
6099
df3aedcf
GM
6100 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6101
b02cd40b 6102 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6103 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6104
8b5176cd
SM
61052000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6106
6107 * eval.c (Frun_hooks): Allow 0 arguments.
6108
346598f1
GM
61092000-11-29 Gerd Moellmann <gerd@gnu.org>
6110
f9396e03
GM
6111 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6112 is over the menu bar widget, say it's not on the frame.
6113
4a967a9b
GM
6114 * xfns.c (Fx_create_frame): Reintroduce the call to
6115 face-set-after-frame-defaults.
6116
346598f1
GM
6117 * eval.c (Fsignal): Reset handling_signal.
6118
222456a1
JR
61192000-11-28 Jason Rumney <jasonr@gnu.org>
6120
6121 * w32menu.c (add_menu_item): Reset menu item text when changing
6122 type to radio button.
6123
8049ddc0
GM
61242000-11-28 Gerd Moellmann <gerd@gnu.org>
6125
346598f1 6126 * xselect.c: Update copyright.
f4f4ee4d 6127
bebe4a2c
GM
6128 * window.c (coordinates_in_window): If on a mode or header line,
6129 but sufficiently close to its start, return ``on vertical
6130 border''. This gives us a way to drag windows horizontally when
6131 using toolkit scroll bars.
6132
6133 * xterm.c (note_mouse_highlight): Change the cursor shape
6134 on the vertical border between windows.
6135
6136 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6137
6138 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6139 (syms_of_xfns): DEFVAR_LISP it.
6140 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6141
8d2c2642
GM
6142 * textprop.c (text_read_only): New function.
6143 (verify_interval_modification): Use it instead of signaling
6144 `text-read-only'. This makes it easier to catch this error
52283633 6145 with a breakpoint.:
8d2c2642 6146
52283633 6147 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6148 not end of line, which includes CR.
6149
5a2bae6c
KH
61502000-11-28 Kenichi Handa <handa@etl.go.jp>
6151
6152 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6153 include no-conversion.
6154
ae31f84d
JR
61552000-11-27 Jason Rumney <jasonr@gnu.org>
6156
6157 * w32fns.c (w32_load_system_font): Always mark font as double byte
6158 if codepage is unicode.
6159
67f1cf4c
GM
61602000-11-27 Gerd Moellmann <gerd@gnu.org>
6161
4a74d071 6162 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6163 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6164
902ae620
GM
6165 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6166 `vertical-line', `mode-line' and `header-line' events.
6167
6168 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6169 of a character, a TAB for instance. This is easier than to set
6170 up the iterator exactly, and it's not a frequent case, so the
6171 additional effort wouldn't really pay off.
6172
c1e279c2
AC
61732000-11-26 Andrew Choi <akochoi@i-cable.com>
6174
67f1cf4c 6175 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6176 init_window_once.
6177
a609568a
JR
61782000-11-25 Jason Rumney <jasonr@gnu.org>
6179
52283633
SM
6180 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6181 Args to window_from_coordinates should be pixel coordinates.
48b21762 6182
a609568a
JR
6183 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6184 redisplay handles them properly.
6185
a658d039
MB
61862000-11-25 Miles Bader <miles@gnu.org>
6187
6188 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6189
d3416cca
JR
61902000-11-24 Jason Rumney <jasonr@gnu.org>
6191
6192 * w32.c (init_environment): Set LANG environment variable based on
6193 locale settings, if not set.
6194
6195 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6196 making tool bar smaller. When clearing the frame, also
6197 clear current matrices. Clear frame when tool bar disappears.
6198 Don't use more lines for the tool-bar than is available.
6199 (x_change_window_heights): New function.
6200
ba193890
GM
62012000-11-24 Gerd Moellmann <gerd@gnu.org>
6202
2be8f184
GM
6203 * xdisp.c (init_from_display_pos): If POS says we're already after
6204 an overlay string ending at POS, make sure to pop the iterator
6205 because it will be in front of that overlay string. When POS is
6206 ZV, we've thereby also ``processed'' overlay strings at ZV.
6207
ba193890
GM
6208 * xfaces.c (lface_from_face_name): Function comment fix.
6209
1862a24e
MB
62102000-11-24 Miles Bader <miles@gnu.org>
6211
6212 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6213 apply `mode-line-inverse-video' -- zero means force display using
6214 the default face, non-zero means display using the specialized face.
6215 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6216
f07fa1b8
KH
62172000-11-23 Kenichi Handa <handa@etl.go.jp>
6218
6219 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6220 hard coded `4'.
6221
2bcdf662
EZ
62222000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6223
6224 * coding.c (decode_coding_emacs_mule): Fix the case of
6225 CODING_EOL_LF, which used uninitialized value of c.
6226
ba8299ff
SM
62272000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6228
6229 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6230
f4117c4d
GM
62312000-11-22 Gerd Moellmann <gerd@gnu.org>
6232
03e757c1
GM
6233 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6234 buffer object.
6235
f4117c4d
GM
6236 * frame.h (struct frame): Replace desired_tool_bar_items,
6237 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6238 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6239
6240 * frame.c (make_frame): Change initialization of tool bar
6241 items accordingly.
6242
6243 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6244 Change references to members deleted from struct frame to use the
f4117c4d
GM
6245 new ones.
6246
6247 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6248 references to members deleted from struct frame to use the new ones.
f4117c4d 6249
52283633 6250 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6251
6252 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6253
6254 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6255 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6256 from struct frame to use the new ones.
6257
f8e2f3f2
MB
62582000-11-23 Miles Bader <miles@gnu.org>
6259
6260 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6261 the face's inverse-video attribute, rather than overriding it.
6262
60e8e0a5
GM
62632000-11-22 Gerd Moellmann <gerd@gnu.org>
6264
6265 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6266 making tool bar smaller.
6267
92dd1b29
DL
62682000-11-22 Dave Love <fx@gnu.org>
6269
6270 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6271
e672fdce
MB
62722000-11-22 Miles Bader <miles@gnu.org>
6273
3a17d6cc
MB
6274 * keyboard.c (Vminibuffer_message_timeout): New variable.
6275 (command_loop_1): Use it to determine message timeout.
6276 (syms_of_keyboard): Initialize it.
6277
60e8e0a5 6278 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6279
e9655d81
KH
62802000-11-22 Kenichi Handa <handa@etl.go.jp>
6281
6282 * sysdep.c: Move the code for declaring h_errno after #include
6283 <netdb.h>.
6284
77270fac
GM
62852000-11-21 Gerd Moellmann <gerd@gnu.org>
6286
cd913aae
GM
6287 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6288 the menu bar when the tooltip is unmapped.
6289
77270fac
GM
6290 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6291 sole visible buffer when we're currently in the mini-buffer, and
6292 give up if so.
52283633 6293
556635d6
JR
62942000-11-21 Jason Rumney <jasonr@gnu.org>
6295
6296 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6297 put on the clipboard.
6298 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6299 copy of what Emacs last put there. If they are the same, do not
52283633 6300 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6301
5b7bde64
MB
63022000-11-22 Miles Bader <miles@gnu.org>
6303
6304 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6305 (syms_of_minibuf): Initialize it.
6306 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6307 to prompt, don't make read-only.
6308
ff23e1dd
GM
63092000-11-21 Gerd Moellmann <gerd@gnu.org>
6310
52283633
SM
6311 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6312 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6313
7aaf4388
GM
6314 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6315
f5f47add 6316 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6317
ff23e1dd
GM
6318 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6319
37c35586
KH
63202000-11-21 Kenichi Handa <handa@etl.go.jp>
6321
6322 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6323 ... #endif scope.
6324
ff9ab414
GM
63252000-11-20 Gerd Moellmann <gerd@gnu.org>
6326
52283633 6327 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6328 screen supports it.
6329
29a01b72
GM
6330 * s/gnu-linux.h: Don't use `#cpu'.
6331
09dfdf85
GM
6332 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6333 not defined in mman.h.
6334
52283633 6335 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6336 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6337 and store an index in the XClientMessageEvent. Storing a
6338 Lisp_Object or pointer can fail on a 64 bit system, since X only
6339 transfers 32 bits.
52283633
SM
6340 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6341
81459ac9
DL
63422000-11-20 Dave Love <fx@gnu.org>
6343
6344 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6345
56c13ae6
GM
63462000-11-20 Gerd Moellmann <gerd@gnu.org>
6347
6348 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6349
495a6df3
KH
63502000-11-20 Kenichi Handa <handa@etl.go.jp>
6351
2bcf3714
KH
6352 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6353 by WIDTH.
6354
495a6df3
KH
6355 * alloc.c (make_string): Fix previous change. Be sure to make
6356 unibyte string correctly.
6357
6d950f4c
GM
63582000-11-19 Gerd Moellmann <gerd@gnu.org>
6359
39b39373
GM
6360 * window.c (Fwindow_list): Change parameter list to be XEmacs
6361 compatible.
6362 (window_list_1): New function.
6363 (window_loop): Use it instead of Fwindow_list.
6364
b95b34e5
GM
6365 * sysdep.c (emacs_ospeed): New variable.
6366 (toplevel): Don't declare ospeed extern.
6367 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6368
6369 * termcap.c (ospeed): Remove.
6370 (tputs) [!emacs]: Remove unused code.
6371 (tgetent): Avoid a compiler warning.
6372
e83dc917
GM
6373 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6374 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6375 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6376
6377 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6378 removed.
6379 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6380 Take the X display as additional argument.
6381 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6382 `Widget' is a pointer type that's not easily stored in Lisp_Object
6383 form in a portable way.
52283633 6384
6d950f4c
GM
6385 * dispnew.c (update_text_area): Fix last change.
6386
e47306e6
GM
63872000-11-18 Gerd Moellmann <gerd@gnu.org>
6388
fb3cd89b
GM
6389 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6390
6391 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6392 clear current matrices.
6393
edaa9aed
GM
6394 * buffer.c (mmap_enlarge): Don't print a message on stderr
6395 if mapping new memory at the end of the existing region fails.
6396
e47306e6
GM
6397 * dispnew.c (update_text_area): Don't skip over equal glyphs
6398 when the last current glyph overlaps the glyph to its right.
6399
509633e3
MB
64002000-11-18 Miles Bader <miles@gnu.org>
6401
6402 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6403 lines that *end* with "..." too (that's the most common case!).
6404
d392e9c5
GM
64052000-11-18 Gerd Moellmann <gerd@gnu.org>
6406
67988445
GM
6407 * xdisp.c (resize_mini_window): Temporarily change to the
6408 mini-window's buffer if necessary.
1bfdbe43 6409
d392e9c5
GM
6410 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6411 the tooltip obscures less text under it.
6412
64132000-11-17 Gerd Moellmann <gerd@gnu.org>
6414
6415 * puresize.h (BASE_PURESIZE): Increase to 700000.
6416
92bb977f
JR
64172000-11-18 Jason Rumney <jasonr@gnu.org>
6418
6419 * w32term.c (w32_draw_bitmap): Use face to set colors.
6420
26fbf20b
DL
64212000-11-17 Dave Love <fx@gnu.org>
6422
6423 * lread.c (Fload): Fix #ifdef for pcc.
6424
100b593b
GM
64252000-11-17 Gerd Moellmann <gerd@gnu.org>
6426
6427 * xdisp.c (pos_visible_p): Compute the default character height
6428 differently.
6429
a288d0d1
GM
64302000-11-16 Gerd Moellmann <gerd@gnu.org>
6431
cac94de6 6432 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6433 knowing the line's height; use the default font's height in that case.
cac94de6 6434
a288d0d1
GM
6435 * xfaces.c (weight_table): Add `demi' with the same meaning as
6436 `demibold'.
6437
981fb6f6
KH
64382000-11-16 Kenichi Handa <handa@etl.go.jp>
6439
2cca872d 6440 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6441 (clear_glyph_row): Delete local static variable null_row.
6442
e5fa381b
JR
64432000-11-15 Jason Rumney <jasonr@gnu.org>
6444
6445 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6446 (w32_alloc_lighter_color): Use new brightness calculations from
6447 xterm.c. Scale delta to be in the range expected by W32.
6448 (w32_draw_relief_rect): Use frame relief colors.
6449
8e42f043
GM
64502000-11-15 Gerd Moellmann <gerd@gnu.org>
6451
6d133d1f
GM
6452 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6453 (Qinhibit_default_face_x_resources): New variable.
6454 (syms_of_frame): Initialize it.
6455 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6456
6457 * xdisp.c (pos_visible_p): Improve function comment.
6458
6459 * lisp.h (BINDING_STACK_SIZE): New macro.
6460
8e42f043
GM
6461 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6462 reading the directory if readdir returns null and errno is EAGAIN
6463 or EINTR.
6464
e8c87124
SM
64652000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6466
6467 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6468 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6469 Set amount_to_scroll to max of dx and scroll_step so that
6470 scroll-conservatively doesn't defeat scroll-step>1.
6471 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6472 scroll-conservatively for line-at-a-time scrolling.
6473
5f0c971d
GM
64742000-11-14 Gerd Moellmann <gerd@gnu.org>
6475
6476 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6477 extra argument.
6478
6479 * xdisp.c (current_mode_line_height, current_header_line_height):
6480 New variables.
6481 (init_xdisp): Initialize them.
6482 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6483 and use exact mode line heights if it is set.
6484
6485 * lisp.h (pos_visible_p): Change prototype.
6486
6487 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6488 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6489 and current_header_line_height first.
52283633
SM
6490 (current_mode_line_height, current_header_line_height):
6491 Declare extern.
5f0c971d 6492
d7361edf
MB
64932000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6494
6495 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6496 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6497 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6498
ee5e440a
MB
64992000-11-14 Miles Bader <miles@gnu.org>
6500
6501 * xterm.c (x_alloc_lighter_color): Include an additive component
6502 too for dark colors, because FACTOR isn't enough.
6503 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6504 New macros.
6505
5ca020fc
GM
65062000-11-13 Gerd Moellmann <gerd@gnu.org>
6507
6508 * keyboard.c (show_help_echo): Call message3_nolog with number of
6509 bytes in the help string as 2nd parameter, instead of the number
6510 of characters.
6511
9d348294
MB
65122000-11-13 Miles Bader <miles@gnu.org>
6513
6514 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6515 (Fload): Use new openp return protocol.
6516 Don't try to use Vload_source_file_function to load .elc files.
6517 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6518 openp return protocol.
6519 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6520
1729bb9a
KH
65212000-11-11 Kenichi Handa <handa@etl.go.jp>
6522
4e677396
KH
6523 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6524
6525 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6526 Defined these macros.
6527 (NLIST_STRUCT): Avoid re-defining it.
6528
1729bb9a
KH
6529 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6530 -I/usr/contrib/X11R6/include.
6531 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6532
a82fe213
JR
65332000-11-10 Jason Rumney <jasonr@gnu.org>
6534
6535 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6536
6537 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6538 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6539
6540 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6541 (Qw32_charset_vietnamese): New symbol.
6542 (xlfd_charset_of_font): New function.
6543 (w32_load_system_font): Use it.
6544 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6545 when Vw32_charset_info_alist is nil to ensure default face always
6546 has font. Use Fcar and Fcdr for safety.
6547 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6548 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6549 pseudo-codepages for special cases.
6550 (w32_to_x_font): New parameter to allow charset portion to be
6551 specified where there is many to one mapping. Callers changed.
6552 (w32_list_fonts): Avoid listing fonts that won't display.
6553
52d89894
GM
65542000-11-10 Gerd Moellmann <gerd@gnu.org>
6555
6556 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6557 (font_list_1): Renamed from font_list.
6558 (font_list): New function, trying alternative registries from
6559 Vface_alternative_font_registry_alist.
6560 (Finternal_set_alternative_font_registry_alist): New function.
6561 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6562 Vface_alternative_font_registry_alist.
6563 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6564
651cd3da
KR
65652000-11-09 Ken Raeburn <raeburn@gnu.org>
6566
6567 * lisp.h (Flooking_at): Declare.
6568
388ac098
GM
65692000-11-09 Gerd Moellmann <gerd@gnu.org>
6570
778fbc46 6571 * dired.c (directory_files_internal): Fix a braino.
52283633 6572
388ac098
GM
6573 * dired.c (directory_files_internal): Add missing GCPRO's.
6574 Some cleanup.
6575
ecaedde1
GM
65762000-11-08 Gerd Moellmann <gerd@gnu.org>
6577
f7eb32aa
GM
6578 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6579 (resize_mini_window): Return quickly if Vresize_mini_window is
6580 nil. Don't return if Vmax_mini_window_height is nil.
6581
6582 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6583 (syms_of_xdisp): Initialize them.
6584 (resize_mini_window): Act according to the setting of
6585 Vresize_mini_window.
6586 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6587
ecaedde1
GM
6588 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6589 scroll bar widget after configuring it, so that it will appear at
6590 the right position from the start.
6591 (XTredeem_scroll_bar): Cleaned up.
6592
3747ef2c
KH
65932000-11-08 Kenichi Handa <handa@etl.go.jp>
6594
6595 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6596 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6597 division by two.
6598
6599 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6600
03391420
DL
66012000-11-07 Dave Love <fx@gnu.org>
6602
7758f1c1 6603 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6604
6605 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6606
b5de343d
GM
66072000-11-07 Gerd Moellmann <gerd@gnu.org>
6608
acad3c0b
GM
6609 * window.c (Fset_window_configuration): Don't try to preserve
6610 point in the current buffer, if that buffer is displayed in more
6611 than one window.
6612
b5de343d
GM
6613 * xfaces.c (lookup_named_face): If default face isn't realized,
6614 try to realize it. Return -1 if not successful.
6615 (Fx_list_fonts): Handle case that face cannot be determined.
6616 (Fface_font): Likewise.
6617
cdb1fe49
GM
66182000-11-06 Gerd Moellmann <gerd@gnu.org>
6619
6620 * window.c (displayed_window_lines): Detect partially
6621 visible lines at the bottom correctly.
6622
d3a67486
SM
66232000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6624
6625 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6626 when ensuring we don't do visit in indirect buffer.
6627
ff8dd5d5
KH
66282000-11-06 Kenichi Handa <handa@etl.go.jp>
6629
6630 * composite.h (compose_chars_in_text): Add prototype.
6631
6632 * composite.c (Vcomposition_function_table): New variable.
6633 (Qcomposition_function_table): New variable.
6634 (run_composition_function): Call
6635 Vcompose_chars_after_function with three arguments.
6636 (compose_chars_in_text): New function.
6637 (syms_of_composite): Modified the doc-string of
6638 Vcompose_chars_after_function. Declare composition-function-table
6639 as a lisp variable, and initialize it.
6640
6641 * xfns.c (x_encode_text): Suppress producing escape sequences for
6642 composition.
6643
6644 * xselect.c: Include composite.h.
6645 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6646
d1145f85
AI
66472000-11-05 Andrew Innes <andrewi@gnu.org>
6648
6649 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6650
6651 * sysdep.c (read_input_waiting): Remove extraneous argument to
6652 read_socket_hook.
6653
6654 * w32fns.c (Fx_server_version): Include w32_build_number in the
6655 return list.
6656
6657 * w32heap.c (w32_build_number): New variable.
6658 (cache_system_info): Set it.
6659
6660 * w32heap.h (w32_build_number): Add extern.
6661
6662 * emacs.c (syms_of_emacs): Update docstring for
6663 system-configuration, to reflect the actual usage on MS-Windows.
6664
e85ee976
GM
66652000-10-31 Gerd Moellmann <gerd@gnu.org>
6666
26dcb81b
GM
6667 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6668 process idle timers while waiting for another event.
6669
52283633 6670 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6671 the default face are colored.
6672
e85ee976
GM
6673 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6674 window height hasn't changed.
6675
01b220b6
JR
66762000-10-31 Jason Rumney <jasonr@gnu.org>
6677
6678 * w32term.c (x_produce_glyphs): Handle composite characters.
6679 (x_draw_glyph_string_foreground)
6680 (x_draw_composite_glyph_string_foreground): Restore old font.
6681
4e6b7204
MB
66822000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6683
6684 * minibuf.c (read_minibuf): Reset the undo history just before
6685 starting the recursive-edit.
6686
d4358b37
GM
66872000-10-30 Gerd Moellmann <gerd@gnu.org>
6688
563f68f1
GM
6689 * xfaces.c (menu_face_change_count): New variable.
6690 (Finternal_set_lisp_face_attribute): Increment it for changes
6691 of the `menu' face.
6692 (realize_basic_faces): Reflect changes in the `menu' faces
6693 in menu bars.
6694
82e274d1
GM
6695 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6696 dy obtained from the iterator's y-position after moving from
6697 scroll_margin_pos to PT; see comment there.
52283633 6698
0dbf9fd2
GM
6699 * xdisp.c (safe_eval_handler): Call add_to_log.
6700
906b3b14
GM
6701 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6702 is not a symbol or string.
6703
d4358b37
GM
6704 * xdisp.c (echo_area_display): Don't perform a display update from
6705 inside redisplay. The update will happen anyway at the end of
6706 redisplay, and it can confuse redisplay (GC messages while
6707 redisplaying, for instance.)
6708
70c825df
SM
67092000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6710
cf9b4b0b
SM
6711 * xrdb.c (x_load_resources): Use the class name in the defaults.
6712
70c825df
SM
6713 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6714 (regex_compile): Catch bogus \(\1\).
6715
a1d34b1e
GM
67162000-10-30 Gerd Moellmann <gerd@gnu.org>
6717
cae71efe
GM
6718 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6719 RGB values.
52283633 6720
35efe0a1
GM
6721 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6722 we have a color cache, check that the cached color equals the
6723 allocated color. If not, clear the color cache.
6724
1d3baf74
GM
6725 * window.c (displayed_window_lines): Change buffers if necessary.
6726 Fix computation of displayed lines.
6727
a1d34b1e
GM
6728 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6729 update_menu_bindings to DEFVAR_BOOL.
6730
70737ea9
KH
67312000-10-30 Kenichi Handa <handa@etl.go.jp>
6732
70c825df 6733 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6734
fa0cb51d
KH
6735 * puresize.h (BASE_PURESIZE): Increase to 680000.
6736
70737ea9
KH
6737 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6738
0e4c08e8
JR
67392000-10-29 Jason Rumney <jasonr@gnu.org>
6740
6741 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6742
6743 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6744 (w32_cache_char_metrics): Handle possibility that 'x' does not
6745 exist in a BDF font.
6746 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6747
6748 * w32bdf.h (bdffont): Add nchars.
6749
6750 * w32bdf.c (set_bdf_font_info): Set it.
6751 (w32_BDF_TextOut): Swap byte order of double byte characters.
6752 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6753
45b84006
EZ
67542000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6755
6756 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6757 don't override the colors in frame's param_alist, unless they are
6758 unspecified.
6759
6760 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6761 reverse the effect of the highlight flag.
6762
caf9deee
KR
67632000-10-27 Ken Raeburn <raeburn@gnu.org>
6764
6765 * window.h (Fwindow_live_p): Declare.
6766
ae0b9b46
KR
6767 * undo.c (record_delete): Check that last_undo_buffer is really a
6768 buffer before applying XBUFFER to it.
6769
6770 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6771 Faref.
6772
02067692
SM
67732000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6774
6775 * lisp.h (KEYMAPP): New macro.
6776 (get_keymap): Remove.
6777 (get_keymap_1): Rename get_keymap.
6778
6779 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6780
6781 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6782
6783 * xmenu.c (single_submenu): Use KEYMAPP.
6784 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6785 Use KEYMAPP rather than Fkeymapp.
6786
6787 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6788
6789 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6790 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6791 Use KEYMAPP rather than Fkeymapp.
6792 (single_submenu): Use KEYMAPP.
6793 (w32_menu_show, w32_dialog_show): Use TRUE.
6794
6795 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6796
6797 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6798 (Fkeymapp): Use KEYMAPP.
6799 (get_keymap): Rename from get_keymap_1. Remove old def.
6800 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6801 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6802 (Fminor_mode_key_binding): Don't raise an error if the binding
6803 is not a keymap.
6804 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6805 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6806
6807 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6808 Allow Vspecial_event_map to be autoloaded.
6809 (menu_bar_items): Fetch the keymap rather than using keymapp.
6810 (menu_bar_one_keymap): No need to follow func-indirect any more.
6811 (parse_menu_item): get_keymap_1 -> get_keymap.
6812 (tool_bar_items): Fetch the keymap rather than using keymapp.
6813 (read_key_sequence): Use KEYMAPP.
6814
6815 * intervals.c (get_local_map): Use get_keymap rather than following
6816 function-indirections explicitly.
6817
6818 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6819
f9d80af3
JR
68202000-10-27 Jason Rumney <jasonr@gnu.org>
6821
6822 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6823 point, as Windows has oversized fonts.
6824
6825 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6826
a3ba27da
GM
68272000-10-27 Gerd Moellmann <gerd@gnu.org>
6828
6829 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6830 (freehook, reallochook): Handle null pointer arguments.
6831 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6832
aa3b80cc
SM
68332000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6834
6835 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6836 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6837 Giving in to popular pressure to shut up the compiler with casts.
6838
e24e84cc
GM
68392000-10-27 Gerd Moellmann <gerd@gnu.org>
6840
6841 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6842 signed value, and use a default value computed from the font's
6843 maximum descent.
6844
05ea7ef2
MB
68452000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6846
6847 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6848 that specify a negative underline position can still use underlines.
6849
6850 * window.c (Fpos_visible_in_window_p): Make POS default to
6851 WINDOW's point, not the current buffer's point.
6852
0b95284b
DL
68532000-10-26 Dave Love <fx@gnu.org>
6854
6855 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6856 when it's necessary.
6857
6c5b90af
GM
68582000-10-26 Gerd Moellmann <gerd@gnu.org>
6859
8b6d9dc9
GM
6860 * window.c (size_window): Compute size difference from sum of old
6861 child window sizes instead of from parent's size.
6862
6bc92b2e
GM
6863 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6864 Handle obscured lines at the top of the window.
6865
6866 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6867 down after the last error condition check.
6868
6c5b90af
GM
6869 * frame.c (Fdelete_frame): Run delete-frame-hook.
6870
42f92d4d
KH
68712000-10-26 Kenichi Handa <handa@etl.go.jp>
6872
6873 * coding.c (decode_coding): Fix previous change (check also
6874 CODING_MODE_LAST_BLOCK).
6875
d97151cb
SM
68762000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6877
e7efc503
SM
6878 * regex.c: More `unsigned char' -> `re_char' changes.
6879 Also change several `int' into `re_wchar_t'.
6880 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6881 (PUSH_FAILURE_POINTER): Don't cast any more.
6882 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6883 We want GCC to complain, since this piece of code makes
6884 re_match non-reentrant, which *should* be fixed.
6885 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6886 (EXTEND_BUFFER): Use RETALLOC.
6887 (SET_LIST_BIT): Don't cast.
6888 (re_wchar_t): New type.
6889 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6890 that those two functions will always properly return.
6891 (IMMEDIATE_QUIT_CHECK): Cast to void.
6892 (analyse_first): Use recursion rather than an explicit stack.
6893 (re_compile_fastmap): Can't fail anymore.
6894 (re_search_2): Don't check re_compile_fastmap for failure.
6895 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6896 Now also sets the new value (passed in a new argument).
6897 (re_match_2_internal): Use it.
6898 Also, use a new var `reg' of type size_t when looping through regs
6899 rather than reuse the inappropriate `mcnt'.
6900
d97151cb
SM
6901 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6902 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6903 (where_is_internal): Renamed from Fwhere_is_internal.
6904 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6905 (Fwhere_is_internal): New function wrapping where_is_internal.
6906 (where_is_internal_1): Handle the case where we're filling the cache.
6907 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6908
d5789b65
MB
69092000-10-25 Miles Bader <miles@gnu.org>
6910
6911 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6912
4ecda532
GM
69132000-10-25 Gerd Moellmann <gerd@gnu.org>
6914
6915 * window.c (pos_fully_visible_p): Removed.
6916 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6917 if position is visible and/or fully visible.
6918
6919 * lisp.h (pos_visible_p): Add prototype.
6920
6921 * xdisp.c (pos_visible_p): New function.
6922
68c3a137
KH
69232000-10-25 Kenichi Handa <handa@etl.go.jp>
6924
6925 * process.c (send_process): If OBJECT is t, it means that the data
6926 is from C string, but we should encode it. Before calling
6927 setup_raw_text_coding_system, be sure to flush out data by the
6928 previous coding system.
6929
7ae1c032
MB
69302000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6931
ff4dcd4b
MB
6932 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6933 assignment of startpos to prev when startpos == pos.
6934
7ae1c032
MB
6935 * editfns.c (find_field): Set the field stickiness correctly from
6936 overlay fields. Use renamed `text_property_stickiness'.
6937 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6938 Only check text properties, not overlays.
7ae1c032
MB
6939 * textprop.c (get_char_property_and_overlay): New function.
6940 (Fget_char_property): Use it.
6941 * intervals.h (get_char_property_and_overlay): Add declaration.
6942
49801145
SM
69432000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6944
6945 * keymap.c: Use AREF, ASET and ASIZE macros.
6946 (Fmake_sparse_keymap): Docstring fix.
6947 (synkey): Remove.
6948 (shadow_lookup): Move up.
6949 Handle the case where lookup-key returns an integer.
6950 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6951 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6952 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6953 Simplify/rewrite the keymap-finding code.
6954 Add check for command shadowing, using shadow_lookup.
6955
39e776cd
SM
69562000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6957
6958 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6959 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6960 a symbol.
6961
2488aba5
AI
69622000-10-24 Andrew Innes <andrewi@gnu.org>
6963
6964 * dired.c (directory_files_internal_unwind): New function.
6965 (directory_files_internal): Use it to ensure closedir is called
6966 even if expand-file-name or file-attributes throw, eg. because of
6967 a user interrupt. Also enable immediate_quit while calling
6968 re_search, so that matching can be interrupted as well.
6969
b94fdf61
AI
69702000-10-24 Andrew Innes <andrewi@gnu.org>
6971
6972 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6973 NT-Emacs only.
6974 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6975 so that re_search functions only quit when callers expect them to.
6976
69772000-10-24 Kenichi Handa <handa@etl.go.jp>
6978
6979 * regex.c (regex_compile): Change the way of handling a range from
6980 a char less than 256 to a char not less than 256.
6981
1946f901
GM
69822000-10-24 Gerd Moellmann <gerd@gnu.org>
6983
7ae2f10f
GM
6984 * window.c (size_window): Prevent setting window's width or
6985 height to a negative value (esp. with XSETFASTINT).
6986
5dcab13e
GM
6987 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6988 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6989 (protect_malloc_state) [GC_MALLOC_CHECK &&
6990 GC_PROTECT_MALLOC_STATE]: New function.
6991 (PROTECT_MALLOC_STATE): New macro.
6992 (__malloc_initialize, morecore, _malloc_internal)
6993 (_free_internal) _realloc_internal): Use it to make _heapinfo
6994 read-only outside of gmalloc.
6995
63e1b552
GM
6996 * keymap.c: Update copyright.
6997
1946f901
GM
6998 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6999 a symbol.
7000
4fa09beb
GM
70012000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7002
7003 * filelock.c (unlock_all_files): Use unlock_file to expand each
7004 buffer's file_truename before trying remove its lock file.
7005
23afac01
EZ
70062000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7007
7008 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7009 or CRLF, decode EOLs.
7010
04448b95
KH
70112000-10-24 Kenichi Handa <handa@etl.go.jp>
7012
7013 * window.c (Fdisplay_buffer): Fix doc.
7014
3090a5a5
JR
70152000-10-23 Jason Rumney <jasonr@gnu.org>
7016
7017 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7018 ASCII font of default fontset on Windows.
7019
7020 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7021 xterm.c comment below).
7022
7023 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7024
a83fee2c
GM
70252000-10-23 Gerd Moellmann <gerd@gnu.org>
7026
7027 * xterm.c (x_connection_closed): Reset handling_signal.
7028
52283633 7029 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7030
6ffdb539
MB
70312000-10-23 Miles Bader <miles@gnu.org>
7032
7033 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7034 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7035 maintain old behavior.
7036 * minibuf.c (Fminibuffer_complete): Likewise.
7037
7f1c969b
MB
70382000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7039
7040 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7041 that when a font can't be exactly centered, it errs up rather than
7042 down.
7043
23afac01 70442000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7045
52283633 7046 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7047
1a578e9b
AC
70482000-10-23 Andrew Choi <akochoi@i-cable.com>
7049
7050 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7051
7052 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7053 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7054
7055 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7056 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7057 syms_of_search, x_term_init, and init_keyboard before calling
7058 init_window_once. Also, call syms_of_xmenu.
7059
7060 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7061 default fontset to Monaco.
7062
7063 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7064 NewMacWindow and DisposeMacWindow.
7065 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7066 instead of calling NewMacWindow and setting fields of
7067 f->output_data.mac directly. Call init_frame_faces.
7068 (Fdelete_frame) [macintosh]: Remove unused code.
7069 (Fmodify_frame_parameters) [macintosh]: Call
7070 x_set_frame_parameters instead of mac_set_frame_parameters.
7071
7072 * frame.h [macintosh]: Define menu_bar_lines field in struct
7073 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7074
7075 * keyboard.c [macintosh]: Include macterm.h.
7076 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7077 and menu_bar_activate_event type events as for X and NT.
7078 (make_lispy_event) [macintosh]: Construct lisp events of type
7079 MENU_BAR_EVENT as for X and NT.
7080
7081 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7082 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7083 (sys_subshell) [macintosh]: Remove definition entirely.
7084 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7085 Vwindow_system_version here. Remove initialization of
7086 Vx_bitmap_file_path.
7087 (read_input_waiting): Correct the number of parameters passed to
7088 read_socket_hook.
7089 Move all Macintosh functions to mac/mac.c.
7090
7091 * term.c [macintosh]: Include macterm.h.
7092
7093 * window.c [macintosh]: Include macterm.h.
7094
7095 * xdisp.c [macintosh]: Include macterm.h. Declare
7096 set_frame_menubar and pending_menu_activation.
7097 (echo_area_display) [macintosh]: Do not return if terminal frame
7098 is the selected frame.
7099 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7100 Allow only the selected frame to set menu bar.
7101 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7102 calling FRAME_EXTERNAL_MENU_BAR (f).
7103 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7104
7105 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7106 and check_x. Declare XCreateGC. Define x_create_gc and
7107 x_free_gc. Initialize font_sort_order.
7108 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7109 but call x_list_fonts instead of w32_list_fonts.
7110 (Finternal_face_x_get_resource) [macintosh]: Do not call
7111 display_x_get_resource.
7112 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7113 (realize_x_face) [macintosh]: Load the font if it is specified in
7114 ATTRS.
52283633 7115 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7116
1ffbabe3
SM
71172000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7118
7119 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7120 is nil: since we go to the end of submap anyway, we'd end up
7121 setting nil to nil.
7122 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7123 doesn't obey autoload.
7124
bed43f1d
EZ
71252000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7126
1ffbabe3 7127 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7128
ea4233a7
JR
71292000-10-21 Jason Rumney <jasonr@gnu.org>
7130
7131 * w32term.c (w32_cache_char_metrics): Double check that font is
7132 really fixed pitch before trusting tmPitchAndFamily.
7133
f3d3c491
AI
71342000-10-21 Andrew Innes <andrewi@gnu.org>
7135
7136 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7137
7138 * w32term.h: Extern decl for w32_cache_char_metrics.
7139
7140 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7141
7142 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7143 (w32_unload_font): Free per_char array if present.
7144
7145 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7146 cached information in emulated XFontStruct to handle common cases
7147 quickly. Do not allocate XCharStruct for return.
7148 (w32_native_per_char_metric): New function.
7149 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7150 allocating one.
7151 (x_produce_glyphs): Don't get an HDC. Change calls to
7152 w32_per_char_metric to match arg change above. Remove calls to
7153 free results.
7154 (w32_get_glyph_overhangs): Ditto.
7155 (w32_cache_char_metrics): New function.
7156
7157 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7158 ($(BLD)/casefiddle.$(O)): Remove compile command.
7159 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7160 ($(BLD)/dispnew.obj):
7161 ($(BLD)/keyboard.obj):
7162 ($(BLD)/w32inevt.obj):
7163 ($(BLD)/w32bdf.obj):
7164 ($(BLD)/alloc.obj):
7165 ($(BLD)/buffer.obj):
7166 ($(BLD)/editfns.obj):
7167 ($(BLD)/emacs.obj):
7168 ($(BLD)/fileio.obj):
7169 ($(BLD)/fns.obj):
7170 ($(BLD)/indent.obj):
7171 ($(BLD)/insdel.obj):
7172 ($(BLD)/intervals.obj):
7173 ($(BLD)/minibuf.obj):
7174 ($(BLD)/print.obj):
7175 ($(BLD)/scroll.obj):
7176 ($(BLD)/sysdep.obj):
7177 ($(BLD)/textprop.obj):
7178 ($(BLD)/widget.obj):
f3d3c491
AI
7179 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7180 ($(BLD)/term.obj): Add dependency on dispextern.h.
7181
52283633
SM
7182 * makefile.nt ($(BLD)\dispnew.obj):
7183 ($(BLD)\keyboard.obj):
7184 ($(BLD)\w32inevt.obj):
7185 ($(BLD)\w32bdf.obj):
7186 ($(BLD)\alloc.obj):
7187 ($(BLD)\buffer.obj):
7188 ($(BLD)\editfns.obj):
7189 ($(BLD)\emacs.obj):
7190 ($(BLD)\fileio.obj):
7191 ($(BLD)\fns.obj):
7192 ($(BLD)\indent.obj):
7193 ($(BLD)\insdel.obj):
7194 ($(BLD)\intervals.obj):
7195 ($(BLD)\minibuf.obj):
7196 ($(BLD)\print.obj):
7197 ($(BLD)\scroll.obj):
7198 ($(BLD)\sysdep.obj):
7199 ($(BLD)\textprop.obj):
7200 ($(BLD)\widget.obj):
f3d3c491
AI
7201 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7202 ($(BLD)\term.obj): Add dependency on dispextern.h
7203
18ad4821
EZ
72042000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7205
7206 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7207 with an additional argument of Qt.
7208
de54681a
MB
72092000-10-21 Miles Bader <miles@gnu.org>
7210
7211 * window.c (pos_fully_visible_in_window_p): New function.
7212 (Fpos_visible_in_window_p): Add FULLY argument.
7213 Use pos_fully_visible_in_window_p.
7214 (window_scroll_pixel_based, window_scroll_line_based): Update
7215 calls to Fpos_visible_in_window_p.
7216 * lisp.h (Fpos_visible_in_window_p): Update prototype
7217
13c844fb
GM
72182000-10-20 Gerd Moellmann <gerd@gnu.org>
7219
7220 * alloc.c (toplevel): Conditionalize compilation of mem_*
7221 functions differently.
52283633 7222
d9506268
JR
72232000-10-20 Jason Rumney <jasonr@gnu.org>
7224
7225 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7226 mem_init where it used to be. mem_z etc not defined otherwise.
7227
8094989b
GM
72282000-10-20 Gerd Moellmann <gerd@gnu.org>
7229
7230 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7231 GC_MALLOC_CHECK.
7232 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7233 structure definition and related variabled to the top of the file.
7234 Include this code when GC_MALLOC_CHECK is defined.
7235 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7236 register/unregister allocated region.
7237 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7238 which isn't allocated.
7239 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7240 something which is already in use.
7241 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7242 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7243 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7244 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7245
7246 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7247 _malloc_internal instead of malloc.
7248 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7249 of free.
7250
ea456eb4
AI
72512000-10-20 Andrew Innes <andrewi@gnu.org>
7252
7253 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7254 Windows.
7255 (my_strftime) <macro>: Don't use macro arg list when redefining as
7256 _strftime_copytm.
7257 (my_strftime) <function>: Supply 0 as ut argument.
7258
e64c3a75
JR
72592000-10-19 Jason Rumney <jasonr@altavista.net>
7260
7261 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7262 including dispextern.h, as it stops faces from working.
7263
7264 * w32fns.c (Fx_create_frame): Don't bother calling
7265 face-set-after-frame-default since the caller does it for us
7266 anyway. Clean up calls to x_get_arg to be consistent with X.
7267
7268 * w32term.c (x_produce_glyphs): Handle
7269 unibyte_display_via_language_environment correctly.
7270 (w32_draw_box_rect): Fix the calculation of width and height.
7271
7272 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7273 as it has stopped working.
7274 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7275 menu-bar.
7276
17401c97
GM
72772000-10-19 Gerd Moellmann <gerd@gnu.org>
7278
7279 * eval.c (skip_debugger): Prevent a compiler warning.
7280 (Fcondition_case): Likewise.
7281 (Fbacktrace_frame): Use a null interactive spec.
7282
773272d8
KH
72832000-10-19 Kenichi Handa <handa@etl.go.jp>
7284
7285 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7286
a42943e9
GM
72872000-10-18 Gerd Moellmann <gerd@gnu.org>
7288
e50517d9
GM
7289 * strftime.c: Sync with glibc, file version 1.78.
7290 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7291 should no longer be used according to ISO 8601.
7292
9035a35a
GM
7293 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7294 no map for meta_prefix_char, don't try to use it as a keymap.
7295 Instead, if T_OK is non-zero, look up a default binding, if any,
7296 otherwise, if T_OK is zero, return nil.
7297
a42943e9
GM
7298 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7299 (x_to_xcolors, png_load): Use x_query_color.
7300
52283633
SM
7301 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7302 New functions.
a42943e9
GM
7303 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7304 which can be slow.
7305 (x_copy_color, x_alloc_lighter_color): Likewise.
7306
7307 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7308 (x_query_color, x_query_colors): Add prototype.
7309
7310 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7311 check_string_bytes only if not noninteractive, increase count to 50.
7312
00de2987
MB
73132000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7314
7315 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7316 markers correctly.
7317
54918e2b
GM
73182000-10-17 Gerd Moellmann <gerd@gnu.org>
7319
1f0b3fd2
GM
7320 * alloc.c (pure_bytes_used): Renamed from pureptr.
7321 (ALIGN): New macro.
7322 (pure_alloc): New function.
7323 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7324 Use it.
7325 (Fpurecopy): Use PURE_POINTER_P.
7326
68c5d1db
GM
7327 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7328 PT has moved backward.
52283633 7329
9a038881
GM
7330 * xdisp.c (cursor_row_p): Take continued lines into account.
7331
361b097f
GM
7332 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7333 string's size_byte.
7334 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7335 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7336 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7337 string allocated.
7338
54918e2b
GM
7339 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7340 of selective display off while searching for the next line start.
7341
03ed0806
KH
73422000-10-17 Kenichi Handa <handa@etl.go.jp>
7343
7344 * Makefile.in (term.o): Depend on dispextern.h.
7345
7e05cdaf
SM
73462000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7347
7348 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7349
a6801fd1
GM
73502000-10-16 Gerd Moellmann <gerd@gnu.org>
7351
483de32b
GM
7352 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7353 the iterator at the beginning, so that they can be set later on,
7354 for instance in reseat_at_next_visible_line_start, without being
7355 overwritten.
7356
a6801fd1
GM
7357 * xfns.c (pbm_format): Add :foreground and :background keywords.
7358 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7359 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7360
dbf1fcc1
EZ
73612000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7362
7363 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7364
52283633 7365 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7366
7367 * msdos.c (IT_set_face): Compare highlighted face with the default
7368 face, and invert colors if these faces' colors are identical.
7369 (Fmsdos_remember_default_colors): Don't swap foreground and
7370 background colors in initial_colors[].
7371 (IT_set_frame_parameters): Don't swap frame's foreground and
7372 background pixels. If ALIST includes "(reverse . t)", swap
7373 foreground-color and background-color properties in frame's
7374 param_alist. If the original frame's param_alist doesn't specify
7375 the colors, store unspecified-fg and unspecified-bg, reversed if
7376 required.
7377
7378 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7379 the colors are unspecified and reversed, reverse fore- and back-
7380 ground in the returned value.
7381 (Fframe_parameter): Ditto.
7382
b41fe2c3 73832000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7384
3a6b59d9
GM
7385 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7386 get_last_unchanged_at_beg_row.
7387 (find_first_unchanged_at_end_row): Renamed from
7388 get_first_unchanged_at_end_row.
7389 (find_first_unchanged_at_end_row): Convert assertions to
7390 unconditional tests which abort. When looking for a row in
7391 unchanged text, don't go further back than first_text_row.
7392
b41fe2c3
GM
7393 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7394 Don't add in the last line's height when deciding if the new
7395 position is below the scroll margin.
9d1af64f 7396
b41fe2c3 73972000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7398
7399 * editfns.c (Fconstrain_to_field): Check carefully for field
7400 boundaries if either OLD_POS or NEW_POS has a non-nil field
7401 property, even if they're the same.
7402
c412cb7b
KH
74032000-10-16 Kenichi Handa <handa@etl.go.jp>
7404
7405 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7406 height for XFillRectangle.
7407
5586f3eb
SM
74082000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7409
7410 * syntax.c (Fstring_to_syntax): New function extracted from
7411 Fmodify_syntax_entry.
7412 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7413 (skip_chars, Fforward_comment): Remove unused variables.
7414 (syms_of_syntax): Add defsubr for string-to-syntax.
7415 (describe_syntax): Add code for comment and string fences.
7416
db785038
SM
74172000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7418
7419 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7420 Do the meta->esc mapping. Call get_keyelt before returning.
7421 Start scanning from the second element (the first is always `keymap')
7422 to make it easier to detect when we reach a parent map.
7423 Handle the case of inheriting from a symbol whose function is a map.
7424 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7425 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7426 (get_keyelt, Flookup_key): Update call to access_keymap.
7427 Remove the meta->esc mappings.
7428 (define_as_prefix): Delete old disabled code.
7429 (menu_item_p): New function.
7430 (where_is_internal_1): Skip over the few remaining menu items.
7431 * lisp.h (access_keymap): Update prototype.
7432 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7433 Update call to access_keymap.
7434 (follow_key, read_key_sequence): Update calls to access_keymap.
7435 Remove the meta->esc mappings.
7436
cafafe0b
GM
74372000-10-13 Gerd Moellmann <gerd@gnu.org>
7438
a2e2a7f6
GM
7439 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7440 with additional argument.
7441
cafafe0b
GM
7442 * xdisp.c (cursor_row_p): New function.
7443 (try_cursor_movement, display_line): Use it.
52283633 7444
cafafe0b
GM
7445 * xdisp.c (append_space): Also save/restore iterator's current
7446 character and its length.
7447
7448 * xdisp.c (init_from_display_pos): Add an assertion.
7449 (handle_stop): Don't set iterator's add_overlay_start.
7450 (handle_invisible_prop): Likewise.
7451 (load_overlay_strings): If text under an overlay is invisible,
7452 take both before- and after-strings into account when the iterator
7453 is positioned either at the start or at the end of the overlay.
7454 (forward_to_next_line_start): Rewritten.
7455 (reseat_at_next_visible_line_start): Rewritten.
7456 (set_iterator_to_next): Add parameter RESEAT_P.
7457
7458 * dispextern.h (struct it): Remove member add_overlay_start.
7459 (set_iterator_to_next): Change prototype.
7460
c744452b
KH
74612000-10-13 Kenichi Handa <handa@etl.go.jp>
7462
7463 * coding.c (code_convert_region): Be sure to initialize
7464 coding->category_idx.
e4a3f4e1
KH
7465 (decode_coding_string): Set coding->src_multibyte and
7466 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7467 (encode_coding_string): Set coding->src_multibyte and
7468 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7469
321fd26f
SM
74702000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7471
7472 * xfns.c (Fx_create_frame): Don't bother calling
7473 face-set-after-frame-default since the caller does it for us anyway.
7474
76832439
EZ
74752000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7476
7477 * window.c (coordinates_in_window): Fix detection of vertical line
7478 on character terminals.
7479
2483cf58
GM
74802000-10-12 Gerd Moellmann <gerd@gnu.org>
7481
7482 * editfns.c (save_excursion_save): Additionally record the
7483 selected window.
7484 (save_excursion_restore): If buffer was visible in a window, and a
7485 different window was selected, and the old selected window is
7486 still live, restore point in that window.
7487
eb991b25
KH
74882000-10-12 Kenichi Handa <handa@etl.go.jp>
7489
8a0eba09
KH
7490 * xterm.c (x_produce_glyphs): Handle
7491 unibyte_display_via_language_environment correctly.
7492
20401fcc
KH
7493 * regex.c (regex_compile): Change the way of handling a range from
7494 unibyte char to multibyte char.
7495
7496 * syntax.c (skip_chars): Change the way of handling a range from
7497 unibyte char to multibyte char.
7498
eb991b25
KH
7499 * process.c (read_process_output): Cancel previous change.
7500
365dd325
EZ
75012000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7502
c1b096cb
EZ
7503 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7504
365dd325
EZ
7505 * charset.c (Ffind_charset_string): Doc fix.
7506 (Ffind_charset_region): Doc fix.
7507
eb483c2b
KH
75082000-10-11 Kenichi Handa <handa@mule.m17n.org>
7509
7510 * process.c (read_process_output): Fix previous change. Adjust
7511 multibyteness of text to insert in a buffer by
52283633 7512 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7513
b40bfb99
AS
75142000-10-10 Andreas Schwab <schwab@suse.de>
7515
7516 * alloc.c (mark_object): Remove all workarounds installed on
7517 1993-08-08.
7518
caff31d4
KH
75192000-10-10 Kenichi Handa <handa@etl.go.jp>
7520
52283633 7521 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7522 (base64_encode_1): Make it work for a text of multibyte form.
7523 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7524 case. Don't call str_to_multibyte because base64_decode_1
7525 produces correct multibyte form for eight-bit codes.
52283633 7526 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7527 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7528 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7529 codes.
7530
7531 * charset.h (CHAR_STRING): Optimized for single byte characters.
7532
cba026ef
AS
75332000-10-09 Andreas Schwab <schwab@suse.de>
7534
7535 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7536 -1 after socket is closed, to fall through to error processing.
7537
1e21fe48
EZ
75382000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7539
7540 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7541 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7542 background-color, change also the colors of the default face for
7543 this frame.
7544
a640322e
EZ
75452000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7546
7547 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7548 them extern (they are defined on xfaces.c).
7549 (syms_of_msdos): Don't intern and don't staticpro
7550 Qbackground_color and Qforeground_color.
7551
a115794c
EZ
75522000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7553
7554 * frame.c (Fframe_parameter): For non-windowed frames, if
7555 f->param_alist says foreground or background color is unspecified,
7556 call tty_color_name to return the color name computed from the
7557 frame's current colors.
7558
f5533b63
DL
75592000-10-06 Dave Love <fx@gnu.org>
7560
7561 * terminfo.c (ospeed): Don't declare.
7562
7563 * sysdep.c: Don't include string.h.
7564 (h_errno): Declare conditional also on TRY_AGAIN.
7565
7566 * charset.c (Ffind_charset_string): Doc fix.
7567
52283633 7568 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7569 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7570 error messages.
7571
2b06561a
DL
75722000-10-05 Dave Love <fx@gnu.org>
7573
7574 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7575 position like menu-bar.
7576
ca839c85
GM
75772000-10-05 Gerd Moellmann <gerd@gnu.org>
7578
7579 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7580
7581 * xdisp.c (handle_single_display_prop): Use safe_call1.
7582 (safe_call): Renamed from call_function.
7583 (safe_call1): New function.
7584 (handle_fontified_prop): Use safe_call1 instead of call1.
7585 (safe_eval): Renamed from eval_form.
7586 (safe_eval_handler): Renamed from eval_handler.
7587 (handle_single_display_prop, display_mode_element): Use safe_eval
7588 instead of eval_form.
7589
7590 * xfaces.c (merge_face_heights): Use safe_call instead of
7591 call_function.
7592
7593 * keyboard.c (show_help_echo): Use safe_call instead of
7594 call_function; use safe_eval instead of eval_form.
7595
7596 * lisp.h (safe_call): Renamed from call_function.
7597 (safe_eval): Renamed from eval_form.
7598 (safe_call1): Add prototype.
7599
a3489ece
MB
76002000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7601
7602 * xfns.c (image_ascent): Rearrange ascent calculation for the
7603 has-a-font case.
7604
35810b6f
SM
76052000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7606
7607 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7608 (where_is_internal_1): Don't bother ignoring menu-items any more.
7609
3dc78168
GM
76102000-10-04 Gerd Moellmann <gerd@gnu.org>
7611
7612 * keyboard.c (update_menu_bindings): New variable.
7613 (parse_menu_item): Use AREF. If update_menu_bindings
7614 is 0, don't update menu bindings.
7615 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7616
1efc2bb9
EZ
76172000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7618
7619 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7620 to `mark_object'.
7621
3f679f55
SM
76222000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7623
7624 * syntax.c (forw_comment): Match nestedness of ender/starter.
7625 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7626 (prev_char_comstart_first): Remove.
7627 (back_comment): Check two-char comment markers more carefully
7628 to better handle overlapping cases like *//* or /* */* */ ...
7629 Match nestedness of ender/starter.
7630
2021ab61
DL
76312000-10-02 Dave Love <fx@gnu.org>
7632
7633 * config.in (HAVE_GAI_STRERROR): Add undef.
7634
7635 * process.c (Fopen_network_stream): Use it.
7636
7637 * m/alpha.h (NO_REMAP): Don't define.
7638
64e6cc18
GM
76392000-10-02 Gerd Moellmann <gerd@gnu.org>
7640
7641 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7642 return with a string converted to an integer or vice versa when
7643 Vmocklisp_arguments is t.
7644 (Fsignal): Likewise. The function can return for `quit'.
7645 (struct gcpro): Declare member `var' to point to a volatile
7646 Lisp_Object.
7647
7648 * eval.c (error): Prevent compiler warning.
7649
b1904cd9
SM
76502000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7651
7652 * keymap.c (keymap_memberp): New function.
7653 (Fset_keymap_parent): Use it.
7654 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7655 Use keymap_memberp to avoid creating cycles.
7656 (access_keymap): Use KEYMAPP.
7657
71c9ec51
GM
76582000-09-30 Gerd Moellmann <gerd@gnu.org>
7659
7660 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7661 gai_strerror. Make sure xerrno is set if connect fails. Improve
7662 error recovery.
71c9ec51 7663
c70c6b58
JR
76642000-09-29 Jason Rumney <jasonr@gnu.org>
7665
7666 * w32term.c (w32_char_font_type, w32_encode_char)
7667 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7668 (w32_bdf_per_char_metric): New function.
7669 (w32_per_char_metric): Use it.
7670 (x_draw_glyph_string_background): Always draw background for BDF
7671 glyphs.
7672
7673 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7674 GDI object which is a scarce resource.
7675
7676 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7677 (get_quoted_string): Fix limit on memchr search.
7678 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7679 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7680 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7681 (get_cached_font_char, cache_char_offset): Use macro
7682 BDF_CODEPOINT_RANGE_COVER_P.
7683 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7684 (clear_cached_bitmap_slots): New function.
7685 (GET_HEX_VALUE): G-Z, g-z are not hex.
7686 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7687 (get_bitmap_with_cache): Use new cache implementation.
7688 (create_offscreen_bitmap): New function.
7689 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7690
7691 * w32term.c (x_produce_glyphs): If the distance from the current
7692 position to the next tab stop is less than a canonical character
7693 width, use the tab stop after that.
7694 (x_draw_glyphs): Handle case START and END are out of bounds more
7695 carefully.
7696 (x_clear_mouse_face): Block/unblock input.
7697 (x_display_and_set_cursor): Don't show a hollow box cursor for
7698 buffers whose cursor_type is nil.
7699
fe01239f
GM
77002000-09-29 Gerd Moellmann <gerd@gnu.org>
7701
52283633 7702 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7703
7704 * dispextern.h (updating_frame): Declare extern.
7705
e7c52f1f
AS
77062000-09-29 Andreas Schwab <schwab@suse.de>
7707
7708 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7709
de6e1f7c
GM
77102000-09-29 Gerd Moellmann <gerd@gnu.org>
7711
25126faa
GM
7712 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7713 use its function definition.
7714 (tool_bar_items): Likewise.
7715
de6e1f7c 7716 * lisp.h (fatal): Declare NO_RETURN.
52283633 7717
454ee39b
KH
77182000-09-29 Kenichi Handa <handa@etl.go.jp>
7719
7720 * keymap.c: Remove the line "#undef NULL".
7721
96301c5f
GM
77222000-09-28 Gerd Moellmann <gerd@gnu.org>
7723
52283633 7724 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7725
efffeeb4
DL
77262000-09-28 Dave Love <fx@gnu.org>
7727
ecb8b666
DL
7728 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7729
dc3cd20f
DL
7730 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7731
7732 * .gdbinit (xreload): Note its need on GNU/Linux.
7733
efffeeb4
DL
7734 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7735 r_alloc, r_alloc_free.
7736
8610d903
KH
77372000-09-28 Kenichi Handa <handa@etl.go.jp>
7738
7739 * syntax.c (skip_chars): Handle negation correctly.
7740
8901d1ac
GM
77412000-09-27 Gerd Moellmann <gerd@gnu.org>
7742
6f22f1ad
GM
7743 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7744 with non-zero FORCE_P argument.
7745
52283633 7746 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7747 Add assertions.
7748
7749 * xdisp.c (window_box_height): Add an assertion.
7750
7751 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7752 tool-bar than is available.
7753 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7754
36f1966f
DL
77552000-09-27 Dave Love <fx@gnu.org>
7756
efffeeb4 7757 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7758
31d929e5
GM
77592000-09-26 Gerd Moellmann <gerd@gnu.org>
7760
c98863bf
GM
7761 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7762 instead of BITS_PER_INT.
7763 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7764 EMACS_UINT, respectively.
7765 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7766
7767 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7768
7769 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7770
77072ab1
GM
7771 * window.c (freeze_window_starts): Construct last argument for
7772 foreach_window differently.
7773
7774 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7775
7776 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7777 EMACS_UINT instead of `int' and `unsigned int'.
7778 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7779
7780 * frame.h (struct frame): Make the `nothing' member of union
7781 output_data an EMACS_INT.
7782
52283633 7783 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7784 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7785 size in the sdata structure.
7786 (SDATA_NBYTES, SDATA_DATA): New macros.
7787 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7788 differently for the different layout of the sdata structure.
7789 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7790 in sdata.
7791 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7792 Check that size recorded in the string size and size recorded in
7793 the sdata structure agree.
7794
3e60b029
DL
77952000-09-25 Dave Love <fx@gnu.org>
7796
7797 * buffer.c: Include stdio.h.
7798
7799 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7800
3e60b029
DL
7801 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7802
7803 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7804 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7805 (__malloc_extra_blocks): Declare as __malloc_size_t.
7806
8ff16b4e
GM
78072000-09-25 Gerd Moellmann <gerd@gnu.org>
7808
755a2ccd
GM
7809 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7810
d8b4516f
GM
7811 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7812 (read_char): If help-echo is showing, preserve the echo area
7813 when redisplaying.
7814
7815 * xdisp.c (help_echo_showing_p): New variable.
7816 (set_message): Reset it to 0.
7817 (init_xdisp): Initialize help_echo_showing_p.
7818
7819 * dispextern.h (help_echo_showing_p): Declare extern.
7820
7821 * config.in: Fix typo in __GNUC_MINOR__.
7822
7823 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7824
b11af2dd
GM
7825 * s/freebsd.h (POSIX_SIGNALS): Define.
7826
8ff16b4e
GM
7827 * xterm.c (x_clear_mouse_face): Block/unblock input.
7828
844eb643
DL
78292000-09-24 Dave Love <fx@gnu.org>
7830
7831 * fns.c (base64_encode_1): Fix last change.
7832
b30ab1b3
GM
78332000-09-22 Gerd Moellmann <gerd@gnu.org>
7834
7835 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7836
7837 * xdisp.c (try_window_reusing_current_matrix): More fixes
7838 for the case window has a header-line.
7839
c6cbe5f0
DL
78402000-09-22 Dave Love <fx@gnu.org>
7841
4c7c1f3f
DL
7842 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7843 a doc string.
7844
7845 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7846
c6cbe5f0
DL
7847 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7848
550a625e
GM
78492000-09-21 Gerd Moellmann <gerd@gnu.org>
7850
4c7c1f3f 7851 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7852 for GCC >= 2.5.
7853
52283633
SM
7854 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7855 Declare NO_RETURN.
fca99116 7856
80d26f99
GM
7857 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7858 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7859 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7860 warnings.
52283633 7861
80d26f99
GM
7862 * marker.c (byte_char_debug_check): Return void.
7863
623a0aae
GM
7864 * xfns.c (Fx_create_frame): Set default frame parameter value
7865 for tool-bar-lines to 1.
7866
7867 * dispnew.c (scrolling_window): Compare y-positions of rows
7868 equal at the start. Some simplification.
7869
7870 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7871 reused rows' y-position in the case window has a header-line, and
7872 new window start is greater than old window start.
7873
42ac0ae5
GM
7874 * process.c (process_sent_to): New variable.
7875 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7876 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7877 Declare more parameters volatile.
7878
550a625e
GM
7879 * lread.c (Vrecursive_load_depth_limit): New variable.
7880 (Fload): Check recursive loads whose recursion depth exceeds
7881 Vrecursive_load_depth_limit.
7882 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7883
8320414c
GM
78842000-09-20 Gerd Moellmann <gerd@gnu.org>
7885
f46c275e
GM
7886 * fileio.c (Fread_file_name): Doc fix.
7887
7888 * editfns.c (Fmessage_or_box): Doc fix.
7889
7890 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7891
b7e11c5b 7892 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7893
8320414c
GM
7894 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7895 symbols are specified, add color translations to the cache.
52283633 7896 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7897 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7898 xpm_cache_color.
7899 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7900 structures to xpm_init_color_cache.
7901
da1608d9
GM
79022000-09-19 Gerd Moellmann <gerd@gnu.org>
7903
52283633 7904 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7905
6badfa25
AI
79062000-09-19 Andrew Innes <andrewi@gnu.org>
7907
7908 * makefile.nt (bootstrap-emacs): Don't change directory.
7909
3a5f42bb
KH
79102000-09-19 Kenichi Handa <handa@etl.go.jp>
7911
1b7649bd
KH
7912 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7913
3a5f42bb
KH
7914 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7915 If output buffer is too small, signal an appropriated error.
7916
9f83cf0b
DL
79172000-09-18 Dave Love <fx@gnu.org>
7918
52283633 7919 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7920 (current_active_maps): Remove redundant get_local_map call.
7921
28c7826c
GM
79222000-09-18 Gerd Moellmann <gerd@gnu.org>
7923
5cefa566
GM
7924 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7925 cursor for buffers whose cursor_type is nil.
52283633 7926
6fed3546
GM
7927 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7928 a feature to implement that is already implemented.
7929 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7930 warnings.
7931
7932 * xfns.c (x_clear_image_1): New function.
7933 (x_clear_image): Use it.
52283633 7934 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7935
05b1f851
GM
7936 * dispnew.c (update_window): Move test for invisible lines
7937 at the top to update_window_line.
7938 (update_window_line): Handle invisible lines here.
7939
f4779de9
GM
7940 * xfns.c (clear_image_cache): Clear current matrices of all
7941 frames sharing an image cache. Block input while freeing
7942 images. Fix timestamp comparison.
7943 (x_clear_image): Also free the mask.
7944
28c7826c
GM
7945 * xfns.c (lookup_image): Block input while loading the image so
7946 that we won't get interrupted in a state where the image isn't yet
7947 set up completely.
7948 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7949 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7950 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7951 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7952
b7412313
GM
79532000-09-16 Gerd Moellmann <gerd@gnu.org>
7954
7955 * dispnew.c (update_window): Make sure to make desired rows
7956 current even if they are completely invisible at the top
7957 of a window.
7958
47e351a3
GM
79592000-09-15 Gerd Moellmann <gerd@gnu.org>
7960
7f8f1edc
GM
7961 * xfns.c (lookup_image): Build mask before applying an algorithm.
7962 Recognize algorithm `disabled'.
7963 (cross_disabled_images): New variable.
7964 (COLOR_INTENSITY): New macro.
7965 (x_detect_edges): Use COLOR_INTENSITY.
7966 (x_disable_image): New function.
7967 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7968
7969 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7970 disabled state, don't apply an image transformation algorithm if
7971 the user specified an image for the disabled state. Use
28c7826c 7972 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7973 user hasn't specified an image.
7974
ebb8f116
GM
7975 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7976 allocation functions with the XPM lib.
7977 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7978 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7979 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7980 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7981 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7982 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7983 functions, if possible, because these handle color allocation
7984 failure more gracefully.
7985 (Fimage_mask_p): New function.
7986
47e351a3
GM
7987 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7988 (Qedge_detection, Qheuristic): New symbols.
7989 (syms_of_xfns): Initialize new symbols.
7990 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7991 `algorithm (edge-detection ...)'.
7992 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7993 (tiff_format, gif_format, gs_format): Add `:mask'.
7994 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7995 (GIF_MASK, GS_MASK): New enumerators.
7996 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7997 (emboss_matrix, laplace_matrix): New variables.
7998 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7999 (x_edge_detection): New functions.
8000 (x_laplace): Rewritten in terms of x_detect_edges.
8001 (x_build_heuristic_mask): If image has a mask, free it.
8002
fe83b953
AI
80032000-09-14 Andrew Innes <andrewi@gnu.org>
8004
8005 * makefile.w32-in: Revert to Unix line endings.
8006
3021e816
AI
80072000-09-14 Andrew Innes <andrewi@gnu.org>
8008
8009 * makefile.w32-in: Standardize indentation somewhat.
8010 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8011 cater for differences between shells.
8012
8013 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8014
2a32b5ea
GM
80152000-09-14 Gerd Moellmann <gerd@gnu.org>
8016
8017 * xterm.c (x_produce_glyphs): If the distance from the current
8018 position to the next tab stop is less than a canonical character
8019 width, use the tab stop after that.
8020
b4331e96
DL
80212000-09-14 Dave Love <fx@gnu.org>
8022
8023 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8024
ef9e4345
GM
80252000-09-14 Gerd Moellmann <gerd@gnu.org>
8026
085536c2
GM
8027 * xdisp.c (handle_fontified_prop): While running fontification
8028 functions, bind `fontification-functions' and
8029 `after-change-functions' to nil.
8030
ef9e4345
GM
8031 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8032 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8033
8034 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8035
8036 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8037 USE_MMAP_FOR_BUFFERS.
8038
8039 * insdel.c (make_gap): Use enlarge_buffer_text.
8040
8041 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8042 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8043 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8044 from former r_alloc_* functions in ralloc.c.
52283633 8045 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8046 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8047 (mmap_init) [REL_ALLOC_MMAP]: New function.
8048 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8049 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8050 BUFFER_FREE.
8051
8052 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8053 (enlarge_buffer_text): Add prototype.
8054
8055 * ralloc.c: Remove everything having to do with the use of mmap.
8056
f8608968
GM
80572000-09-13 Gerd Moellmann <gerd@gnu.org>
8058
2a494b2d
GM
8059 * sound.c (Fplay_sound): Doc fix.
8060
8c907a56
GM
8061 * keyboard.c: Avoid some more compiler warnings.
8062 (parse_tool_bar_item): Ignore cached key bindings.
8063
f8608968
GM
8064 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8065 and allocation of Lisp data.
8066
6ab70e9a
GM
80672000-09-12 Gerd Moellmann <gerd@gnu.org>
8068
d12d0a9b
GM
8069 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8070 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8071 defaults first.
8072
6ab70e9a
GM
8073 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8074
63c36c3c
KH
80752000-09-12 Miyashita Hisashi <himi@meadowy.org>
8076
8077 * ccl.c: Comment fixed.
8078 (MAX_MAP_SET_LEVEL): Increased to 30.
8079 (PUSH_MAPPING_STACK): Enclose with do-while block.
8080 (POP_MAPPING_STACK): Likewise.
8081 (stack_idx_of_map_multiple): New variable.
8082 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8083 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8084 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8085 (ccl_driver) <CCL_MapSingle>: Likewise.
8086 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8087 with the case where looking up process reaches to the end of
8088 map-set, and call CCL programs as the above change.
8089
7ee3bd7b
GM
80902000-09-11 Gerd Moellmann <gerd@gnu.org>
8091
8ec8a5ec
GM
8092 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8093 that might be clobbered by longjmp.
8094 (check_x_display_info, x_decode_color, create_frame_xic)
8095 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8096 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8097
f74b0705
GM
8098 * lread.c (init_lread): Set Vloads_in_progress to nil.
8099 (Fload): Show list of recursively loaded files, when signaling an
8100 error.
8101
7ee3bd7b
GM
8102 * lread.c (Vloads_in_progress): New variable.
8103 (record_load_unwind): New function.
8104 (Fload): Check for recursive loads.
8105 (syms_of_lread): Initialize Vloads_in_progress.
8106 (read_integer, read1): Avoid some compiler warnings.
8107
8108 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8109 compiler warnings.
8110
974e1e5b
MB
81112000-09-11 Miles Bader <miles@gnu.org>
8112
8113 * editfns.c (Fbuffer_string): Doc fix.
8114
9824c4e3
GM
81152000-09-10 Gerd Moellmann <gerd@gnu.org>
8116
8117 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8118
6a72fdd1
KR
81192000-09-09 Ken Raeburn <raeburn@gnu.org>
8120
8121 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8122 whether to include other header files.
8123
28e6fb66
GM
81242000-09-09 Gerd Moellmann <gerd@gnu.org>
8125
52283633 8126 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8127 by Fmemq as a boolean.
28e6fb66 8128
7f8b6551
SM
81292000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8130
8131 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8132
a8710abf
GM
81332000-09-08 Gerd Moellmann <gerd@gnu.org>
8134
d1a02881
GM
8135 * ralloc.c (mmap_fd): Remove initializer which can make it
8136 read-only in a dumped Emacs.
8137 (mmap_fd_1): New variable.
8138 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8139 restore it from there.
8140 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8141 unconditionally so that mmap_fd can be initialized there.
8142 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8143 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8144 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8145
c454aac1
GM
8146 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8147
8148 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8149 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8150
fc653ef2
GM
8151 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8152
3015eec0
GM
8153 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8154 inheritance.
8155
bfe0ee88
GM
8156 * xdisp.c (try_window_id): When trying to locate cursor in
8157 unchanged rows at the top, handle the case that we can't find it.
8158
a8710abf
GM
8159 * xterm.c (x_draw_glyphs): Handle case START and END are out
8160 of bounds more carefully.
8161
6b7d4ae4
DL
81622000-09-08 Dave Love <fx@gnu.org>
8163
423193c5
DL
8164 * s/sol2.h (REL_ALLOC_MMAP): Define.
8165 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8166
8167 * ralloc.c: Don't include string.h (redundant).
8168 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8169 [!MAP_ANON]: Include fcntl.h.
8170 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8171 (r_alloc, r_re_alloc, r_alloc_free)
8172 (mmap_enlarge, mmap_set_vars): Use it.
8173 (r_alloc_init_fd): New function.
8174 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8175 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8176 malloc type.
8177
8178 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8179 Remove vm-limit.o.
8180
6b7d4ae4
DL
8181 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8182 change to __NetBSD__.
8183
44d31981
KH
81842000-09-08 Kenichi Handa <handa@etl.go.jp>
8185
8186 * search.c (compile_pattern): Check the multibyteness of cached
8187 string and PATTERN.
8188
aad40737
MB
81892000-09-08 Miles Bader <miles@gnu.org>
8190
8191 * xfaces.c (default_face_vector): Function removed.
8192 (Finternal_merge_in_global_face): Restore old global/local
8193 attribute override order. Use inline loop instead of calling
8194 default_face_vector.
8195
91a211b5
GM
81962000-09-07 Gerd Moellmann <gerd@gnu.org>
8197
8198 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8199 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8200 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8201 where necessary, in case POINTER_TYPE is `void'.
8202
03419440
EZ
82032000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8204
8205 * frame.c (make_terminal_frame): Initialize frame foreground and
8206 background colors to unspecified, for the initial instance of an
8207 MSDOS frame.
8208
f46f845b
GM
82092000-09-07 Gerd Moellmann <gerd@gnu.org>
8210
24f76fbf
GM
8211 * ralloc.c (mmap_find): Fix overlap computation.
8212 (mmap_enlarge): Compute nbytes before trying to find an
8213 overlapping region.
8214
f46f845b
GM
8215 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8216 instead of `!='.
8217
8218 * lread.c (syms_of_lread): Change value of regexp
8219 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8220
8221 * xmenu.c (xdialog_show): When looking up the selection in
8222 menu_items, take `quote' boundaries into account; this corresponds
8223 to a nil ITEM in x-popup-dialog.
8224
3c014385
KH
82252000-09-07 Kenichi Handa <handa@etl.go.jp>
8226
fd6f711b
KH
8227 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8228 not 0x81.
8229 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8230
3c014385 8231 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8232 encoding, not decoding. Fix the handling of latin-jisx0201.
8233 Check for the charset katakana-jisx0201 too.
3c014385 8234 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8235 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8236
0da3ecef
GM
82372000-09-07 Gerd Moellmann <gerd@gnu.org>
8238
ab0ee409
GM
8239 * xfaces.c (Vparam_value_alist): New variable.
8240 (syms_of_xfaces): Initialize it.
8241 (Finternal_set_lisp_face_attribute): Avoid more consing.
8242
8243 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8244 specially.
8245 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8246 (Qbackground_mode): New variable.
8247 (syms_of_frame_1): Initialize Qbackground_mode.
8248
8249 * lisp.h (Qdisplay): Declare extern.
1091dd67 8250
0da3ecef
GM
8251 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8252 change face on all frames, and change the default for new frames.
8253
b14654b9
DL
82542000-09-07 Dave Love <fx@gnu.org>
8255
8256 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8257
d24fd56f
KH
82582000-09-07 Kenichi Handa <handa@etl.go.jp>
8259
794f3670
KH
8260 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8261
0fddd0dc
KH
8262 * charset.c: Include composite.h
8263 (lisp_string_width): New function.
8264 (Fstring_width): Call lisp_string_width instead of strwidth.
8265
8266 * Makefile.in (charset.o): Depends on composite.h.
8267
d24fd56f
KH
8268 * process.c (read_process_output): Before inserting the decoded
8269 text in the buffer, adjust the multibyteness.
8270
fa0b693c
GM
82712000-09-06 Gerd Moellmann <gerd@gnu.org>
8272
52283633 8273 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8274 buffer's text buffer is null, map new memory.
8275
0a58f946
GM
8276 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8277 POINTER_TYPE and size_t.
8278 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8279 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8280 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8281 [REL_ALLOC_MMAP]: New macros.
8282 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8283 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8284 [REL_ALLOC_MMAP]: New functions.
8285
8286 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8287 before and after unexec.
8288
8289 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8290 text buffers if necessary.
8291
8292 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8293 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8294 in prototypes.
8295
fa0b693c
GM
8296 * config.in (HAVE_MMAP): Add #undef.
8297
877055f6
GM
82982000-09-05 Gerd Moellmann <gerd@gnu.org>
8299
08ba3862
GM
8300 * frame.c (Qdisplay_type): New variable.
8301 (syms_of_frame_1): Initialize it.
8302 (Fframe_parameter): New function that avoids consing.
8303 (syms_of_frame): Defsubr it.
8304
66ffe51c
GM
8305 * buffer.c (Fother_buffer): Consider buffers as invisible when
8306 they are displayed in a window on an invisible frame.
8307
877055f6
GM
8308 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8309 get-largest-window always return nil.
8310
bb970e67
GM
83112000-09-04 Gerd Moellmann <gerd@gnu.org>
8312
8313 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8314 variable; recognize Emacs 19 elc files.
8315
7a3d0e0e
MB
83162000-09-04 Miles Bader <miles@gnu.org>
8317
8318 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8319 before initially popping up the menu, so the menu doesn't flash
52283633 8320 when the face settings are significantly different from the defaults.
7a3d0e0e 8321
14473664
SM
83222000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8323
8324 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8325 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8326 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8327 (BIT_UNIBYTE): Remove.
8328 (re_match_2_internal): Delete corresponding code and streamline the
8329 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8330 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8331 (re_wctype_t): New type.
8332 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8333 (regex_compile): Use them and fix handling of overly long char classes.
8334
c1174479
AI
83352000-09-03 Andrew Innes <andrewi@gnu.org>
8336
f8803e97
AI
8337 * makefile.w32-in: Change to DOS line endings.
8338
c1174479
AI
8339 * s/ms-w32.h (ORDINARY_LINK): New define.
8340
8341 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8342 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8343
8344 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8345 (distclean): Delete them here instead.
8346
44ef7cf6
AI
8347 * w32proc.c (compare_env): Convert to uppercase for comparison,
8348 not lowercase, to match how the native Windows shell works.
8349
49b3bd82
JR
83502000-09-03 Jason Rumney <jasonr@gnu.org>
8351
8352 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8353 CVS changes the line-ends when checking in/out on DOS/Windows.
8354
8355 * makefile.nt (emacs): Do not change directory to run temacs, as
8356 the load-path is set relative to current directory.
8357
a3d35a39
MB
83582000-09-03 Miles Bader <miles@gnu.org>
8359
8360 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8361
d276b0cf
GM
83622000-09-02 Gerd Moellmann <gerd@gnu.org>
8363
715e84c9
GM
8364 * xdisp.c (redisplay_mode_lines): New function.
8365 (display_mode_lines): Return number of mode lines displayed.
8366 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8367 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8368
8892f40b
GM
8369 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8370 string.h and strings.h.
8371 (index) [HAVE_INDEX]: Add prototype.
8372
d276b0cf
GM
8373 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8374 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8375
8376 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8377 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8378
38404229
GM
83792000-09-01 Gerd Moellmann <gerd@gnu.org>
8380
8381 * lread.c (read1): Accept `?' as symbol constituent, for
8382 compatiblity with XEmacs.
8383
c0f9ea08
SM
83842000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8385
8386 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8387 (struct re_pattern_buffer): Remove newline_anchor.
8388 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8389 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8390 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8391 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8392 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8393 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8394 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8395 Get rid of references to newline_anchor.
8396 (regcomp): Allocate and precompute a fastmap.
8397
8c0f83fe
GM
83982000-08-31 Gerd Moellmann <gerd@gnu.org>
8399
8400 * lread.c (openp): GCPRO local variable `filename'.
8401
4bb91c68
SM
84022000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8403
8404 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8405
8406 * regex.c: Merge some changes from GNU libc. Add prototypes.
8407 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8408 Use memcmp and memcpy instead of bcopy and bcmp.
8409 (init_syntax_once): Use ISALNUM.
8410 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8411 (REG_UNSET_VALUE): Remove. Use NULL instead.
8412 (REG_UNSET, re_match_2_internal): Use NULL.
8413 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8414 New macros.
8415 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8416 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8417 (regex_compile): In handle_interval, return an error rather than try to
8418 unfetch the interval if we can't find the closing brace.
8419 Obey the RE_NO_GNU_OPS syntax bit.
8420 (TOLOWER): New macro.
8421 (regcomp): Use it.
8422 (regexec): Allocate regs.start and regs.end as one block.
8423
5226a931
GM
84242000-08-30 Gerd Moellmann <gerd@gnu.org>
8425
868dd24b
GM
8426 * xdisp.c (echo_area_display): Check display_completed instead
8427 of calling detect_input_pending.
8428
8429 * dispnew.c (update_frame): Only set display_completed here; move
8430 the update_begin and update_end calls here from update_frame_1.
8431 (update_frame_1): Don't set display_completed here, don't call
8432 update_begin/update_end.
8433
5226a931
GM
8434 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8435 instead of store_frame_param.
8436
2a8bd25f
GM
84372000-08-29 Gerd Moellmann <gerd@gnu.org>
8438
8439 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8440 desired window matrix hasn't been displayed, use the current row
8441 instead. Make sure that only those frame rows are updated for
8442 which there exists a corresponding enabled desired row.
52283633 8443
ba3478d9
MB
84442000-08-29 Miles Bader <miles@gnu.org>
8445
8446 * xfaces.c (default_face_vector): New function.
8447 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8448
87d0f685
GM
84492000-08-29 Gerd Moellmann <gerd@gnu.org>
8450
8451 * lread.c (openp): Prevent temporary string passed to
8452 Ffile_readable_p from being garbage collected.
8453
6fa86045
DL
84542000-08-28 Dave Love <fx@gnu.org>
8455
8456 * keymap.c (store_in_keymap): Add `static' to declaration.
8457
bb17930d
GM
84582000-08-28 Gerd Moellmann <gerd@gnu.org>
8459
8460 * emacs.c, callint.c, doc.c, editfns.c
8461 (toplevel) [HAVE_STRING_H]: Include string.h.
8462 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8463 (index): Remove prototypes which might conflict with non-standard
8464 definitions of index/strchr.
8465
8466 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8467 (rindex): Define only if !HAVE_RINDEX.
8468
8469 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8470
8471 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8472
87188200
MB
84732000-08-28 Miles Bader <miles@gnu.org>
8474
8475 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8476 made inconsistent by a font-related attribute in FROM.
8477 (merge_face_inheritance): Add function comment.
8478
41a68aef
KH
84792000-08-28 Kenichi Handa <handa@etl.go.jp>
8480
8481 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8482 the 4th arg (PREV_EVENT) Qt to suppress input method.
8483
f7c436c1
SM
84842000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8485
0b32bf0e
SM
8486 * regex.c: Indent cpp directives and remove parens after `defined'.
8487 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8488 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8489 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8490 (re_compile_pattern): Use size_t for length.
8491 (init_syntax_once): Move to a better place.
8492 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8493 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8494
f7c436c1
SM
8495 * syntax.c (back_comment): Detect cases where a comment-starter is
8496 actually inside another comment as in: /* a // b */ c // d \n.
8497 Make it clear that `comstart_pos' is unused for nested comments.
8498
8499 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8500 (KEYMAPP): New macro.
8501 (Fkeymap_parent, Fset_keymap_parent): Use it.
8502 (fix_submap_inheritance): Mark it static.
8503 (define_as_prefix, describe_buffer_bindings, describe_command)
8504 (describe_translation, describe_map): Complete prototypes.
8505
8506 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8507
8508 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8509 to better match the key-lookup behavior.
8510
6288c62f
GM
85112000-08-27 Gerd Moellmann <gerd@gnu.org>
8512
8513 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8514 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8515
e931344e
EZ
85162000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8517
8518 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8519 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8520 (xterm.o): Depend on coding.h
8521
d10dfeef
KH
85222000-08-26 Kenichi Handa <handa@etl.go.jp>
8523
8524 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8525 the corresponding '#endif'.
8526
2d73e8d3
MB
85272000-08-26 Miles Bader <miles@gnu.org>
8528
8529 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8530 * xfaces.c (QCinherit): New variable.
8531 (syms_of_xfaces): Initialize it.
8532 (LFACE_INHERIT): New macro.
8533 (Finternal_get_lisp_face_attribute)
52283633 8534 (merge_face_vector_with_property)
2d73e8d3
MB
8535 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8536 (check_lface_attrs): Allow new types of face height. Check
8537 inherit attribute.
8538 (CYCLE_CHECK): New macro.
8539 (merge_face_inheritance): New function.
8540 (merge_face_vectors): Merge inherited faces too. Add F and
8541 CYCLE_CHECK arguments.
8542 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8543 (lookup_named_face, lookup_derived_face, realize_named_face)
8544 (face_at_string_position, face_at_buffer_position): Supply
8545 new F and CYCLE_CHECK arguments to merge_face_vectors.
8546 (merge_face_heights): New function.
52283633 8547 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8548 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8549 handle relative face heights.
8550 (lface_same_font_attributes_p): Compare heights using EQ.
8551
6ce974d4
KH
85522000-08-26 Kenichi Handa <handa@etl.go.jp>
8553
8554 * charset.c (char_to_string): Check the character validity.
52283633 8555 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8556
dc1e502d
SM
85572000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8558
8559 * regex.c (PUSH_FAILURE_COUNT): New macro.
8560 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8561 Handle popping of a register's or a counter's data.
8562 (POP_FAILURE_POINT): Use the new name.
8563 (re_match_2_internal): Push counter data on the stack for succeed_n,
8564 jump_n and set_number_at and remove misleading dead code in succeed_n.
8565
bd9d0f3f
GM
85662000-08-25 Gerd Moellmann <gerd@gnu.org>
8567
8568 * xdisp.c (redisplay_internal): If considering all windows on all
8569 frames, update the display for each frame as soon as possible,
8570 instead of first building all desired matrices for all frames, and
8571 then updating them all.
8572 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8573
aa5b8e15
GM
85742000-08-24 Gerd Moellmann <gerd@gnu.org>
8575
17494071
GM
8576 * bytecode.c (mark_byte_stack): Add a comment.
8577
52283633
SM
8578 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8579 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8580 a graphical frame.
8581
c543db81
KH
85822000-08-24 Kenichi Handa <handa@etl.go.jp>
8583
d246d5f5
KH
8584 * minibuf.c (do_completion): Always use compare-string, not
8585 string-equal because the latter doesn't pay attention to
8586 multibyteness of strings.
8587
c543db81
KH
8588 * process.c (create_process): Don't setup raw-text coding here.
8589 (Fopen_network_stream): Don't set coding->src_multibyte and
8590 coding->dst_multibyte here.
8591 (read_process_output): For process filter, return unibyte string
8592 if default-enable-multibyte-characters is nil.
8593 (send_process): If OBJECT is multibyte text, be sure to encoded it
8594 by the specified coding system for the process. Otherwise, setup
8595 raw-text coding.
52283633 8596 (init_process): Don't initialize default-process-coding-system here.
c543db81 8597
9b47cfe0
EZ
85982000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8599
8600 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8601 <scroll-down-aggressively>: Likewise.
8602
f5a36960
KH
86032000-08-23 Kenichi Handa <handa@etl.go.jp>
8604
8605 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8606 zero. Set coding->produced_char correctly.
8607
69a7ffa7
AI
86082000-08-22 Andrew Innes <andrewi@gnu.org>
8609
8610 * makefile.w32-in: New file.
8611
8612 * unexw32.c (unexec): Ignore old_name, and use the actual location
8613 of the current executable instead. Base new_name on this.
8614
8615 * w32proc.c (create_child): Remove reference to security
8616 descriptor, which isn't needed and doesn't compile with mingw32.
8617
8618 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8619 up dllimport attributes.
8620 (x_update_window_end): Update prototype.
8621
8622 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8623 extern, which screws up dllimport attributes.
8624
8625 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8626 up dllimport attributes.
8627
8628 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8629 screws up dllimport attributes.
8630
8631 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8632 up dllimport attributes.
8633 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8634 screws up dllimport attributes.
8635
8636 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8637 up dllimport attributes.
8638
8639 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8640 screws up dllimport attributes.
8641
8642 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8643 screws up dllimport attributes.
8644
8645 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8646 up dllimport attributes.
8647
8648 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8649 unnecessary extern, which screws up dllimport attributes.
8650 (main): Ditto.
8651
8652 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8653 up dllimport attributes.
8654
8655 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8656 unnecessary extern, which screws up dllimport attributes.
8657
8658 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8659 screws up dllimport attributes.
8660
8661 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8662 up dllimport attributes.
8663
8664 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8665
52283633
SM
8666 * w32bdf.c (search_file_line):
8667 (set_bdf_font_info):
8668 (seek_char):
8669 (w32_get_bdf_glyph):
69a7ffa7
AI
8670 (w32_BDF_to_x_font): Fix compile warnings.
8671
52283633 8672 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8673
8674 * w32select.c: Include keyboard.h before frame.h.
8675
8676 * w32fns.c (max): Define macro.
8677 (JOHAB_CHARSET): Define if not known.
8678 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8679 (Fx_show_tip): Synch with X version.
8680
8681 * w32xfns.c: Include keyboard.h before frame.h.
8682
8683 * w32fns.c: Include keyboard.h before frame.h.
8684
8685 * w32term.c: Include keyboard.h before frame.h.
8686
8687 * fontset.c: Include keyboard.h before frame.h.
8688
8689 * w32inevt.c: Include keyboard.h before frame.h.
8690 (MOUSE_MOVED): Define if not known.
8691
8692 * minibuf.c: Include keyboard.h before frame.h.
8693
8694 * keyboard.c: Include keyboard.h before frame.h.
8695
8696 * indent.c: Include keyboard.h before frame.h.
8697
8698 * dispnew.c: Include keyboard.h before frame.h.
8699
8700 * buffer.c: Include keyboard.h before frame.h.
8701
8702 * alloc.c: Include keyboard.h before frame.h.
8703
8704 * print.c: Include keyboard.h before frame.h.
8705
8706 * process.c: Include keyboard.h before frame.h.
8707
8708 * scroll.c: Include keyboard.h before frame.h.
8709
8710 * sysdep.c: Include keyboard.h before frame.h.
8711
8712 * term.c: Include keyboard.h before frame.h.
8713
8714 * window.c: Include keyboard.h before frame.h.
8715
8716 * xdisp.c: Include keyboard.h before frame.h.
8717 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8718
8719 * frame.c: Include keyboard.h before frame.h.
8720
8721 * w32heap.h: Undefine min, max.
8722
8723 * w32gui.h: Undefine min, max.
8724
8725 * unexw32.c: Change PUCHAR to PCHAR.
8726 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8727 (relocate_offset):
8728 (get_section_info):
69a7ffa7
AI
8729 (copy_executable_and_dump_data): Remove unnecessary static defs.
8730 (copy_executable_and_dump_data): Fix compile warnings.
8731
8732 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8733
8734 * w32console.c (min): Define macro.
8735 (clear_frame, write_glyphs): Fix compile warning.
8736
52283633 8737 * w32proc.c (compare_env):
69a7ffa7
AI
8738 (find_child_console): Fix compile warning.
8739
8740 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8741 sys_errlist instead of _sys_errlist.
8742 (get_emacs_configuration_options): New function.
8743
8744 * s/ms-w32.h (sys_nerr): Provide default definition.
8745 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8746 name with _ prepended.
8747 (NSIG): Define if not known.
8748 (get_emacs_configuration): Provide extern declaration.
8749 (get_emacs_configuration_options): Provide extern declaration.
8750 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8751
8752 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8753 (map_w32_filename):
69a7ffa7
AI
8754 (read_unc_volume): Fix compile warning.
8755
8756 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8757 definitions from being used.
8758
8759 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8760
52283633 8761 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8762 (open_unc_volume): Make arg const.
8763
8764 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8765 (read_input_waiting): Remove excess parameter.
8766
8767 * w32.c (init_environment): Call _access.
8768 (check_windows_init_file): Call _close.
8769 (init_user_info): Call _putenv.
8770 (init_environment): Call _putenv and _strdup.
8771 (init_ntproc): Reset volume info cache on startup.
8772
8773 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8774 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8775 cannot override the CRT malloc.
8776
8777 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8778 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8779
8780 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8781 unless we are linking with a static CRT.
8782 (RVA_TO_PTR): Cast result to unsigned char*.
8783
8784 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8785 (add_volume_info): Use xstrdup.
8786
25060080
SM
87872000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8788
8789 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8790 (do_completion, Fminibuffer_complete_word): Use it.
8791 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8792 var so it can take non-boolean values.
8793
6917e6bb
GM
87942000-08-21 Gerd Moellmann <gerd@gnu.org>
8795
acb7cc89 8796 * editfns.c (find_field): Formatting changes.
52283633 8797 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8798 changed to prototypes, some new protypes added, some functions
8799 made static.
8800
8801 * lisp.h (set_time_zone_rule): Add prototype.
8802 (use_dialog_box): External declaration.
8803
0bbfdc25
GM
8804 * keyboard.c (gen_help_event): Add parameter SIZE.
8805 (kbd_buffer_events_waiting): Slightly rewritten.
8806 (clear_event): New function.
8807 (kbd_buffer_get_event): Use it, and clear the input_events of
8808 HELP_EVENTs.
8809 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8810 don't fill the newly created array with nils.
8811 (toplevel): Convert some old-style function forward declarations
8812 to prototypes.
8813
8814 * keyboard.h (gen_help_event): Change prototype.
8815
8816 * xterm.c (XTread_socket): Change calls to gen_help_event.
8817
8818 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8819
6917e6bb
GM
8820 * eval.c (Fmacroexpand): Doc fix.
8821
e5cd3d11
JR
88222000-08-20 Jason Rumney <jasonr@gnu.org>
8823
8824 * w32term.h (x_display_info_for_display): Remove as this function
8825 does not exist on W32.
8826
8827 * w32term.c (help_echo_window): New variable.
8828 (syms_of_w32term): staticpro it.
8829 (note_mode_line_highlight): Set it.
8830 (XTextExtents16): Removed as there is no equivalent on W32.
8831 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8832 the X way of doing this will not work for W32.
8833 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8834 (x_draw_image_foreground): Avoid drawing outside of the clip area
8835 when image doesn't have a mask.
8836 (note_mouse_highlight): Process overlays in the right order of
8837 priority. Set help_echo_window.
8838 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8839 because that's more visible for large images.
8840
8841 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8842 name to single_keymap_panes.
8843 (w32_menu_show): Set wv->title when dealing with titles.
8844 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8845
6e69ab8c
MB
88462000-08-21 Miles Bader <miles@gnu.org>
8847
8848 * minibuf.c (do_completion): Try again if we rewrite the input
8849 string, but no completion was done, so that any completion message
8850 will be correct.
8851
511bd4eb
GM
88522000-08-20 Gerd Moellmann <gerd@gnu.org>
8853
8854 * xfaces.c (lface_equal_p): Compare strings differently.
8855 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8856 (realize_tty_face): Use them.
8857 (syms_of_xfaces): Initialize new variables.
8858 (map_tty_color): New function, extracted from realize_tty_face.
8859 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8860 foreground or background color, store the new color name in the
8861 realized face; previous code trying to do this had no effect.
8862 (realize_tty_face): Use map_tty_color.
8863 (Fclear_face_cache): Set face_change_count and ensure thorough
8864 redisplay.
8865
1433385f
GM
88662000-08-19 Gerd Moellmann <gerd@gnu.org>
8867
511bd4eb
GM
8868 * undo.c (record_first_change, record_marker_adjustment): Don't
8869 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8870
419ac0a2
KH
88712000-08-18 Kenichi Handa <handa@etl.go.jp>
8872
8873 * coding.c (decode_coding_string): Set members consumed,
8874 consumed_char, produced, produced_char of *coding correctly. If
8875 decode_coding doesn't consume any byte, don't try anymore.
8876 (encode_coding_string): Likewise.
8877
7eb9e30d
GM
88782000-08-18 Gerd Moellmann <gerd@gnu.org>
8879
511bd4eb
GM
8880 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8881 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8882
8883 * xdisp.c (redisplay_internal): Compare windows for equality with
8884 EQ, instead of applying XWINDOW to something that might not
8885 be a window.
52283633 8886
dd34a735
KH
88872000-08-18 Kenichi Handa <handa@etl.go.jp>
8888
8889 * fontset.c (Finternal_char_font): Search only the selected frame
8890 for a window of the current buffer.
8891
385ff9e3
GM
88922000-08-18 Gerd Moellmann <gerd@gnu.org>
8893
511bd4eb 8894 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8895 Lisp_Objects.
8896
385ff9e3
GM
8897 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8898 second half of a HELP_EVENT is found at the start of kbd_buffer.
8899
d6abb4c7
MB
89002000-08-18 Miles Bader <miles@gnu.org>
8901
4618074a
MB
8902 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8903
d6abb4c7
MB
8904 * editfns.c (save_restriction_save): Rewrite to use markers.
8905 (save_restriction_restore): Rewrite to understand new form of data
8906 saved by save_restriction_save.
8907 (Fsave_restriction): Remove cautionary note in doc-string.
8908
a7b28523
GM
89092000-08-17 Gerd Moellmann <gerd@gnu.org>
8910
8911 * fileio.c (build_annotations): Add a comment explaining the
8912 return value of format-annotate-function. Replace a spurious call
8913 to Flength with a CONSP test. Call format-annotate-function with
8914 a fifth arg specifying how many times the function is been called
8915 in a row, to let it choose temporary buffers appropriately.
8916
03c9ed77
DL
89172000-08-17 Dave Love <fx@gnu.org>
8918
8919 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8920 declare make_temp_name twice.
8921
52283633 8922 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8923 (unreadpure): Give it an arg.
8924
8925 * unexalpha.c: Prototype fatal_unexec, mark_x,
8926 update_dynamic_symbols. Declare unexec as void.
8927
8928 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8929 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8930
8931 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8932 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8933
8934 * alloca.c: Use #error.
8935 [POINTER_TYPE]: Use it.
8936
8937 * eval.c (Fdefvar): Doc fix.
8938
8939 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8940 INITIALIZE_INTERVAL.
8941
8942 * buffer.h: Avoid DECLARE_INTERVALS.
8943
8944 * config.in: Add size_t.
8945
aae41d97
EZ
89462000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8947
8948 * w16select.c (set_clipboard_data): If there's not enough memory
8949 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8950 expects. In case of other failures, return 3.
8951 (system_error_msg): New error message.
8952 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8953 system_error_msg.
8954
65aa5e85
GM
89552000-08-16 Gerd Moellmann <gerd@gnu.org>
8956
8957 * term.c (write_glyphs): Also turn off inverse video after turning
8958 off other appearances in case TS_exit_attribute_mode is not equal
8959 to TS_end_standout_mode.
8960 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8961 with the same face.
8962 (turn_off_face): Reset standout_mode only if
8963 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8964 is equal to TS_end_standout_mode.
8965
ece23901
KH
89662000-08-16 Kenichi Handa <handa@etl.go.jp>
8967
9d7bcb2e
KH
8968 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8969 sequence at the end of the source block.
8970
ece23901
KH
8971 * ccl.c (Fccl_program_p): Docstring modified.
8972 (Fccl_execute): Likewise.
8973 (Fccl_execute_on_string): Likewise.
8974
5e30eaa2
EZ
89752000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8976
8977 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8978
290602fd
KH
89792000-08-16 Kenichi Handa <handa@etl.go.jp>
8980
8981 The following changes are mainly to fix bugs of
8982 encode/decode-coding-string failing if encoding/decoding return
8983 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8984 variable conversion_buffer.
8985
8986 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8987 decrement dst_end to avoid buffer overflow in the later call of
8988 string_as_multibyte
8989
8990 * coding.h (conversion_buffer_size, conversion_buffer)
8991 (get_conversion_buffer): Extern deleted.
8992
8993 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8994 (conversion_buffer, conversion_buffer_size): Variables deleted.
8995 (get_conversion_buffer): Function deleted.
8996 (struct conversion_buffer): New structure.
8997 (MAX_ALLOCA): New macro.
8998 (allocate_conversion_buffer): New macro.
8999 (extend_conversion_buffer, free_conversion_buffer): New functions.
9000 (ccl_coding_driver): Set coding->result.
9001 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9002 this is the last block of source.
9003 (encode_coding): Likewise. Handle the source block as the last
9004 one only when the whole source text is consumed.
9005 (decode_coding_string): Handle the case that the output buffer is
9006 too small to decode the whole source text. Use
9007 allocate_conversion_buffer, extend_conversion_buffer and
9008 free_conversion_buffer, not get_conversion_buffer.
9009 (encode_coding_string): Likewise.
9010 (init_coding): Function deleted.
52283633 9011 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9012
9013 * emacs.c (main): Don't call init_coding.
9014
52283633 9015 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9016
9017 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9018 (insert_glyphs): Likewise.
9019
9020 * w32console.c (write_glyphs): Use a locally declared
9021 conversion_buffer.
9022
b9f80d41
EZ
90232000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9024
9025 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9026 member of display_info is NULL.
9027
32dc52f7
GM
90282000-08-15 Gerd Moellmann <gerd@gnu.org>
9029
52283633 9030 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9031
32dc52f7 9032 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9033 appearances with capability `me'.
32dc52f7
GM
9034 (write_glyphs): Switch on inverse video before each face change.
9035
4eb22d33
DL
90362000-08-14 Dave Love <fx@gnu.org>
9037
9038 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9039 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9040 (lisp_free): Declare and make static.
9041
9042 * window.c: Fix embedded comment.
9043 (syms_of_window): Fix doc string.
9044
90cbf47e
GM
90452000-08-14 Gerd Moellmann <gerd@gnu.org>
9046
52283633 9047 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9048 make sure to print `C-' before `M-', like in the manual.
9049
440fc135
GM
90502000-08-11 Gerd Moellmann <gerd@gnu.org>
9051
9052 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9053 since they aren't relocated anymore.
52283633 9054 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9055
9056 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9057 partially visible line which is smaller than the window's height.
440fc135 9058
6e264fad
KH
90592000-08-11 Kenichi Handa <handa@etl.go.jp>
9060
9061 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9062 the multibyte form of eight-bit-control characters.
6e264fad
KH
9063 (Fccl_execute_on_string): Initialize ccl->multibyte.
9064
9065 * ccl.h (struct ccl_program): New member multibyte.
9066
9067 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9068
c371f69a
KH
90692000-08-11 Kenichi Handa <handa@etl.go.jp>
9070
9071 * regex.c (regex_compile) <normal_char>: Pay attention to
9072 multibyteness.
9073 (analyse_first) <exactn>: Setup fastmap correctly for
9074 eight-bit-control characters.
9075
90762000-08-11 Kenichi Handa <handa@etl.go.jp>
9077
52283633 9078 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9079
9080 * keyboard.c (make_lispy_event): Handle the new event type
9081 multibyte_char_keystroke.
9082
9083 * xterm.c: Include coding.h.
9084 (XTread_socket): Work around a bug of XmbLookupString. If the
9085 input is from XIM, decode it according to the current locale. In
9086 that case, generate multibyte_char_keystroke events.
9087
b8ddbe71
KH
90882000-08-11 Kenichi Handa <handa@etl.go.jp>
9089
9090 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9091 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9092
47589c8c
GM
90932000-08-10 Gerd Moellmann <gerd@gnu.org>
9094
9095 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9096 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9097 (move_it_in_display_line_to): Record iterator's ascent and descent
9098 before producing glyphs, and restore them when we know the glyph
9099 doesn't fit on the line.
9100 (move_it_to): Restructured so that it's easier to debug. If
9101 moving to a vpos, and not moving to an x or character position,
9102 stop as soon as the specified vpos is reached; don't move further
9103 into that line because that might change the computed line height.
9104 (try_cursor_movement): New function, extracted from the cursor
9105 movement branch of redisplay_window. If ending on a partially
9106 visible line, don't try to scroll if the cursor line is taller
9107 than the window.
9108 (redisplay_window): Use try_cursor_movement.
9109
9110 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9111 because that function doesn't cope with variable-height lines.
9112
9113 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9114 box cursor because that's better visible for large images.
52283633 9115
c51bacd6
MB
91162000-08-10 Miles Bader <miles@gnu.org>
9117
9118 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9119
bea56df7
GM
91202000-08-10 Gerd Moellmann <gerd@gnu.org>
9121
9122 * xdisp.c (Vmessages_buffer_name): New variable.
9123 (message_dolog): Use it.
9124 (syms_of_xdisp): Initialize it.
9125
99cd7364
EZ
91262000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9127
52283633 9128 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9129 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9130 redundant now that keyboard.h is included.
9131
7d093d56
EZ
91322000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9133
9134 * keyboard.c (kbd_buffer_events_waiting): New function.
9135
9136 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9137
9138 * msdos.c: Include keyboard.h.
9139 (XMenuActivate): Empty no_event events from the event buffer. If
9140 no events are left after that, call clear_input_pending.
9141 (mouse_clear_clicks): New function, code moved from mouse_init.
9142 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9143 mouse driver to ``forget'' any past clicks.
9144
9145 * Makefile.in (msdos.o): Depend on keyboard.h.
9146
41e757a6
GM
91472000-08-09 Gerd Moellmann <gerd@gnu.org>
9148
8e7bd231
GM
9149 * lisp.h (input_pending): External declaration.
9150
9151 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9152
8e7bd231
GM
9153 * xdisp.c (echo_area_display): Display thoroughly if input is
9154 pending. Bind redisplay-dont-pause to t during the redisplay.
9155 in case input is pending.
9156
9157 * dispnew.c (Qredisplay_dont_pause): New variable.
9158 (syms_of_display): Initialize and staticpro it.
9159 (update_frame_1): Don't interrupt the display for pending input if
9160 redisplay_dont_pause is set.
52283633 9161
43028b7e
GM
9162 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9163
41e757a6
GM
9164 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9165
2f2174fa
KH
91662000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9167
9168 * callproc.c (Fcall_process): Terminate the unwind-protect around
9169 the post-read-conversion of coding system.
9170
0a6fd67e
MB
9171 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9172 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9173 * buffer.h (overlays_at): Update prototype.
9174 * xdisp.c (next_overlay_change): Update call to overlays_at.
9175 * xfaces.c (face_at_buffer_position): Likewise.
9176 * textprop.c (Fget_char_property): Likewise.
9177 * xterm.c (note_mouse_highlight): Likewise.
9178
0c80756e
MB
9179 * minibuf.c (do_completion): Don't consider a simple change of
9180 case as `completion'.
9181
975f250a
KR
91822000-08-08 Ken Raeburn <raeburn@gnu.org>
9183
52283633 9184 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9185 * undo.c (record_delete): Make sure last_point_position_buffer is
9186 a buffer before comparing pointers.
9187
9188 * coding.h (decode_coding_string): Declare.
9189
9190 * intervals.h (Fprevious_single_char_property_change): Declare.
9191
9192 * textprop.c (Fprevious_single_char_property_change): Don't do
9193 arithmetic directly on lisp objects.
9194
52283633 9195 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9196
9197 * keyboard.h (menu_item_eval_property): Declare.
9198
9199 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9200 reuse as buffer name, instead of recreating (and discarding) every
9201 time a message is logged.
9202 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9203 (current_message_1, truncate_message_1, set_message_1)
9204 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9205 (current_message, truncate_echo_area, display_echo_area)
9206 (resize_echo_area_axactly): Changed calls.
b347b3fd 9207
975f250a 9208 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9209 Lisp object.
975f250a 9210 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9211 must be an integer, not a Lisp object.
975f250a 9212
46dc9912
KH
92132000-08-08 Kenichi Handa <handa@etl.go.jp>
9214
9215 * charset.c (Fchar_width): Doc fix.
9216
9f6d1a6c
GM
92172000-08-08 Gerd Moellmann <gerd@gnu.org>
9218
9219 * charset.c (Fstring_width): Doc fix.
9220
ff3d9573
GM
92212000-08-07 Gerd Moellmann <gerd@gnu.org>
9222
41e757a6 9223 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9224 line, clear ascent and descent members of the iterator structure;
9225 the height of the continued line does not affect the height of the
9226 continuation line.
9227 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9228 line taller than the window.
9229 (redisplay_window) <forced window start>: Handle case that the
9230 middle of the window is not found in any row.
9231 (dump_glyph_row): Show more information.
9232 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9233 first text line in a glyph matrix.
9234
9235 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9236 of the clip area when image doesn't have a mask.
9237
70fc58b3
GM
9238 * fns.c (sweep_weak_table): Fix survival conditions for
9239 key-or-value and key-and-value weakness.
9240
9241 * .gdbinit (xhashtable): New command.
9242
ac0e96ee
GM
9243 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9244 tables out of the list of all weak hash tables.
9245
ff3d9573
GM
9246 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9247 a new buffer is created, make sure echo_area_buffer[] references
9248 the new buffer.
9249
e0d8827b
EZ
92502000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9251
9252 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9253 the doc string.
9254
c6f35378
KH
92552000-08-07 Kenichi Handa <handa@etl.go.jp>
9256
9257 * syntax.c (skip_chars): Fix previous change. Make the handling
9258 of unibyte string consistent with that of regex search.
9259
1fd4c450
GM
92602000-08-05 Gerd Moellmann <gerd@gnu.org>
9261
e49aa397
GM
9262 * xmenu.c (popup_get_selection): Use xfree instead of free.
9263
9264 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9265
9266 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9267
9268 * callproc.c (child_setup): Use xfree instead of free.
9269
9270 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9271 instead of malloc.
9272 (run_mac_command, closedir): Use `xfree' instead of `free'.
9273
9274 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9275
9276 * eval.c (error): Use xfree instead of free.
9277
1fd4c450
GM
9278 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9279
9280 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9281 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9282
82d497fc
KH
92832000-08-05 Kenichi Handa <handa@etl.go.jp>
9284
9285 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9286 conversion.
9287
59f953a2
NF
92882000-08-04 Noah Friedman <friedman@splode.com>
9289
9290 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9291 docstring.
9292
688351f2
GM
92932000-08-04 Gerd Moellmann <gerd@gnu.org>
9294
9295 * syntax.c (skip_chars): Fix typo in error message.
9296
2dad51cc
AS
92972000-08-04 Andreas Schwab <schwab@suse.de>
9298
9299 * m/ia64.h: Moved from s/ia64.h.
9300
99bb2c60
KH
93012000-08-04 Kenichi Handa <handa@etl.go.jp>
9302
082a1df2
KH
9303 * process.c (read_process_output): Big simplification. Handle
9304 composition and post-read-conversion of coding system correctly.
9305 (send_process): Handle composition correctly.
9306
9307 * callproc.c (Fcall_process): Handle post-read-conversion of
9308 coding system if any.
9309
99bb2c60
KH
9310 * coding.c (decode_coding_iso2022): More strict check for handling
9311 single shifting.
082a1df2
KH
9312 (coding_restore_composition): Pay attention to the case that
9313 cmp_data is not set properly (because of invalid code in the
9314 source text).
9315 (run_pre_post_conversion_on_str): Include text properties in the
9316 resulting string.
9317 (decode_coding_string): Set members of coding correctly.
99bb2c60 9318
f4988be7
GM
93192000-08-03 Gerd Moellmann <gerd@gnu.org>
9320
9321 * s/ia64.h: New file.
9322
9323 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9324 Use NULL instead of 0 at the end of variable argument list of
9325 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9326 sizeof (int) < sizeof (void *).
9327
9328 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9329 of variable argument lists of XtVaGetValues and XtVaSetValues.
9330
9331 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9332 variable argument lists of XtVaGetValues and XtVaSetValues.
9333
ead53494
GM
93342000-08-02 Gerd Moellmann <gerd@gnu.org>
9335
9336 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9337 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9338
9339 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9340 prototype.
9341
9342 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9343 in call to Fsingle_key_description.
9344
9345 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9346 Callers changed.
9347
93482000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9349
9350 * window.c (display_buffer_reuse_frames): New variable.
9351 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9352 frames displaying BUFFER.
52283633 9353 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9354
10b0f752
MB
93552000-08-01 Miles Bader <miles@gnu.org>
9356
9357 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9358 when to constrain NEW_POS (they were pretty screwed up before).
9359
16425c4a
EZ
93602000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9361
9362 * msdos.c (run_msdos_command): Save and restore the master
9363 environment, for the case that child_setup signals an error.
9364 When mirroring slashes in DOS shell commands, don't fail when
9365 argv[2] has embedded blanks.
da288c14
EZ
9366 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9367 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9368 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9369
9370 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9371 using alloca; free it after run_msdos_command returns.
9372
27f73852
DL
93732000-07-27 Dave Love <fx@gnu.org>
9374
52283633
SM
9375 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9376 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9377
9378 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9379
c0261b5e
EZ
93802000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9381
9382 * editfns.c (lisp_time_argument): Fix last change.
9383
b548072f
GM
93842000-07-27 Gerd Moellmann <gerd@gnu.org>
9385
3ab82477
GM
9386 * fns.c (Fdelete): Make it work on vectors and strings in addition
9387 to lists.
9388
b548072f
GM
9389 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9390 (syms_of_fns): Initialize new variables.
52283633 9391 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9392 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9393 weakness, with t meaning the same as `key-and-value'.
9394
91ae8751
KH
93952000-07-27 Kenichi Handa <handa@etl.go.jp>
9396
9397 * coding.h (struct coding_system): Member safe_charset deleted.
9398
9399 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9400 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9401 New variables.
91ae8751
KH
9402 (coding_safe_chars): New function.
9403 (CODING_SAFE_CHAR_P): New macro.
9404 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9405 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9406 (detect_coding_iso2022): New local variable safe_chars.
9407 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9408 safe_charsets member of the coding system.
9409 (decode_coding_iso2022): New local variable safe_chars.
9410 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9411 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9412 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9413 (ENCODE_UNSAFE_CHARACTER): New macro.
9414 (encode_coding_iso2022): New local variable safe_chars. Check
9415 unsafe chars.
9416 (setup_coding_system): Delete the code to initialize
9417 coding->safe_charses
9418 (intersection, find_safe_codings): New functions.
9419 (Ffind_coding_systems_region_internal): New function.
9420 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9421 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9422 variable and initialize it.
9423
9424 * fns.c (char_table_ref_and_index): New function.
9425
9426 * lisp.h (char_table_ref_and_index): Add prototype.
9427
34a7a267
SS
94282000-07-26 Sam Steingold <sds@gnu.org>
9429
9430 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9431 (Ffloat_time): New built-in Lisp function.
34a7a267 9432
a95cb10a
GM
94332000-07-26 Gerd Moellmann <gerd@gnu.org>
9434
3353ef5a
GM
9435 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9436 for the character code.
9437
9438 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9439 GNU/Linux.
9440
a95cb10a
GM
9441 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9442 if called for a popup menu.
9443 (xmenu_show): Store help string in widget values.
9444
b4a12321
DL
94452000-07-26 Dave Love <fx@gnu.org>
9446
9447 * syswait.h: Move some definitions.
9448 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9449 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9450 perspicuous definitions.
9451 (WTERMSIG): Fix bit pattern used.
9452
13f5ad37
KH
94532000-07-26 Kenichi Handa <handa@etl.go.jp>
9454
9455 * print.c (print_object): If vector printing is truncated, print
9456 "..." to indicate it as well as the case of list printing.
9457
070fe99c
GM
94582000-07-25 Gerd Moellmann <gerd@gnu.org>
9459
969065c3
GM
9460 * xdisp.c (next_element_from_display_vector): Improve comments.
9461
9462 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9463 for the character code, and the rest for the face id as in 20.x.
9464 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9465
9466 * window.c (window_display_table): Cleaned up.
9467
070fe99c
GM
9468 * syntax.c (Fforward_word): Add last arg nil in call of
9469 Fconstrain_to_field.
9470
bad77ef7
EZ
94712000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9472
969065c3 9473 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9474 identical but for the letter-case, don't call
9475 barf_or_query_if_file_exists.
bad77ef7 9476
c28da489
MB
94772000-07-25 Miles Bader <miles@gnu.org>
9478
9479 * editfns.c (find_field): Honor special `boundary' fields.
9480 (Qboundary): New variables.
9481 (syms_of_editfns): Initialize Qboundary.
9482 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9483 Use scan_buffer instead of find_before_next_newline, because it
9484 allows us to detect the boundary case where there's a newline at
9485 the search limit.
9486 * lisp.h (Fconstrain_to_field): Update external declaration.
9487
e3c31fd5
GM
94882000-07-24 Gerd Moellmann <gerd@gnu.org>
9489
9490 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9491 if that is nil.
c28da489 9492
c66c29a2
DL
94932000-07-24 Dave Love <fx@gnu.org>
9494
9495 * s/sunos4-0.h, s/sol2.h:
9496 (LIBS_TERMCAP): Move from m/sparc.h.
9497
9498 * m/sparc.h (TERMINFO): Moved to system files (probably only
9499 relevant for sunos4 judging by its vintage).
9500 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9501 __arch64__.
9502
fbe0a958
EZ
95032000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9504
9505 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9506 name to single_keymap_panes.
9507
7d88e5c9
AS
95082000-07-24 Andreas Schwab <schwab@suse.de>
9509
9510 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9511
e024b101
GM
95122000-07-24 Gerd Moellmann <gerd@gnu.org>
9513
9514 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9515 parameters instead of using int parameters. Expect FN to accept
9516 EMACS_INT parameters.
9517 (display_echo_area, resize_echo_area_axactly, current_message)
9518 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9519 with new argument list.
9520 (resize_mini_window_1): New callback function.
9521 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9522 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9523
25c1a9ce
KH
95242000-07-24 Kenichi Handa <handa@etl.go.jp>
9525
9526 * fontset.c (fontset_ref): Remove INLINE declaration.
9527 (fontset_ref_via_base): Likewise.
9528 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9529 to downcase.
9530
7f987ac0
EZ
95312000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9532
9533 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9534 correct order of priority. If help echo was found in an overlay,
9535 use that overlay as the object in which the help echo was found.
9536
e2db3069
MB
95372000-07-22 Miles Bader <miles@gnu.org>
9538
9539 * textprop.c (Fprevious_single_char_property_change): The initial
9540 property value should be from the position preceding POSITION, not
9541 following it.
9542
5e3203e4
EZ
95432000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9544
9545 * coding.c (syms_of_coding): Doc fix for
9546 inhibit-iso-escape-detection.
9547
62145073
GM
95482000-07-21 Gerd Moellmann <gerd@gnu.org>
9549
c20aeb83
GM
9550 * xterm.c (note_mouse_highlight): Process overlays in the right
9551 order of priority.
34a7a267 9552
743934db
GM
9553 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9554
9555 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9556 overlay, use that overlay as the object in which the help was found.
743934db 9557
d1dc7e43 9558 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9559
62145073
GM
9560 * window.c (foreach_window): Instead of a fake variable argument
9561 list, take one USER_DATA argument.
9562 (foreach_window_1): Likewise, and call callback functions with two
9563 args, the window and USER_DATA.
9564 (struct check_window_data): New struct.
9565 (check_window_containing): Use it.
9566 (window_from_coordinates): Set up a struct check_window_data for
9567 foreach_window.
9568 (add_window_to_list, freeze_window_start): Change parameters
9569 according to new calling convention.
9570
9571 * window.h (foreach_window): Change prototype.
9572
9573 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9574
95752000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9576
9577 * xmenu.c (menu_help_callback): Call show_help_echo with
9578 additional arguments OBJECT and POS.
9579
11270583
KH
95802000-07-21 Kenichi Handa <handa@etl.go.jp>
9581
07b14857
KH
9582 * data.c (Faset): Allow storing any multibyte character in a
9583 string. Convert unibyte string to multibyte if necessary.
9584
11270583
KH
9585 * xfns.c (x_encode_text): New function.
9586 (x_set_name): Use x_encode_text.
9587 (x_set_title): Likewise.
9588
9589 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9590
9591 * xterm.h (x_encode_text): Add prototype.
9592
bc75b4fd
DL
95932000-07-20 Dave Love <fx@gnu.org>
9594
9595 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9596 xfree, not free.
9597
48c14970
EZ
95982000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9599
9600 * msdos.c (help_echo_window): New variable.
9601 (syms_of_msdos): Initialize and staticpro it.
9602 (IT_note_mode_line_highlight): Set help_echo_window.
9603 (IT_note_mouse_highlight): Ditto.
9604 (dos_rawgetc): Store help_echo_window in the second event produced
9605 for HELP_EVENTs.
9606
9607 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9608 Record the object that generated the help echo and the position of
9609 that object in help_echo_object and help_echo_pos. Record that
9610 some glyphs in a row are displayed in mouse-face.
9611 (IT_update_begin): Don't clear mouse highlight unless one of the
9612 enabled glyph rows is marked as being displayed in mouse-face.
9613 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9614 and position recorded in help_echo_object and help_echo_pos to the
9615 event queue.
9616 (IT_menu_display): Accept a new argument PN: the pane number of
9617 the current menu pane. Record the pane number and the item
9618 number of the item which has associated help string.
9619 (XMenuActivate): Update the prototype for help_callback in
9620 function declaration. Call IT_menu_display with the current menu
9621 pane number as an additional argument. Call help_callback with
9622 two additional arguments: the pane number and the item number of
9623 the menu item associated with the help text.
9624 (help_echo_object, help_echo_pos): New variables.
9625 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9626
9627 * msdos.h (XMenuActivate): Update prototype.
9628
4279296d
GM
96292000-07-19 Gerd Moellmann <gerd@gnu.org>
9630
47db06aa
GM
9631 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9632 Add some more prototypes.
9633
9634 * xterm.c, xterm.h: Add some more prototypes.
9635
9636 * lisp.h (Fnext_single_char_property_change): Add prototype.
9637
9638 * dispnew.c (direct_output_for_insert): Remove confusing
9639 outer local variable mouse_face_overwritten_p.
9640 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9641
4279296d
GM
9642 * alloc.c (allocate_string_data): Don't copy old string contents.
9643
670acd62
KH
96442000-07-19 Kenichi Handa <handa@etl.go.jp>
9645
9646 * coding.c (code_convert_region): Delete text properties before
9647 shrinking the conversion region.
9648
7cea38bc
GM
96492000-07-18 Gerd Moellmann <gerd@gnu.org>
9650
dc1cac59
GM
9651 * dispnew.c (update_text_area): Write the whole row if it
9652 has mouse-face in it.
9653
85a8aca9
GM
9654 * xfaces.c (face-alternative-font-family-alist): Remove
9655 DEFVAR_LISP; staticpro instead.
9656
34a7a267 9657 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9658 new arguments.
9659
9660 * keyboard.c (show_help_echo): Add parameter WINDOW.
9661 (read_char): Call show_help_echo with window extracted from Lisp
9662 help event.
9663 (gen_help_event): Add parameter WINDOW.
9664
9665 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9666
9667 * xterm.c (help_echo_window): New variable.
52283633 9668 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9669 (XTread_socket): Pass help_echo_window to gen_help_event.
9670 (syms_of_xterm): Initialize and staticpro help_echo_window.
9671
f8276b77
DL
96722000-07-18 Dave Love <fx@gnu.org>
9673
52283633 9674 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9675
088831a6
GM
96762000-07-18 Gerd Moellmann <gerd@gnu.org>
9677
3d6cd763
GM
9678 * alloc.c (allocate_string_data): If string had already data
9679 assigned, copy old contents to new string data.
9680
9681 * coding.c (syms_of_coding): Fix typo in spelling of variable
9682 `inhibit-iso-escape-detection'.
9683
088831a6
GM
9684 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9685
9686 * Makefile.in: Add dependencies on dispextern.h.
9687 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9688 `free'; both can conflict with system header files.
9689
bc8a8d55
KH
96902000-07-18 Kenichi Handa <handa@etl.go.jp>
9691
9692 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9693 undefined.
9694
069f5950
DL
96952000-07-18 Dave Love <fx@gnu.org>
9696
9697 * window.c (Fwindow_list): Declare arg `window'.
9698
aa96c820
KH
96992000-07-18 Kenichi Handa <handa@etl.go.jp>
9700
9701 * coding.c (setup_coding_system): Don't override the explicitly
9702 specified designations.
9703
06be8d32
MB
97042000-07-15 Miles Bader <miles@gnu.org>
9705
9706 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9707 from `text_property_eq' and `text_property_stickiness', respectively.
9708 (find_field, Fconstrain_to_field, char_property_eq)
9709 (char_property_stickiness): Changed to call char-property functions
9710 instead of text-property-only ones.
9711
9712 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9713 `next_single_char_property_change'). Do more error checking, and
9714 cleanup limit behavior.
9715 (Fprevious_single_char_property_change): New function.
9716 (syms_of_textprop): Initialize new subrs.
9717
9718 * xdisp.c (display_prop_end, invisible_text_between_p):
9719 Call Fnext_single_char_property_change instead of
9720 next_single_char_property_change.
9721
3fddcdc3
JR
97222000-07-15 Jason Rumney <jasonr@gnu.org>
9723
9724 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9725 after menu is finished with.
9726 (add_menu_item): Only consider wv->title as a menu title.
9727 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9728
9729 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9730 null title.
9731 (FONT_REGEXP): Remove unused macro, and its sub-components.
9732 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9733
9734 * w32term.c (help_echo_object, help_echo_pos): New variables.
9735 (note_mode_line_highlight): Store additional information about the
9736 help-echo in help_echo_object and help_echo_pos. Check both
9737 `local-map' and `keymap' properties for changing the cursor
9738 (note_mouse_highlight): Store additional information about the
9739 help-echo in help_echo_object and help_echo_pos.
9740 (note_tool_bar_highlight): Set help_echo_object to nil and
9741 help_echo_pos to -1.
9742 (w32_read_socket): Use gen_help_event instead of filling
9743 input_events manually.
9744 (syms_of_w32term): Staticpro help_echo_object.
9745 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9746 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9747 (x_clear_mouse_face): New function.
9748 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9749 (x_update_window_begin): No need to turn off the mouse
9750 highlight here.
9751 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9752 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9753 (x_fill_stretch_glyph_string): Consume runs of stretch
9754 glyphs instead of a single one.
9755 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9756 with new argument list.
9757 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9758 (x_append_glyph, x_append_composite_glyph)
9759 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9760 changes in struct glyph starting 1999-12-27. See comments for
9761 xterm.c on 2000-07-05.
9762
178c5d9c
SS
97632000-07-14 Sam Steingold <sds@gnu.org>
9764
9765 * xfaces.c (realize_x_face): Fix the last patch:
9766 check `default_face' before dereferencing.
9767
6fe533f6
DL
97682000-07-14 Dave Love <fx@gnu.org>
9769
069f5950 9770 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9771
dd7b81cf
KH
97722000-07-14 Kenichi Handa <handa@etl.go.jp>
9773
0693904a 9774 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9775 default_face's fontset, not using the default fontset.
0693904a 9776
dd7b81cf
KH
9777 * coding.c (inhibit_iso_escape_detection): New variable.
9778 (syms_of_coding): Make it a Lisp variable.
9779 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9780 nonzero, ignore ISO2022's escape sequence.
9781
d5aa31d8
GM
97822000-07-14 Gerd Moellmann <gerd@gnu.org>
9783
e5acf0ca
GM
9784 * alloca.c (malloc) [emacs]: Define as xmalloc.
9785
bd23a692
GM
9786 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9787 use that instead of the mouse position. Add parameters DX and DY.
9788
9789 * dispextern.h (Fx_show_tip): Adjust number of parameters
9790 in prototype.
9791
9662da0b
GM
9792 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9793 if HELP is a function, call it with OBJECT and POS as parameters
9794 to get the help to display.
9795 (gen_help_event, kbd_buffer_store_help_event): New functions.
9796 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9797 (read_char): Call show_help_echo with new parameters.
9798
178c5d9c 9799 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9800 Add prototypes.
9801
9802 * xterm.c (help_echo_object, help_echo_pos): New variables.
9803 (note_mode_line_highlight): Store additional information about the
9804 help-echo in help_echo_object and help_echo_pos. Check both
9805 `local-map' and `keymap' properties for changing the cursor
9806 (note_mouse_highlight): Store additional information about the
9807 help-echo in help_echo_object and help_echo_pos.
9808 (note_tool_bar_highlight): Set help_echo_object to nil and
9809 help_echo_pos to -1.
9810 (XTread_socket): Use gen_help_event instead of filling
9811 input_events manually.
9812 (syms_of_xterm): Staticpro help_echo_object.
9813
9814 * xmenu.c (menu_highlight_callback): Use
9815 kbd_buffer_store_help_event instead of setting up and input_event
9816 structure manually.
9817
9818 * xdisp.c (eval_form): GCPRO argument sexpr.
9819 (call_function): New function.
9820 (handle_single_display_prop): Use call_function and FUNCTIONP
9821 instead of checking whether if font_height is a symbol and
9822 using eval_form.
9823
9824 * eval.c (internal_condition_case_2): New function.
9825
9826 * lisp.h (FUNCTIONP): New macro.
9827 (internal_condition_case_2, call_function): Add prototypes.
9828
d5aa31d8
GM
9829 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9830 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9831 Always set `arg' member of input_events.
9832 (construct_menu_click): Unused function removed.
9833
9834 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9835
9836 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9837 (construct_drag_n_drop, x_scroll_bar_handle_click)
9838 (w32_read_socket): Always set `arg' member of input_events.
9839
9840 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9841
9842 * lisp.h (eval_form): Add prototype.
9843
9844 * xdisp.c (eval_form): Make it externally visible.
9845
0f1a9b23
GM
98462000-07-13 Gerd Moellmann <gerd@gnu.org>
9847
9848 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9849 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9850 consing. For prefix events, store the frame in the `arg' slot of
9851 the event, otherwise store the key there.
9852 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9853 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9854
9855 * xmenu.c (menu_highlight_callback): Store help string in the
9856 `arg' member of the input event; don't cons.
9857 (menubar_selection_callback): Use the `arg' slot of input events
9858 to queue additional information, instead of consing.
9859
9860 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9861
9862 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9863 TOOL_BAR_EVENTs.
9864 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9865
9866 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9867 input events to queue additional information, instead of consing.
9868
9869 * keyboard.c (kbd_buffer_gcpro): Renamed from
9870 kbd_buffer_frame_or_window. Now used for all Lisp objects
9871 referenced from the input queue.
9872 (kbd_buffer_store_event): Always use structure assignment for
9873 copying input events. Record all Lisp objects referenced from
9874 events in kbd_buffer_gcpro.
9875 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9876 differently from input events. Test for prefix menu_bar_events
9877 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9878 event in kbd_buffer_gcpro to nil.
9879 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9880 frame_or_window is equal to its arg member as prefix events.
9881 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9882 used by an input event to nil.
9883 (init_keyboard): Use two times the size of the input queue
9884 for kbd_buffer_gcpro.
9885 (syms_of_keyboard): Likewise.
9886
52283633
SM
9887 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9888 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9889
9890 * termhooks.h (struct input_event): Add member `arg'.
9891 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9892 (USER_SIGNAL_EVENT): Renamed from user_signal.
9893
9894 * xfaces.c (ASET): Remove definition.
9895
9896 * lisp.h (AREF, ASET, ASIZE): New macros.
9897
9898 * fontset.c (AREF, ASIZE): Remove definitions.
9899
9900 * fns.c (AREF): Remove definition.
178c5d9c 9901
0f1a9b23
GM
9902 * composite.c (AREF): Remove definition.
9903
712eaef2
GM
99042000-07-12 Gerd Moellmann <gerd@gnu.org>
9905
d8ee7803
GM
9906 * dispnew.c (redraw_overlapped_rows): Add missing local.
9907 (scrolling_window): Remove debug code.
9908
712eaef2
GM
9909 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9910 Before scrolling, turn off a mouse-highlight in the window
9911 being scrolled.
9912
9913 * xterm.c (x_update_window_end): Add parameter
9914 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9915 redisplay in XTframe_up_to_date.
9916 (x_clear_mouse_face): New function.
9917 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9918
9919 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9920 current glyph row.
9921 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9922 it when any row is written to that contains glyphs highlighted in
9923 mouse-face.
9924 (update_window): Call the window update end hook with new
9925 parameter MOUSE_FACE_OVERWRITTEN_P.
9926 (direct_output_for_insert): Give up if row contains mouse-face.
9927
9928 * dispextern.h (struct redisplay_interface): Add parameter
9929 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9930 (clear_mouse_face): New function pointer member.
9931
02010917
SM
99322000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9933
9934 * syntax.c (back_comment): Use one switch rather than a few `if's.
9935 Obey open_paren_in_column_0_is_defun_start.
9936 When reverting to the `slow' method, try to nicely handle the case
9937 of nested comments by checking that the comment-starter we found
9938 does indeed match the comment-ender.
9939 (scan_sexps_forward, scan_sexps_forward):
9940 Ignore excessive opening parenthesis rather than throwing an error.
9941
d76c03ea
GM
99422000-07-11 Gerd Moellmann <gerd@gnu.org>
9943
9944 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9945 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9946
9947 * dispnew.c (direct_output_forward_char): Give up if currently
9948 displaying a message instead of the minibuffer contents.
9949
9950 * xterm.c (x_update_window_begin): No need to turn off the mouse
9951 highlight here.
9952 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9953 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9954
9955 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9956 compare the mouse_face_p flags of both rows.
9957
9958 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9959
d55ead18
EZ
99602000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9961
9962 * keyboard.c (show_help_echo): Accept additional parameter
9963 ok_to_overwrite_keystroke_echo.
9964 (read_char): Call show_help_echo with a zero
9965 ok_to_overwrite_keystroke_echo argument.
52283633 9966 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9967 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9968 ok_to_overwrite_keystroke_echo argument.
9969 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9970 non-zero ok_to_overwrite_keystroke_echo argument.
9971
df75b1a3
GM
99722000-07-10 Gerd Moellmann <gerd@gnu.org>
9973
4b92c49a
GM
9974 * xdisp.c (try_window_id): If changes are all below what is
9975 displayed in the window, and point is in the window, we still
9976 might have to find point on the display.
9977
9978 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9979 glyphs instead of a single one.
9980 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9981 with new argument list.
9982 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9983
df75b1a3
GM
9984 * keymap.c (get_keymap_1): Add comment that this function can GC.
9985 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9986 comment that functions can GC.
9987 (Fset_keymap_parent): GCPRO arg KEYMAP.
9988
4314cf3e
EZ
99892000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9990
9991 * msdos.c (XMenuActivate): After exiting the menu, restore the
9992 echo area message and erase it.
9993
ab49ce15
KH
99942000-07-10 Kenichi Handa <handa@etl.go.jp>
9995
9996 * fontset.c (Ffontset_info): Make the return value more compatible
9997 with that of Emacs 20.
9998
090a072f
GM
99992000-07-07 Gerd Moellmann <gerd@gnu.org>
10000
10001 * eval.c (Fsignal): Handle case that backtrace_list is null.
10002
f92de4a6
KH
100032000-07-07 Kenichi Handa <handa@etl.go.jp>
10004
10005 * ccl.c (Fccl_execute): Typo fixed.
10006
dd8888a1
GM
100072000-07-06 Gerd Moellmann <gerd@gnu.org>
10008
e5c81191 10009 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10010
dd8888a1
GM
10011 * window.c (Fwindow_list): Reverse list at the end.
10012 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10013 means allow windows on OWINDOW's frame, only.
10014 (window_loop): Simplified; use Fwindow_list.
10015
10016 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10017
485266d0
GM
100182000-07-05 Gerd Moellmann <gerd@gnu.org>
10019
10020 * xterm.c (XTread_socket): Increment handling_signal at the start,
10021 decrement it at the end.
10022
10023 * eval.c (handling_signal): New variable.
10024 (Fsignal): Abort if handling_signal is non-zero.
10025
10026 * lisp.h (handling_signal): External declaration.
178c5d9c 10027
485266d0
GM
10028 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10029
80fcd514
KR
100302000-07-05 Ken Raeburn <raeburn@gnu.org>
10031
10032 Sound support for NetBSD through "Linux emulation" support:
10033 * config.in (HAVE_SOUNDCARD_H): Undef.
10034 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10035 * Makefile.in (LIBSOUND): New variable.
10036 (LIBES): Include it.
52283633
SM
10037 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10038 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10039 (vox_open): Use DEFAULT_SOUND_DEVICE.
10040 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10041
d5c5cddd
GM
100422000-07-05 Gerd Moellmann <gerd@gnu.org>
10043
10044 * print.c (print_error_message): If Vsignaling_function is set,
10045 show it in *Messages*.
10046
10047 * lisp.h (Vsignaling_function): External declaration.
10048
10049 * eval.c (Vsignaling_function): New variable.
10050 (Fsignal): Compute it.
10051 (syms_of_eval): Staticpro it.
10052
65171e3a
DL
100532000-07-05 Dave Love <fx@gnu.org>
10054
10055 * syswait.h: Use the autoconf recommended approach. Old code
10056 #if'd out in case we need to revert.
10057
178c5d9c 10058 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10059
e2c46326
AI
100602000-07-05 Andrew Innes <andrewi@gnu.org>
10061
10062 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10063 when non-NULL instead of __morecore, to take account of buffer
10064 memory. This also solves a problem with spurious memory warnings
10065 on Windows.
10066
10067 * ralloc.c: Make real_morecore non-static.
10068
10069 * eval.c (internal_condition_case): Comment out abort if
10070 interrupt_input_blocked is not zero.
10071
10072 * makefile.nt: Add support for `bootstrap' and related targets.
10073 Include minimal debug info in emacs.exe in release build.
10074 Remove all dependencies on lisp.h, and fixup some others.
10075
10076 * w32.c (init_environment): Install code from 20.7 for providing
10077 default values for environment variables, based on the
10078 executable's own location.
52283633 10079 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10080 (sys_socket): Install socket inheritance bug fix from 20.7.
10081
10082 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10083 here via blockinput.h).
10084
a027a91b
SM
100852000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10086
e4b31601
SM
10087 * w32menu.c (w32_menu_display_help):
10088 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10089
10090 * keyboard.h (show_help_echo): Declare.
10091
10092 * keyboard.c (show_help_echo): New function, extracted from read_char.
10093 Feval its `msg' argument if it's a cons cell.
10094 (read_char): Use it.
4cf8d9d5 10095 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10096
178c5d9c 10097 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10098 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10099 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10100 (dos_rawgetc):
10101 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10102 (note_tool_bar_highlight, w32_read_socket):
10103 Do not gratuitously ignore non-string `help-echo' properties.
10104
88d75730
GM
101052000-07-05 Gerd Moellmann <gerd@gnu.org>
10106
969f7e79
GM
10107 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10108
71201b00
GM
10109 * window.c (delete_all_subwindows): Reset Vwindow_list.
10110
88d75730
GM
10111 * xterm.c (x_append_glyph, x_append_composite_glyph)
10112 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10113 changes in struct glyph starting 1999-12-27. Some bit-fields of
10114 struct glyph were not set, which made glyphs unequal when compared
10115 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10116 effects were the result. This also depended on the contents of
10117 memory returned by xmalloc. If flickering happens again, activate
10118 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10119 gone with that, chances are that it is caused by something similar.
88d75730
GM
10120
10121 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10122
88d75730
GM
10123 * dispextern.h: Add some comments.
10124
10125 * window.c (add_window_to_list): Add parameter LIST.
10126 (window_list): Order list so that, for each frame, windows are
10127 in canonical order, and so that frames appear in the list in
10128 the order given by Vframe_list.
10129 (next_window): Reverse the handling of NEXT_P.
10130
53654733
GM
101312000-07-04 Gerd Moellmann <gerd@gnu.org>
10132
87efd256
GM
10133 * window.c (Vwindow_list): New variable.
10134 (make_window, delete_window): Set Vwindow_list to nil.
10135 (check_window_containing): New function.
10136 (window_from_coordinates): Rewritten.
10137 (add_window_to_list, window_list, candidate_window_p)
10138 (decode_next_window_args, next_window): New functions.
52283633 10139 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10140 (Fwindow_list): New function.
10141 (Fother_window): Cleaned up.
10142 (foreach_window): Add a longer "variable argument list". Let
10143 callback function return 0 to indicate that cycling over windows
10144 should stop.
10145 (foreach_window_1): Likewise.
10146 (freeze_window_start): Return int.
10147 (init_window): New function.
10148 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10149
10150 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10151 input_event with bzero.
10152 (main): Call init_window.
10153
53654733
GM
10154 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10155 a menu filter.
10156
4a8c194f
KH
101572000-07-04 Kenichi Handa <handa@etl.go.jp>
10158
10159 * composite.h (make_composition_value_copy): Extern it.
10160
10161 * composite.c (make_composition_value_copy): New function.
10162
10163 * editfns.c (Fformat): While copying text properties, make each
10164 composition property value a copy.
10165
10166 * fns.c (concat): While copying text properties, make each
10167 composition property value a copy.
10168
831a6cb0
GM
101692000-07-03 Gerd Moellmann <gerd@gnu.org>
10170
2f516940
GM
10171 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10172
178c5d9c 10173 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10174 marked already.
10175
831a6cb0
GM
10176 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10177 include those frames as candidates which have their focus
10178 redirected to the minibuffer frame.
10179
d9c4f922
SM
101802000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10181
10182 * fns.c (Fputhash): Return `value' rather than nil.
10183
3780bc22
GM
101842000-06-30 Gerd Moellmann <gerd@gnu.org>
10185
97d176db
GM
10186 * frame.c (next_frame): Don't check focus redirection in case
10187 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10188 unless their focus is redirected, which contradicts the
10189 specification of next-frame, and leads to infinite loops in
10190 certain situations when cycling through windows with next-window.
10191
dca9961d
KH
101922000-06-30 Kenichi Handa <handa@etl.go.jp>
10193
10194 * coding.c (code_convert_region): Even if the length of text is
10195 zero, try to convert it if coding->type is coding_type_ccl.
10196 (decode_coding_string, encode_coding_string): Likewise.
10197
d5483ab1
GM
101982000-06-28 Gerd Moellmann <gerd@gnu.org>
10199
af5c25e1 10200 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10201 the display if windows_or_buffers_changed.
af5c25e1
GM
10202
10203 * dispnew.c (struct row_entry): New structure.
10204 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10205 (row_table_size, old_lines, new_lines, old_lines_size)
10206 (new_lines_size, run_pool, runs_size, runs): New variables.
10207 (add_row_entry): New function.
10208 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10209 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10210 holding them in local variables. Use a larger hash table whose
10211 size depends on glyph matrix sizes. Don't use bzero to clear the
10212 hash table; instead, clear used slots only.
10213
10214 * fns.c (next_almost_prime): Make it externally visible.
10215
10216 * lisp.h (next_almost_prime): Add prototype.
10217
d5483ab1
GM
10218 * s/isc4-0.h (sigunblock): Define.
10219
10220 * s/sco5.h (sigunblock): Define.
10221
93e40f40
DL
102222000-06-27 Dave Love <fx@gnu.org>
10223
10224 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10225 (moved to osf5-0.h).
10226 [!NOT_C_CODE]: Protect string.h stuff.
10227
10228 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10229 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10230
3c4b7685
GM
102312000-06-27 Gerd Moellmann <gerd@gnu.org>
10232
97d176db 10233 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10234 below the last line from the needed window height.
10235
32cad0aa
SM
102362000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10237
10238 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10239 (Fwidget_get): Use it.
10240 (syms_of_fns): Defsubr it.
10241
2c69ced2
GM
102422000-06-26 Gerd Moellmann <gerd@gnu.org>
10243
178c5d9c 10244 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10245 display info for XIM.
10246 (xim_open_dpy): Likewise.
10247 (xim_close_dpy): Don't free the display info's XIM.
10248
10249 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10250
10251 * config.in (USE_XIM): New define.
10252
3fc720e4
GM
10253 * keymap.c (get_keyelt): For menu-items containing a `:filter
10254 FILTER', apply FILTER to the menu-item's definition to get the
10255 real definition to use.
10256
10257 * lisp.h (QCfilter): External declaration.
10258
2c69ced2
GM
10259 * xfns.c (Fimage_size): New function.
10260 (syms_of_xfns): Defsubr it.
10261
f978b2a2
AS
102622000-06-26 Andreas Schwab <schwab@suse.de>
10263
10264 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10265 Fstring_as_unibyte.
10266
94cc7892
DL
102672000-06-25 Dave Love <fx@gnu.org>
10268
52283633 10269 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10270
10271 * Makefile.in (blockinput.h): Depend on atimer.h.
10272 (atimer.h): Depend on systime.h.
10273
52283633 10274 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10275
52283633 10276 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10277
10278 * lisp.h (swap_in_global_binding): Declare.
10279
b8c24556
KR
102802000-06-24 Ken Raeburn <raeburn@gnu.org>
10281
10282 * process.c (Fopen_network_stream): Turn off atimers for duration
10283 of call to connect. (Patch from Gerd.)
10284
8cf8560b
DL
102852000-06-23 Dave Love <fx@gnu.org>
10286
511c7541
DL
10287 * ralloc.c: Maybe include unistd.h
10288
8cf8560b
DL
10289 * emacs.c (setgrp): Undefine before defining.
10290 (malloc_warning, set_time_zone_rule, index): Prototype.
10291
10292 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10293 HAVE_STRUCT_TIMEZONE.
10294
10295 * s/osf1.h: Move string.h hack here from alpha.h and make it
10296 conditional.
10297 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10298 _XOPEN_SOURCE.
10299 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10300 (SOCKLEN_TYPE): Don't define.
10301
10302 * m/alpha.h: Remove string.h hack.
10303
10304 * s/osf5-0.h: New file.
10305
10306 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10307 include time.h, done by systime.h.
10308 [__FreeBSD__]: Remove redundant includes.
10309
3fc720e4 10310 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10311 (delete_temp_file): Return Qnil to avoid warning.
10312
10313 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10314
10315 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10316 HAVE_X_WINDOWS.
10317
10318 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10319
10320 * composite.h (compose_text): Declare.
10321
10322 * xterm.c: Don't include sys/types.h unconditionally. Don't
10323 protect its inclusion with !USG (following xmenu.c).
10324
ea055732
GM
103252000-06-23 Gerd Moellmann <gerd@gnu.org>
10326
10327 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10328 in x_create_frame.
10329
74b01b80
EZ
103302000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10331
10332 * coding.c (decode_eol_post_ccl): Special handling for undecided
10333 and inconsistent EOL types.
10334
64f3a166
GM
103352000-06-22 Gerd Moellmann <gerd@gnu.org>
10336
16cf31f7
GM
10337 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10338 trough color and main window's background color.
10339
52283633 10340 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10341
10342 * xterm.h (Xt_app_con): External declaration.
10343
10344 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10345
486a103d
GM
10346 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10347
64f3a166
GM
10348 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10349 (handle_invisible_prop): Record the start of invisible text in
10350 it->add_overlay_start.
10351 (struct overlay_entry): Add member `overlay'.
10352 (handle_overlay_change): Simplify.
10353 (next_overlay_string): After having processed overlay strings at the
10354 end of the buffer, record that fact in
10355 it->overlay_strings_at_end_processed_p.
10356 (compare_overlay_entries): If before- and after-strings come
10357 from the same overlay, let before-strings come first.
10358 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10359 (load_overlay_strings): Take it->add_overlay_start into account
10360 when adding overlay strings.
10361
10362 * dispextern.h (struct it): Add member add_overlay_start.
10363
bb746ea6
DL
103642000-06-22 Dave Love <fx@gnu.org>
10365
10366 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10367
10368 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10369
a8f573f3
KH
103702000-06-22 Kenichi Handa <handa@etl.go.jp>
10371
10372 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10373 is greater than 0.
10374
9f2bbc92
DL
103752000-06-21 Dave Love <fx@gnu.org>
10376
178c5d9c 10377 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10378
3ee5041c
SM
103792000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10380
10381 * syntax.c (back_comment): Simplify string-parity counting (with
10382 the added benefit of handling multiple string-styles as long as
10383 they are not intertwined).
10384 Jump to the slow code as soon as a comment starter is found in
10385 a "string_lossage" position. Fixes the case: " /* " /* " */.
10386
4c343001
DL
103872000-06-21 Dave Love <fx@gnu.org>
10388
10389 * Makefile.in: Use GETLOADAVG_LIBS.
10390
10391 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10392 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10393
e6365855
SM
103942000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10395
10396 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10397 (Fforward_comment, scan_lists):
10398 Check the comstyle of single-char comment-starters.
10399 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10400 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10401 Check the comstyle of single-char comment-starters.
10402 Clarify control-flow around the Scomment case.
e6365855 10403
5700d2cc
DL
104042000-06-20 Dave Love <fx@gnu.org>
10405
d355bd8a
SM
10406 * fns.c (make_hash_table, maybe_resize_hash_table):
10407 Cast arg of next_almost_prime.
5700d2cc 10408
178c5d9c 10409 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10410
10411 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10412 and unistd.h.
10413
4a27bdfb
GM
104142000-06-20 Gerd Moellmann <gerd@gnu.org>
10415
a61d762c 10416 * keyboard.c (adjust_point_for_property): Check if display
52283633 10417 property should be treated as intangible by looking at its value.
a61d762c 10418
178c5d9c 10419 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10420 (display_prop_intangible_p): New functions.
10421
10422 * dispextern.h (display_prop_intangible_p): Add prototype.
10423
10424 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10425
4a27bdfb
GM
10426 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10427 argument to sigprocmask.
10428
10429 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10430 argument to sigprocmask.
10431
10432 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10433 sigprocmask_set, and pass a pointer to it to sigprocmask.
10434
10435 * sysdep.c (sigprocmask_set): New variable.
10436
10437 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10438 report_file_error.
10439
427ec082
SS
104402000-06-20 Sam Steingold <sds@gnu.org>
10441
10442 * xrdb.c: Don't declare xmalloc, xrealloc.
10443
8972fe79 104442000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10445
10446 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10447 (re_comp): Cast gettext return value to avoid complaints when
10448 !HAVE_LIBINTL.
10449
074b6efe
DL
104502000-06-20 Dave Love <fx@gnu.org>
10451
52283633 10452 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10453
5700d2cc 10454 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10455
d355bd8a 10456 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10457
10458 * m/alpha.h: Don't declare xmalloc, xrealloc.
10459
0af4f205
DL
10460 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10461
10462 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10463
10464 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10465
10466 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10467 HAVE_GETWD.
10468
074b6efe
DL
10469 * keyboard.h (poll_for_input_1): Declare.
10470
10471 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10472
10473 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10474
10475 * doprnt.c: Don't declare xmalloc, xrealloc.
10476
10477 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10478 (getenv, ctime, getwd): Removed.
10479 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10480
10481 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10482 x_set_tool_bar_lines.
10483
10484 * config.in: Add HAVE_GETWD. Move some definitions above
10485 machine/system includes.
10486
68a5e97b
KH
104872000-06-20 Kenichi Handa <handa@etl.go.jp>
10488
95417e1e
KH
10489 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10490
68a5e97b
KH
10491 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10492 contain information about ENCODING.
10493
10494 * fontset.c (FONTSET_ASCII): Use the first element of char table
10495 for an ASCII font, not defalt slot.
10496 (fontset_ref_via_base): If FONTSET doesn't contain information for
10497 C, try the default fontset.
10498 (make_fontset): Don't copy the default fontset.
10499 (fontset_font_pattern): Likewise.
10500 (accumulate_font_info): If ELT is nil, use the corresponding
10501 element in the default fontset.
10502
3b4fa1b2
DL
105032000-06-19 Dave Love <fx@gnu.org>
10504
943e731c
DL
10505 * syntax.c (Fparse_partial_sexp): Doc fix.
10506
10507 * regex.h: Test PROTOTYPES as well as __STDC__.
10508
3b4fa1b2
DL
10509 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10510 errno, strerror. Put text after #endif in comment.
10511
52283633 10512 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10513
10514 * xterm.c (x_frame_of_widget): Likewise.
10515
cdf0357b
GM
105162000-06-19 Gerd Moellmann <gerd@gnu.org>
10517
10518 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10519 to Vfundamental_mode_abbrev_table.
10520
10521 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10522 bogus objects are marked. This slows down GC by ~80 percent, but
10523 it might be worth trying when debugging GC-related problems.
10524 This feature requires conservative stack marking to be enabled.
10525
10526 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10527 returns XLookupChars, reset `modifiers' to zero.
10528
998e9f8c
DL
105292000-06-19 Dave Love <fx@gnu.org>
10530
10531 * mktime.c: Unprotoized.
10532
18e21ce8 105332000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10534
10535 * data.c (set_internal): If variable is frame-local,
10536 store the new value immediately into the frame parameter alist.
10537
140c4ac6
KR
105382000-06-19 Ken Raeburn <raeburn@gnu.org>
10539
14358466
KR
10540 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10541 in the custom handler pointer.
10542
140c4ac6
KR
10543 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10544 value, or checks for CHAR_META can fail when Lisp_Object is a
10545 union type.
10546 * keymap.c (get_keyelt): Likewise.
10547
10d7bf84
KH
105482000-06-19 Kenichi Handa <handa@etl.go.jp>
10549
10550 * ccl.h (struct ccl_program): New member eol_type.
10551 (struct ccl_spec): New member cr_carryover.
10552
10553 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10554 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10555
10556 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10557 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10558 (decode_eol_post_ccl): New function.
10559 (decode_coding): Don't detect EOL format here for CCL based coding
10560 systems.
10561 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10562 decode_eol_post_ccl after running the CCL program.
10563 (code_convert_region): Don't detect EOL format here for CCL based
10564 coding systems.
10565 (decode_coding_string): Likewise.
10566
52e386c2
KR
105672000-06-18 Ken Raeburn <raeburn@gnu.org>
10568
10569 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10570 when treating it as an integer.
10571
10572 * coding.h (encode_coding_string): Declare.
10573
10574 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10575 it as an integer.
10576
10577 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10578 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10579 to be passed to get_local_map.
10580
10581 * sound.c (Fplay_sound): Don't call make_number on
10582 Frun_hook_with_args count argument.
10583
10584 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10585 for lisp objects in X event structure data field, when lisp
10586 objects are represented with unions.
10587 (x_scroll_bar_to_input_event): Ditto.
10588
b357b9d4
KR
105892000-06-16 Ken Raeburn <raeburn@gnu.org>
10590
10591 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10592 termination of string. Fix sense of test whether
10593 Vline_number_display_limit is an integer.
b357b9d4 10594
a871441d
GM
105952000-06-16 Gerd Moellmann <gerd@gnu.org>
10596
a9021acd
GM
10597 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10598 only if HAVE_X_WINDOWS.
10599
6344985d
GM
10600 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10601 of titles.
10602
427ec082 10603 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10604 out of bounds.
10605
228b083e
EZ
106062000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10607
10608 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10609 of its headers.
10610
c25b53a2
KH
106112000-06-15 Kenichi Handa <handa@etl.go.jp>
10612
10613 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10614 start of the while loop.
10615
a6981b11
GM
106162000-06-15 Gerd Moellmann <gerd@gnu.org>
10617
e9924e52
GM
10618 * atimer.c (alarm_signal_handler): Add forward declaration.
10619
a6981b11
GM
10620 * data.c (set_internal): Remove debug code.
10621
25fa6deb
GM
106222000-06-14 Gerd Moellmann <gerd@gnu.org>
10623
dce6b995
GM
10624 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10625
9f817ea4
GM
10626 * unexec.c (toplevel) [COFF]: Include coff.h.
10627
10628 * s/lynxos.h: New file.
10629
10630 * keymap.c (Fsingle_key_description): Enclose function key and
10631 event symbol names in angle brackets.
10632
8a4e3c0c
GM
10633 * xdisp.c (setup_echo_area_for_printing): Call
10634 message_log_maybe_newline if message_buf_print is not set.
10635
10636 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10637 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10638 function does something useful even when message_buf_print is
10639 already set.
10640
52283633
SM
10641 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10642 New variables.
25fa6deb
GM
10643 (ensure_echo_area_buffers): Initialize echo buffer's
10644 truncate lines setting to nil.
10645 (with_echo_area_buffer): Don't set the echo buffer's truncate
10646 lines setting here.
8a4e3c0c 10647 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10648 of message_truncate_lines.
10649 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10650 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10651 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10652
10653 * keyboard.c (read_char): Bind message-truncate-lines to t
10654 while displaying a help-echo.
10655
10656 * lisp.h (Qmessage_truncate_lines): External declaration.
10657
163dcff3
GM
106582000-06-13 Gerd Moellmann <gerd@gnu.org>
10659
1681ead6
GM
10660 * xdisp.c (Vline_number_display_limit): Renamed from
10661 line_number_display_limit.
10662 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10663 Extend documentation string. Initialize
10664 Vline_number_display_limit to nil meaning no limit.
10665 (decode_mode_spec): Use Vline_number_display_limit with its new
10666 meaning.
10667
163dcff3
GM
10668 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10669
18e21ce8 106702000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10671
10672 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10673
163dcff3
GM
10674 * xfns.c (x_set_frame_parameters): Comment fix.
10675
10676 * frame.c (store_frame_param): Call swap_in_global_binding if the
10677 variable's current binding was chosen based on this frame.
10678
10679 * data.c (swap_in_global_binding): New function.
10680
a704139d
EZ
106812000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10682
10683 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10684 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10685
9b6610db
EZ
106862000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10687
10688 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10689
c68833d2
JR
106902000-06-12 Jason Rumney <jasonr@gnu.org>
10691
10692 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10693
10694 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10695
10696 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10697
10698 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10699
ed1056b3
GM
107002000-06-12 Gerd Moellmann <gerd@gnu.org>
10701
10702 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10703 (syms_of_xfaces): Defsubr Sdump_colors.
10704 (x_free_colors): Don't treat b&w specially on default visual.
10705 (x_free_dpy_colors): New function.
10706 (free_face_colors): Don't check visual class; it's done
10707 in x_free_colors.
10708
10709 * xterm.c (x_frame_of_widget): New function.
10710 (x_alloc_nearest_color_for_widget): Use it.
10711 (x_copy_dpy_color): New function.
10712 (x_destroy_window): Free various colors.
10713
5050a2ef
KH
107142000-06-12 Kenichi Handa <handa@etl.go.jp>
10715
10716 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10717
10718 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10719
10720 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10721
10722 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10723
10724 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10725
fb1b041d
DL
107262000-06-11 Dave Love <fx@gnu.org>
10727
10728 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10729
ff96b5f4
EZ
107302000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10731
10732 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10733
db8eeecd
GM
107342000-06-11 Gerd Moellmann <gerd@gnu.org>
10735
ed1056b3 10736 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10737 to `XEvent *'.
10738
49b71c5f
KH
107392000-06-10 Kenichi Handa <handa@etl.go.jp>
10740
c479bd55
KH
10741 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10742 (regex_compile): Fix the code for handling the case of single byte
10743 char and multibyte char being mixed in a range within [...].
10744
ff6a65c2
KH
10745 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10746 and dst_multibyte members of coding.
10747
49b71c5f
KH
10748 * charset.c (update_charset_table): Update the table
10749 bytes_by_char_head.
10750 (init_charset_once): Initialize elements of bytes_by_char_head to
10751 1 except for leading codes for private charases.
10752
10753 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10754 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10755
9e80b57d
KR
107562000-06-09 Ken Raeburn <raeburn@gnu.org>
10757
10758 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10759 access the data it doesn't point to.
10760
f83fe4b4
GM
107612000-06-08 Gerd Moellmann <gerd@gnu.org>
10762
10763 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10764 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10765 event queue. This is necessary because Emacs otherwise won't
10766 perform a switch-frame to a new frame until some other event, for
10767 example a keystroke event, forces it to do so. This has various
10768 effects, one visible being that the cursor of a frame created with
10769 C-x 5 2 or switched to with a window manager key binding like
10770 A-TAB stays hollow because selected_window isn't on the newly
10771 focused frame until the switch-frame is performed.
10772
10773 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10774 generating a switch-frame event if necessary.
10775
10776 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10777
10778 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10779 it's an integer.
10780
0890801b
KH
107812000-06-08 Kenichi Handa <handa@etl.go.jp>
10782
52283633 10783 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10784
173cbca8
GM
107852000-06-07 Gerd Moellmann <gerd@gnu.org>
10786
3091c2a6
GM
10787 * window.c (displayed_window_lines): Take empty lines at
10788 the bottom of a window into account.
427ec082 10789
f38952fe
GM
10790 * window.c (displayed_window_lines): New function.
10791 (Fmove_to_window_line): Use displayed_window_lines to determine
10792 the number of lines to move, instead of using the window's height.
10793
10794 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10795 to stop reading, even if the form read sets point to a different
10796 value when evaluated.
10797
427ec082 10798 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10799 put the cursor.
10800
6ba6c818
KH
108012000-06-07 Kenichi Handa <handa@etl.go.jp>
10802
10803 * fileio.c (e_write): Free composition data if stored in
10804 coding->cmp_data.
10805
5f1aea9a
GM
108062000-06-06 Gerd Moellmann <gerd@gnu.org>
10807
666852af
GM
10808 * xdisp.c (display_line): Set row's and iterator's
10809 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10810 Set cursor even if row ends in the middle of a character.
10811 (dump_glyph_row): Print values of new flags.
10812 (redisplay_window) <cursor movement in unchanged window>: When
10813 point has been moved forward, and PT is at the end of the cursor
10814 row, don't place the cursor in the next row if the cursor row ends
10815 in the middle of a character or at ZV.
10816
10817 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10818 (struct glyph_row): Add starts_in_middle_of_char_p and
10819 ends_in_middle_of_char_p.
10820 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10821 ends_in_middle_of_char_p flag.
10822 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10823
d13f3e2e
GM
10824 * term.c (append_glyph): Revert change of 2000-06-06.
10825
10826 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10827 padding glyph not fitting on line as whole character not
10828 fitting on line.
10829
5f1aea9a
GM
10830 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10831 this isn't true for images with `:ascent 100'.
10832
10cda9b0
KH
108332000-06-06 Kenichi Handa <handa@etl.go.jp>
10834
ed00559d
KH
10835 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10836 as modified if it is originally unmodified.
10837
10cda9b0
KH
10838 * term.c (encode_terminal_code): Change the way to check if
10839 terminal coding does any conversion.
10840 (append_glyph): Set glyph->pixel_width correctly.
10841
10842 * xdisp.c (display_line): While checking line continuation, pay
10843 attention to a padding glyph.
10844
1969fae2
GM
108452000-06-05 Gerd Moellmann <gerd@gnu.org>
10846
10847 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10848
162ccef4
DL
108492000-06-05 Dave Love <fx@gnu.org>
10850
f19f32dd
DL
10851 * xdisp.c: Include fontset.h.
10852
10853 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10854
10855 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10856
10857 * dispnew.c: Conditionally include term.h.
10858
10859 * coding.h: Declare code_convert_string_norecord.
10860
10861 * frame.h (struct frame): Use volatile unconditionally.
10862
10863 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10864
10865 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10866
10867 * systime.h: Protect against multiple inclusion.
10868 (timezone) [USG5_4]: Define as time_t.
10869
10870 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10871 (Foptimize_char_table, make_temp_name): Declare.
10872
10873 * Makefile.in (xdisp.o): Depend on fontset.h.
10874
10875 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10876
10877 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10878 (Foptimize_char_table, make_temp_name): Declare.
10879
427ec082 10880 * s/irix4-0.h:
162ccef4
DL
10881 * s/irix5-0.h:
10882 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10883
2082fe81
DL
108842000-06-02 Dave Love <fx@gnu.org>
10885
10886 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10887
dcf671d2
GM
108882000-06-02 Gerd Moellmann <gerd@gnu.org>
10889
10890 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10891 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10892 be freed.
10893
10894 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10895 glyph, use the ASCII NUL character to determine the face.
10896
d42122a3
DL
108972000-06-02 Dave Love <fx@gnu.org>
10898
10899 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10900 (VFORK_RETURN_TYPE): Remove.
427ec082 10901
d42122a3
DL
10902 * config.in: Add NO_MATHERR.
10903
dd432f16
DL
109042000-06-01 Dave Love <fx@gnu.org>
10905
90aa4ea8
DL
10906 * cmds.c (internal_self_insert): Don't check
10907 Vbefore_change_function, Vafter_change_function.
10908
10909 * insdel.c (signal_before_change, signal_after_change): Likewise.
10910
10911 * buffer.c (Vbefore_change_function, Vafter_change_function):
10912 Variables and their initializations deleted.
10913
2330c9d4
DL
10914 * callint.c (Fcall_interactively): Doc fix.
10915
dd432f16
DL
10916 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10917
bf9e8804
DL
109182000-05-31 Dave Love <fx@gnu.org>
10919
10920 * textprop.c: Revert last change -- duplicated.
10921
3694b4ab
GM
109222000-05-31 Gerd Moellmann <gerd@gnu.org>
10923
10924 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10925 in #if 0.
10926
10927 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10928
f14156cd
JR
109292000-05-31 Jason Rumney <jasonr@gnu.org>
10930
8119aab8
JR
10931 * search.c (Fre_search_forward, Fre_search_backward)
10932 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10933
f14156cd
JR
10934 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10935
4aab9be3
JR
109362000-05-30 Jason Rumney <jasonr@gnu.org>
10937
10938 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10939 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10940
52283633 10941 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10942
10943 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10944 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10945 expand a nil default_filename.
10946
10947 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10948 pointer to glyph_to_pixel_coords, not a frame.
10949
10950 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10951 coding.h to dependencies.
10952
10953 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10954
10955 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10956 window pointer to be consistent with w32term.c and xterm.c.
10957
10958 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10959 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10960 (Qline_spacing, Qcenter): New variables.
10961 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10962 (x_set_line_spacing): New function.
52283633 10963 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10964 (x_specified_cursor_type): New function.
10965 (x_set_cursor_type): Use it.
10966 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10967 and icon strings.
10968 (validate_x_resource_name, x_get_resource_string): Measure lengths
10969 of external strings in bytes.
10970 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10971 GetTextExtentPoint32 with NULL title.
10972 (Fx_create_frame): Initialize Qline_spacing.
10973 (w32_load_system_font): Initialize font->double_byte_p.
10974 (x_to_w32_charset): Use Vw32_charset_info_alist.
10975 (Image, busy cursor, tooltip functions): Merged changes from
10976 xfns.c. Not yet functional on Windows.
10977
10978 * w32gui.h (W32FontStruct): Add double_byte_p member.
10979
10980 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10981 (emacs_button_translation): Use it.
10982 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10983 in `mask' to be set.
10984
10985 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10986 menu strings.
10987
10988 * w32term.c: Format and doc changes to bring closer to xterm.c.
10989 (w32_char_font_type): New enum.
10990 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10991 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10992 (w32_encode_char): New function.
10993 (x_encode_char): Removed.
10994 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10995 x_encode_char and w32_font_is_double_byte.
10996 (x_produce_image_glyph): Use image_ascent.
10997 (x_produce_glyphs): Use new version of w32_per_char_metric and
10998 handle NULL return value. Allow extra line spacing.
10999 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11000 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11001 w32_font_type member of glyph instead.
11002 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11003 (fast_find_position): Make sure not to consider rows not visible
11004 in the window.
11005 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11006 w32_menu_display_help with input blocked, as it can abort.
11007 (x_display_and_set_cursor): Choose cursor depending
11008 on buffer-local value of cursor_type.
11009 (x_draw_bar_cursor): Add parameter WIDTH.
11010
11011 * w32term.h (CP_DEFAULT): Define.
11012 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11013
10fc3187
GM
110142000-05-30 Gerd Moellmann <gerd@gnu.org>
11015
11016 * search.c (Fre_search_forward, Fre_search_backward)
11017 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11018
d0555360
KH
110192000-05-30 Kenichi Handa <handa@etl.go.jp>
11020
11021 * coding.c (detect_coding_iso2022): Fix code for checking
11022 CODING_CATEGORY_MASK_ISO_8_2.
11023
f1ad044f
SM
110242000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11025
11026 * regex.c (PREFETCH_NOLIMIT): New function.
11027 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11028
84ec3b4b
GM
110292000-05-29 Gerd Moellmann <gerd@gnu.org>
11030
66254a13
GM
11031 * syntax.c (find_defun_start): Move test for
11032 open_paren_in_column_0_is_defun_start outside of the loop.
11033
49e70dec
GM
11034 * xdisp.c (redisplay_window): Really switch buffers when
11035 displaying mode lines, and temporarily set selected_frame to the
11036 frame of the window that's redisplayed.
11037
84ec3b4b
GM
11038 * xfaces.c (free_realized_faces): Block/unblock input.
11039 (free_realized_multibyte_face): Ditto.
11040
869a3a14
DL
110412000-05-29 Dave Love <fx@gnu.org>
11042
11043 * textprop.c (Qkeymap): New variable.
11044 (syms_of_textprop): Intern it.
11045
11046 * keymap.c: Include intervals.h.
11047 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11048
11049 * Makefile.in (keymap.o): Depend on intervals.h.
11050
11051 * keyboard.c (menu_bar_items, tool_bar_items)
11052 (Fexecute_extended_command): Deal with `keymap' property.
11053 (read_key_sequence): Track map from `keymap' property as well as
11054 `local_map'.
11055
11056 * intervals.c (get_local_map): Extra arg to allow looking for
11057 `keymap' too.
11058
11059 * intervals.h (map_property): New enum.
11060 (get_local_map): Extra arg using it.
11061 (Qkeymap): Declare.
11062
84ec3b4b 11063 * lisp.h (get_local_map): Don't declare here.
869a3a14 11064
89d0c844
KH
110652000-05-29 Kenichi Handa <handa@etl.go.jp>
11066
11067 * Makefile.in (callproc.o): Depend on composite.h.
11068
11069 * callproc.c: Include composite.h.
11070 (Fcall_process): Handle composition correctly.
11071
11072 * coding.h (coding_allocate_composition_data): Extern it.
11073 (coding_restore_composition): Likewise.
11074
11075 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11076 yet allocated, finish decoding with result
11077 CODING_FINISH_INSUFFICIENT_CMP.
11078 (coding_allocate_composition_data): Make it non-static.
11079 (coding_restore_composition): Likewise.
11080
797a084a
EZ
110812000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11082
11083 * charset.c (syms_of_charset): Revert last change.
11084
cf872af5
EZ
110852000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11086
11087 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11088 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11089 Handa.
cf872af5 11090
5b1ae051
EZ
110912000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11092
11093 * charset.c (syms_of_charset): Set width of character sets
11094 eight-bit-control and eight-bit-graphic to 1 column.
11095
34ec9ebe
GM
110962000-05-26 Gerd Moellmann <gerd@gnu.org>
11097
11098 * config.in (HAVE_SPEED_T): New define.
11099
11100 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11101 `extern speed_t'.
11102
dd854dc2
DL
111032000-05-26 Dave Love <fx@gnu.org>
11104
11105 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11106
11107 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11108 (Fsubr_arity): New function.
11109 (syms_of_data): Install them.
11110
ba9f8f95
KH
111112000-05-26 Kenichi Handa <handa@etl.go.jp>
11112
0f3e0672
KH
11113 * charset.c (init_charset_once): Set the table bytes_by_char_head
11114 correctly.
11115
cebefb44
KH
11116 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11117 the default fontset to what Emacs uses by default.
0f3e0672
KH
11118 (check_registry_encoding): This function deleted.
11119 (Fset_fontset_font): Remove the adhoc condition for the default
11120 fontset. Allow cons in FONTNAME.
cebefb44 11121
0f3e0672
KH
11122 * fns.c (map_char_table): Ignore char-table entries for
11123 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11124
7a18af49
KR
111252000-05-25 Ken Raeburn <raeburn@gnu.org>
11126
11127 * emacs.c (main): Initialize keyboard syms before initializing
11128 window code, so face names are available.
11129
d2af47df
SM
111302000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11131
11132 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11133 of an anchor at the beginning of a shy-group.
11134
fc6a6a4e
GM
111352000-05-25 Gerd Moellmann <gerd@gnu.org>
11136
11137 * xdisp.c (handle_invisible_prop): Don't try to skip over
11138 invisible text if end of text is already reached.
11139
005f0d35
DL
111402000-05-25 Dave Love <fx@gnu.org>
11141
02513cdd
DL
11142 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11143
005f0d35
DL
11144 * coding.c (encode_eol): Add null statement after label.
11145
89f6ca4e
EZ
111462000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11147
11148 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11149 2000-05-20.
11150
a4e1759e
KH
111512000-05-25 Kenichi Handa <handa@etl.go.jp>
11152
11153 * ccl.c (ccl_driver): Fix previous change.
11154
eacfd7fe
KH
111552000-05-25 Kenichi Handa <handa@etl.go.jp>
11156
46ab33a9
KH
11157 * coding.c (run_pre_post_conversion_on_str): Set point to the
11158 beginning of buffer before calling coding->post_read_conversion.
11159 (decode_coding_string): Give correct args to
11160 run_pre_post_conversion_on_str.
11161 (encode_coding_string): Likewise.
11162
eacfd7fe
KH
11163 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11164 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11165 eight-bit-graphic correctly.
11166
f8569325
DL
111672000-05-24 Kenichi HANDA <handa@etl.go.jp>
11168
11169 * fileio.c (Finsert_file_contents): Even if a file is not found,
11170 execute codes for setting up coding system. Call
11171 after-insert-file-functions unconditionally.
11172
04545643
GM
111732000-05-24 Gerd Moellmann <gerd@gnu.org>
11174
11175 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11176 BSD_PGRPS are not defined.
11177
747d90ea
KH
111782000-05-24 Kenichi Handa <handa@etl.go.jp>
11179
11180 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11181 DESCRIPTION.
11182 (syms_of_charset): Avoid building same strings.
11183
716e3b88
GM
111842000-05-23 Gerd Moellmann <gerd@gnu.org>
11185
11186 * lread.c (Fload): Add a comment about the meaning of
11187 Vuser_init_file being t.
11188
11189 * puresize.h (BASE_PURESIZE): Increase to 675000.
11190
11191 * s/gnu-linux.h (setpgrp): Don't define it here because this
11192 prevents compilation on GNU/Linux systems with glib 2.2.
11193
11194 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11195 as setpgid.
427ec082 11196
9aeb39fa
EZ
111972000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11198
11199 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11200 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11201 version.
11202 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11203
29ced61b
KH
112042000-05-23 Kenichi Handa <handa@etl.go.jp>
11205
52283633 11206 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11207
3d80f24d
KH
11208 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11209
52283633 11210 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11211
29ced61b
KH
11212 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11213
d7e00792
KH
112142000-05-22 Kenichi Handa <handa@etl.go.jp>
11215
c9d80d38
KH
11216 * keyboard.c (read_char): Allow character codes 128..255 to be
11217 handled by input-method-function.
11218
d7e00792
KH
11219 * insdel.c (adjust_markers_for_replace): Fix previous change.
11220 (adjust_after_replace): If PREV_TEXT is nil, call
11221 adjust_markers_for_insert, not adjust_markers_for_replace.
11222
087121cc 112232000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11224
087121cc
GM
11225 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11226 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11227 [HAVE_GRANDPT]: Define.
11228 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11229
11230 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11231 like SYSV_PTYS.
11232
11233 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11234
11235 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11236
c9671f81
KH
112372000-05-20 Kenichi Handa <handa@etl.go.jp>
11238
11239 The following changes are to handle 8-bit characters in a
11240 multibyte buffer/string without facing with byte combining
11241 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11242 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11243
11244 * Makefile.in (fns.o): Depend on charset.h.
11245
11246 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11247 convert it to unibyte.
11248 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11249
11250 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11251 apparent char boundary.
11252 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11253 0x80..0x9F to/from multibyte form.
11254
11255 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11256 to unibyte.
11257
11258 * callproc.c (Fcall_process): Always encode an argument string if
11259 it is multibyte. Setup src_multibyte and dst_multibyte members of
11260 process_coding properly.
ce75fd23 11261
c9671f81
KH
11262 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11263 SPLIT_NON_ASCII_CHAR.
11264
11265 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11266 as is.
11267 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11268
52283633 11269 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11270 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11271 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11272 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11273 and eight-bit-graphic.
11274 (char_to_string): Likewise. Signal an error for too large
11275 character code.
11276 (char_printable_p): Return 0 for 8-bit characters.
11277 (update_charset_table): Update iso_charset_table only when a final
11278 character is non-negative.
11279 (find_charset_in_text): Renamed from find_charset_in_str.
11280 Arguments and return value changed. Callers changed.
11281 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11282 be -1 if CHARSET is used only internally.
11283 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11284 eight-bit-graphic.
11285 (Fcharset_after): Simplified.
11286 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11287 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11288 (multibyte_chars_in_text): Simplified by assuming there's no
11289 invalid multibyte sequence.
52283633
SM
11290 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11291 (str_as_unibyte): New functions.
11292 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11293 (init_charset_once): Initialization for
11294 LEADING_CODE_8_BIT_CONTROL.
11295 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11296 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11297 eight-bit-control and eight-bit-graphic.
11298
52283633
SM
11299 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11300 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11301 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11302 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11303 (CHARSET_REVERSE_CHARSET): Likewise.
11304 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11305 eight-bit-graphic.
11306 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11307 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11308 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11309 encounter an invalid multibyte sequence.
11310 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11311 sequence is always valid.
11312 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11313 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11314 (CHAR_STRING): For 8-bit characters, call char_to_string.
11315 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11316 multibyte sequence is always valid.
11317 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11318 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11319 (str_as_unibyte): Extern them.
c9671f81 11320 (BCOPY_SHORT): Fix a bug.
52283633 11321 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11322 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11323 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11324 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11325
bd4bde7f 11326 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11327 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11328 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11329 (EMIT_BYTES): New macros.
11330 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11331 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11332 macros deleted.
11333 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11334 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11335 check the validity of multibyte sequence.
11336 (decode_coding_emacs_mule): New function.
11337 (encode_coding_emacs_mule): New macro.
11338 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11339 the source.
11340 (DECODE_ISO_CHARACTER): Just return a character code.
11341 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11342 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11343 EMIT_CHAR to produced decoded characters. Exit the loop only by
11344 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11345 block here.
11346 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11347 only position codes for an invalid character.
11348 (encode_designation_at_bol): Return new destination pointer. 5th
11349 arg DSTP is changed to DST.
11350 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11351 from the source by ONE_MORE_CHAR. Don't handle the case of last
11352 block here.
11353 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11354 macros deleted.
52283633
SM
11355 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11356 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11357 TWO_MORE_BYTES to fetch a byte from the source.
11358 (encode_eol): Pay attention to coding->src_multibyte.
11359 (detect_coding, detect_eol): Preserve members src_multibyte and
11360 dst_multibyte.
11361 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11362 (encoding_buffer_size): Set magnification to 3 for all coding
11363 systems that require encoding.
11364 (ccl_coding_driver): For decoding, be sure that the result is
11365 valid multibyte sequence.
11366 (decode_coding): Initialize coding->errors and coding->result.
11367 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11368 and raw-text, always call decode_eol. Handle the case of last
11369 block here. If not coding->dst_multibyte, convert the resulting
11370 sequence to unibyte.
11371 (encode_coding): Initialize coding->errors and coding->result.
11372 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11373 and raw-text, always call encode_eol. Handle the case of last
11374 block here.
11375 (shrink_decoding_region, shrink_encoding_region): Detect cases
11376 that we can't skip data more rigidly.
11377 (code_convert_region): Setup src_multibyte and dst_multibyte
11378 members of coding. For decoding, if the buffer is multibyte,
11379 convert the source sequence to unibyte in advance. For encoding,
11380 if the buffer is multibyte, convert the resulting sequence to
11381 multibyte afterward.
11382 (run_pre_post_conversion_on_str): New function.
11383 (code_convert_string): Deleted and divided into the following two.
11384 (decode_coding_string, encode_coding_string): New functions.
11385 (code_convert_string1, code_convert_string_norecord): Call one of
11386 above.
11387 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11388 MAKE_NON_ASCII_CHAR.
52283633
SM
11389 (Fset_terminal_coding_system_internal)
11390 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11391 and dst_multibyte members.
11392 (init_coding_once): Initialize iso_code_class with new enum
11393 ISO_control_0 and ISO_control_1.
11394
11395 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11396 devided into ISO_control_0 and ISO_control_1.
11397 (struct coding_system): New members src_multibyte, dst_multibyte,
11398 errors, and result. Delete member fake_multibyte.
11399 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11400 nonzero.
11401 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11402 nonzero.
11403
11404 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11405 (Faset): Likewise.
11406
11407 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11408 multibyte form.
11409 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11410 combining occurs.
11411 (Ftranspose_region): Delete codes for handling byte combining.
11412
11413 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11414 dst_multibyte members of coding. On handling REPLACE on unibyte
11415 buffer, convert the result of decode_coding to unibyte. On
11416 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11417 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11418 multibyteness of the source (buffer or string).
11419
11420 * fns.c (concat): Handle 8-bit characters correctly.
11421 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11422 unibyte in the result.
11423 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11424 valid multibyte form in the result.
11425 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11426 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11427 return -1, signal an error.
11428 (base64_encode_1): New arg MULTIBYTE. Get each character by
11429 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11430 character is found, return -1.
11431 (Fbase64_decode_region): Delete codes for handling byte-combining.
11432 Treat each decoded byte as a unibyte character.
11433 (Fbase64_decode_string): Return unibyte string.
11434 (Fcompare_strings, concat, string_byte_to_char): Use
11435 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11436 FETCH_STRING_CHAR_ADVANCE.
11437 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11438 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11439
11440 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11441 SPLIT_NON_ASCII_CHAR.
11442 (fontset_ref_via_base, fontset_set): Likewise
11443
11444 * insdel.c (adjust_markers_for_record_delete): Deleted.
11445 (adjust_markers_for_insert): Argument changed. Caller changed.
11446 (adjust_markers_for_replace): Likewise.
52283633
SM
11447 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11448 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11449 (copy_text): Delete unused local varialbe c_save. For converting
11450 to multibyte, be sure to make all 8-bit characters in valid
11451 multibyte form.
11452 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11453 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11454 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11455 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11456 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11457 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11458 handling byte combining.
11459 (adjust_before_replace): Deleted.
427ec082 11460
c9671f81
KH
11461 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11462 SPLIT_NON_ASCII_CHAR.
11463 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11464 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11465 (Fkey_description): Likewise.
11466
11467 * lread.c (read1): On reading multibyte string, be sure to make
11468 all 8-bit chararacters in valid multibyte form.
11469 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11470
11471 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11472 unconditionally.
11473
11474 * process.c (Fstart_process): GCPRO current_dir before calling
11475 Ffind_operation_coding_system. Encode arguments here.
11476 (create_process): Don't encode arguments here. Setup
11477 src_multibyte and dst_multibyte members of struct coding.
11478 (read_process_output): Setup src_multibyte and dst_multibyte
11479 members of struct coding. If the output is to multibyte buffer,
11480 always decode the output of the process. Adjust the
52283633 11481 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11482 (send_process): Setup coding->src_multibyte according to the
11483 multibyteness of the source.
11484
52283633 11485 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11486 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11487 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11488
52283633 11489 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11490
11491 * w16select.c (Fw16_set_clipboard_data): Setup members
11492 src_multibyte and dst_multibyte of coding. Adjusted for the
11493 change for find_charset_in_str.
11494 (Fw16_get_clipboard_data): Likewise.
11495
11496 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11497 dst_multibyte of coding.
11498 (x_to_w32_font): Likewise.
11499
11500 * w32select.c (Fw32_set_clipboard_data): Setup members
11501 src_multibyte and dst_multibyte of coding. Adjusted for the
11502 change for find_charset_in_str.
11503 (Fw32_get_clipboard_data): Likewise.
11504
11505 * xdisp.c (get_next_display_element): Handle 8-bit characters
11506 correctly.
52283633
SM
11507 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11508 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11509
11510 * xselect.c (selection_data_to_lisp_data): Setup members
11511 src_multibyte and dst_multibyte of coding. Adjusted for the
11512 change for find_charset_in_str.
11513 (lisp_data_to_selection_data): Likewise.
11514
5f64c9e0
GM
115152000-05-19 Gerd Moellmann <gerd@gnu.org>
11516
52283633 11517 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11518
5f64c9e0
GM
11519 * dispextern.h (Vimage_types): Add extern declaration.
11520
11521 * xdisp.c (Vimage_types): Moved here from xfns.c.
11522 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11523
11524 * xfns.c (Vimages_types): Moved to xdisp.c.
11525 (syms_of_xfns): Move `image-types' to xdisp.c.
11526
11527 * w32fns.c (Vimage_types): Removed.
11528 (syms_of_w32fns): Remove `image-types'.
11529
813086ea
KH
115302000-05-18 Kenichi Handa <handa@etl.go.jp>
11531
11532 * fns.c (map_char_table): Pay attention to character number of
11533 charset. Check the validity of charset at the first level. For
11534 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11535 the default value.
11536
11537 * fontset.c: Include "buffer.h".
11538 (fs_load_font): If the face has fontset, record the face ID in
11539 that fontset.
11540 (Finternal_char_font): New function.
11541 (accumulate_font_info): New function.
11542 (Ffontset_info): Rewritten for the new fontset implementation.
11543 (syms_of_fontset): Register Vdefault_fontset in the first element
11544 of Vfontset_table. Include Vdefault_fontset in
11545 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11546 function.
11547
bdaebbf0
DL
115482000-05-16 Dave Love <fx@gnu.org>
11549
11550 * m/iris5d.h: Deleted -- unused.
11551
cb613bb8
GM
115522000-05-16 Gerd Moellmann <gerd@gnu.org>
11553
b15f3b77
GM
11554 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11555 `invalid' instead of `illegal'.
11556
11557 * indent.c (Fmove_to_column): When ending within a tab, insert
11558 spaces first so that markers at the end of the tab get adjusted.
11559
835c1b36
GM
11560 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11561 buffer list that wasn't selected in that frame.
11562
cb613bb8
GM
11563 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11564 is needed on mescaline, use a 2 char prefix, and call
11565 make_temp_name with second arg non-zero.
11566
11567 * fileio.c (make_temp_name): New function, extracted from
11568 Fmake_temp_name.
11569 (Fmake_temp_name): Use it.
11570
f685bea9
EZ
115712000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11572
52283633 11573 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11574
a1b8d58b
GM
115752000-05-15 Gerd Moellmann <gerd@gnu.org>
11576
11577 * Makefile.in (lisp): Add env.elc.
11578
11579 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11580
a265079f
GM
115812000-05-12 Gerd Moellmann <gerd@gnu.org>
11582
11583 * search.c (Freplace_match): Handle case of `\N' in the
11584 replacement when there's no group N.
11585
da4496b6
GM
115862000-05-11 Gerd Moellmann <gerd@gnu.org>
11587
0ace421a
GM
11588 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11589 of the message to message_dolog.
11590
1172eb8d
GM
11591 * keyboard.c (read_char): Don't clear current message for help
11592 events; let the code handling help events handle this. Change
11593 code detecting help events that should be ignored.
11594
da4496b6
GM
11595 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11596 we're interating over a string.
11597
0623e40f
DL
115982000-05-09 Dave Love <fx@gnu.org>
11599
11600 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11601 that offset before writing. Move gcpro region past call of
11602 Ffile_regular_p.
11603
bae2503b
DL
116042000-05-04 Dave Love <fx@gnu.org>
11605
11606 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11607
ec82fb2f
GM
116082000-05-04 Gerd Moellmann <gerd@gnu.org>
11609
11610 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11611 of inserted characters when BUF equals the current buffer, and PT
11612 is in front of or equal to FROM.
11613
cbf18892
GM
116142000-05-03 Gerd Moellmann <gerd@gnu.org>
11615
4ff40dd0
GM
11616 * xdisp.c (handle_single_display_prop): If display property value
11617 is invalid, or something not supported on the frame, restore
11618 iterator's position to what it was initially. Make sure to return
11619 0 for invalid and unsupported property values.
11620
cbf18892
GM
11621 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11622 that x_per_char_metric returns null.
11623
1b0672c3
GM
116242000-05-02 Gerd Moellmann <gerd@gnu.org>
11625
576da55d
GM
11626 * xterm.h (struct face): Add forward declaration.
11627 (struct image): Ditto.
11628 (image_ascent): Add prototype.
11629
11630 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11631 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11632 image_ascent instead of using IMAGE_ASCENT.
11633
11634 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11635 (IMAGE_ASCENT): Removed.
11636
11637 * xfns.c (Qcenter): New variable.
11638 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11639 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11640 (image_ascent): New function.
11641 (lookup_image): Recognize `:ascent center'.
11642 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11643 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11644 (xbm_load): Don't set image's ascent here.
11645 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11646 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11647 check ascent values here.
11648 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11649 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11650 (syms_of_xfns): Initialize Qcenter.
11651
1b0672c3
GM
11652 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11653 to the limits, increase the limits.
11654
0d7811ed
KH
116552000-05-01 Kenichi Handa <handa@etl.go.jp>
11656
11657 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11658 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11659
a943a5ca
GM
116602000-04-28 Gerd Moellmann <gerd@gnu.org>
11661
11662 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11663 taller than the window.
11664
5dba1e29
KH
116652000-04-28 Kenichi Handa <handa@etl.go.jp>
11666
11667 * xfaces.c (realize_x_face): Fix the argument of the second
11668 xassert. BASE_FACE may not be a face for ASCII.
11669
353964e3
GM
116702000-04-27 Gerd Moellmann <gerd@gnu.org>
11671
c76e04a8
GM
11672 * print.c (print_object): Treat print-length < 0 as nil.
11673
11674 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11675
11676 * s/freebsd.h (TERMCAP_OBJ): Removed.
11677 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11678
11679 * lread.c (read1): Don't treat period followed by certain
11680 characters as symbol start.
11681
11682 * xfns.c (slurp_file): New function.
11683 (xbm_image_p): Handle case of in-memory XBM files.
11684 (xbm_scan): Rewritten to work on memory buffers instead of files.
11685 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11686 Work on memory buffers instead of files. If DATA is null test
11687 if buffer looks like an in-memory XBM file.
11688 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11689 memory buffers instead of files.
11690 (xbm_file_p): New function.
11691 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11692
353964e3
GM
11693 * lread.c (end_of_file_error): New function.
11694 (read1): Call it instead of signaling `end-of-file' directly.
11695
427ec082 11696 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11697 with Fprinc instead of Fprin1.
11698
24d744ac
KR
116992000-04-26 Ken Raeburn <raeburn@gnu.org>
11700
11701 * window.c (freeze_window_start): Check that minibuffer scroll
11702 window isn't nil before extracting the window structure pointer
11703 from it.
11704
11705 * undo.c (record_delete): If we hit the end of the undo list, stop
11706 picking elements apart.
11707
7464346d
GM
117082000-04-26 Gerd Moellmann <gerd@gnu.org>
11709
11710 * xdisp.c (display_line): If lines are continued, restore
11711 iterator's ascent/descent information to the values before the
11712 first glyph not fitting on the line.
11713
612839b6
GM
117142000-04-25 Gerd Moellmann <gerd@gnu.org>
11715
11716 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11717 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11718
11719 * dispnew.c (increment_matrix_positions): Renamed from
11720 increment_glyph_matrix_buffer_positions.
11721 (increment_row_positions): Renamed from
11722 increment_glyph_row_buffer_positions.
11723
11724 * dispextern.h: Change names of renamed functions from dispnew.c
11725 in prototypes.
11726
cc181e95
GM
117272000-04-24 Gerd Moellmann <gerd@gnu.org>
11728
abfcc168
GM
11729 * fileio.c (Fdo_auto_save): Create directories for auto-save
11730 list file if necessary.
11731
cc181e95
GM
11732 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11733 from buffer or frame.
11734 (automatic_hscrolling_p): New variable.
11735 (hscroll_windows): Scroll windows horizontally only if automatic
11736 hscrolling is allowed.
11737 (syms_of_xdisp): New variable `automatic-hscrolling'.
11738
11739 * frame.h (struct frame): Add member extra_line_spacing.
11740
11741 * xfns.c (x_set_line_spacing): New function.
11742 (Fx_create_frame): Set line spacing from resources.
11743 (Qline_spacing): New variable.
11744 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11745
cc181e95
GM
11746 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11747
11748 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11749 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11750 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11751 extra_line_spacing from default value.
11752 (init_buffer_once): Initialize default value of extra_line_spacing.
11753
11754 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11755 and extra3.
11756
11757 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11758 prompt_width. Add extra line spacing.
11759
11760 * term.c (produce_glyphs): Remove reference to struct it's
11761 prompt_width.
11762
11763 * dispextern.h (struct it): Remove member prompt_width, add
11764 extra_line_spacing.
11765
58827478
GM
117662000-04-22 Gerd Moellmann <gerd@gnu.org>
11767
11768 * dispnew.c (update_frame_line): When writing a whole line, make
11769 sure cursor is in the right row afterwards, otherwise a use of
11770 capability `ch' in cmgoto might leave the cursor in the row below.
11771
25a87f42
GM
117722000-04-21 Gerd Moellmann <gerd@gnu.org>
11773
11774 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11775
11776 * keyboard.c (timer_check): Fix typo in comment.
11777
54edf5c2
KH
117782000-04-21 Kenichi Handa <handa@etl.go.jp>
11779
11780 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11781 name change: ch -> character.
11782
3a64eef5
GM
117832000-04-20 Gerd Moellmann <gerd@gnu.org>
11784
11785 * keyboard.c (echo_message_buffer): New variable.
11786 (echo_now): Set echo_message_buffer to the echo area buffer used
11787 to display the echo.
11788 (cancel_echoing): Reset echo_message_buffer to nil.
11789 (read_char): Code rewritten that handles canceling an echo or
11790 echoing a dash, respectively.
11791
11792 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11793 directory doesn't exist.
11794
6142fdcb
DL
117952000-04-19 Dave Love <fx@gnu.org>
11796
11797 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11798 (concat): Don't allow numeric args.
11799 (Fconcat): Doc change.
6142fdcb 11800
ac6b5352
SM
118012000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11802
11803 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11804 instead define end_match(1|2) more carefully.
11805 Use GET_CHAR_BEFORE_2 for `begline'.
11806
cb9215e4
GM
118072000-04-19 Gerd Moellmann <gerd@gnu.org>
11808
5e3dac3f
GM
11809 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11810 on 64-bit systems where NULL is defined as `0'.
11811
11812 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11813 the `variable argument list' to make it work on Alpha.
11814
cb9215e4
GM
11815 * m/alpha.h (_LP64) [!_LP64]: Define.
11816 (ORDINARY_LINK): Define for NetBSD.
11817
11818 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11819
f532dca0
DL
118202000-04-19 Dave Love <fx@gnu.org>
11821
c750667e
DL
11822 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11823 change.
11824
11825 * Makefile.in (LIBS): Don't use.
11826 (GETLOADAVG_OBJ): Define again.
11827 (otherobj): Add GETLOADAVG_OBJ.
11828
f532dca0
DL
11829 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11830
1c7e22fd
GM
118312000-04-18 Gerd Moellmann <gerd@gnu.org>
11832
f6d3257b
GM
11833 * lread.c (read_filtered_event): Cancel and start busy cursor.
11834
427ec082 11835 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11836 that the per-character metrics may be null.
11837
e10f64e7
GM
118382000-04-17 Gerd Moellmann <gerd@gnu.org>
11839
0daee095
GM
11840 * buffer.c (clone_per_buffer_values): New function.
11841 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11842 clone_per_buffer_values if CLONE is not nil.
11843
e10f64e7
GM
11844 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11845
38687d43
DL
118462000-04-16 Dave Love <fx@gnu.org>
11847
11848 * Makefile.in: Remove obsolete localcpp stuff.
11849 (GETLOADAVG_OBJ): Don't define.
11850 (obj): Move LIBOBJS...
11851 (otherobj): ... to here.
11852 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11853 whitespace-only lines after the continuation (Irix).
11854
c21c7262
GM
118552000-04-14 Gerd Moellmann <gerd@gnu.org>
11856
11857 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11858
11859 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11860
314767c0
DL
118612000-04-14 Dave Love <fx@gnu.org>
11862
11863 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11864 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11865 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11866 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11867 NLIST_STRUCT.
11868
11869 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11870 autoconfiscated HAVE_GETLOADAVG.
11871
11872 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11873 BROKEN_MKTIME.
11874
a2522dca
GM
118752000-04-14 Gerd Moellmann <gerd@gnu.org>
11876
11877 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11878 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11879
33744b5d
DL
118802000-04-14 Dave Love <fx@gnu.org>
11881
c21c7262 11882 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11883 (INTERVAL_SRC): Convert to make variable.
11884 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11885 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11886 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11887 add LIBOBJS.
11888 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11889 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11890 (shortlisp): Add facemenu, float-sup, frame.
11891 (SOME_MACHINE_LISP): Remove them from here.
11892 (LIBES): Change unused LDLIBS to autoconf LIBS.
11893
11894 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11895
9d3d5916
KH
118962000-04-14 Kenichi Handa <handa@etl.go.jp>
11897
11898 * composite.c (update_compositions): If FROM and TO are not in a
11899 valid range, do nothing.
11900
198e3c7a
GM
119012000-04-13 Gerd Moellmann <gerd@gnu.org>
11902
52283633 11903 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11904
52283633 11905 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11906
11907 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11908 as TERMCAP_OBJ.
11909
055a28c9
EZ
119102000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11911
11912 * fileio.c (a_write): Remove redundant semi-colons.
11913 (e_write): Return -1 if failed to write all the data.
11914 This fixes the changes made at 1999-12-15.
11915
f5c75033
DL
119162000-04-12 Dave Love <fx@gnu.org>
11917
11918 * fns.c (mapcar1): Test for null vals to support mapc.
11919 (Fmapc): New function.
11920
0c3cfc51
EZ
119212000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11922
11923 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11924 (IT_frame_up_to_date): Support the buffer local value of
11925 cursor-type, if defined.
11926
33465a31
DL
119272000-04-10 Dave Love <fx@gnu.org>
11928
11929 * editfns.c (preceding-char, following-char): Doc fix.
11930
6ed56568
KR
119312000-04-10 Ken Raeburn <raeburn@gnu.org>
11932
11933 * Makefile.in (temacs): Revert 2000-03-12 change.
11934
7cf80d4e
JR
119352000-04-10 Jason Rumney <jasonr@gnu.org>
11936
11937 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11938
34f3f342
GM
119392000-04-10 Gerd Moellmann <gerd@gnu.org>
11940
1a1b1895
GM
11941 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11942 area buffer, if it's not set up yet.
11943
34f3f342
GM
11944 * indent.c (compute_motion): Set immediate_quit.
11945
be0dbdab
GM
119462000-04-09 Gerd Moellmann <gerd@gnu.org>
11947
52283633 11948 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11949 (realize_tty_face): Suppress boldness if colors are the inverse of
11950 the default colors, and tty_suppress_bold_inverse_default_colors_p
11951 is set.
11952 (Ftty_suppress_bold_inverse_default_colors): New function.
11953 (syms_of_xfaces): Defsubr it.
11954
be0dbdab
GM
11955 * buffer.c (Frestore_buffer_modified_p): New function.
11956 (syms_of_buffer): Defsubr it.
11957
e8413c3b
KR
119582000-04-08 Ken Raeburn <raeburn@gnu.org>
11959
87f67317
KR
11960 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11961 charset id (int) argument, not a charset (Lisp_Object).
11962
e8413c3b
KR
11963 * coding.h (code_convert_string): Declare.
11964 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11965 object, as the fourth argument to code_convert_string.
11966
52283633 11967 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11968 (Fset_fontset_font): Use EQ to compare lisp objects.
11969
7c752c80
KR
119702000-04-05 Ken Raeburn <raeburn@gnu.org>
11971
c0333abc
KR
11972 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11973 a pointer that looks like a lisp object.
11974 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11975 zero, instead see whether it's an integer object, since they can't
11976 have intervals.
11977 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11978
52283633
SM
11979 * dispnew.c (allocate_matrices_for_frame_redisplay)
11980 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11981 to convert between (unsigned) int values and lisp integers.
11982 * keyboard.c (read_key_sequence): Likewise.
11983 * lread.c (substitute_object_recurse): Likewise.
11984 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11985 * minibuf.c (do_completion, Fminibuffer_complete_word)
11986 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11987 * term.c (produce_special_glyphs): Likewise.
11988
11989 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11990 * print.c (print_preprocess, print_object): Likewise.
11991
11992 * search.c (compile_pattern): Use NILP when checking for nil.
11993
74e49b38
KR
11994 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11995 __OPTIMIZE__]: Provide a GNU C macro version that handles
11996 lisp-object unions.
11997 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11998 field, to better cope with ENABLE_CHECKING and calls that modify a
11999 Lisp_Object using its old value.
12000
685e5ed2
GM
120012000-04-04 Gerd Moellmann <gerd@gnu.org>
12002
c407c570
GM
12003 * window.c (compare_window_configurations): Signal an error
12004 if parameters C1 or C2 aren't window configurations.
12005
685e5ed2
GM
12006 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12007 AFTER_POTENTIAL_GC calls around calls to functions that can
12008 signal an error and thus invoke the debugger.
12009
587a49ab
GM
120102000-04-03 Gerd Moellmann <gerd@gnu.org>
12011
62f20204
GM
12012 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12013 an error if decoding fails.
12014
587a49ab
GM
12015 * keyboard.c (lispy_mouse_names): Variable removed.
12016 (Vlispy_mouse_stem): New variable.
12017 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12018 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12019 for any mouse button number. Increase size of mouse_syms and
12020 button_down_location as needed. Call modify_event_symbol with
12021 different arguments.
12022 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12023 Call modify_event_symbol with different arguments.
12024 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12025 for any button number. Call modify_event_symbol with different
12026 arguments.
12027 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12028 Accept a string for NAME_ALIST_OR_STEM.
12029
12030 * lisp.h (larger_vector): Add prototype.
12031
12032 * fns.c (larger_vector): Make externally visible.
12033
12034 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12035
2d1675e4
SM
120362000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12037
12038 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12039 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12040 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12041 we are between str1 and str2.
12042 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12043 (PATFETCH): Use `TRANSLATE'.
12044 (PATFETCH_RAW): Fetch multibyte char if applicable.
12045 (PATUNFETCH): Remove.
12046 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12047 When writing a char, write it directly into the pattern buffer rather
12048 than going needlessly through a temp char-array.
12049 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12050 multibyte magic and remove the useless `#ifdef emacs'.
12051 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12052 buffer.
12053
12054 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12055 conditional on `emacs'.
12056
12057 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12058
cc2d8c6b
KR
120592000-04-01 Ken Raeburn <raeburn@gnu.org>
12060
12061 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12062 non-union-type versions of XMARK and friends here, because XMARK
12063 and friends won't work on an integer field if NO_UNION_TYPE is not
12064 defined.
52283633 12065 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12066
52283633 12067 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12068 (syms_of_composite): Delete local var NARGS, pass an int as first
12069 argument to Fmake_hash_table.
12070
2387b382
KR
12071 * editfns.c (text_property_stickiness): Use NILP to test
12072 Lisp_Object boolean value.
12073 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12074 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12075 problems reading from and changing the same lisp value in an
12076 XSETSTRING call.
12077
27660e89
GM
120782000-04-01 Gerd Moellmann <gerd@gnu.org>
12079
12080 * term.c (TN_no_color_video): New variable.
12081 (term_init): Intitialize TN_no_color_video.
12082 (enum no_color_bit): New enumeration.
12083 (MAY_USE_WITH_COLORS_P): New macro.
12084 (turn_on_face): Use it to determine if attributes may be used
12085 combined with colors.
12086
3578db3c
KR
120872000-04-01 Ken Raeburn <raeburn@gnu.org>
12088
12089 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12090 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12091 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12092 proper accessor macros.
12093 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12094 (grow_mini_window): Fix typo getting int value of root->height.
12095
6fc556fd
KR
12096 * xdisp.c (compute_string_pos): Fix order of arguments to
12097 string_pos_nchars_ahead.
12098 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12099 count arg to variable-arg routines like Frun_hook_with_args and
12100 Fformat.
587a49ab
GM
12101 (back_to_previous_visible_line_start)
12102 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12103 fixed-arg routines like Fget_char_property and Fmake_string.
12104 (reconsider_clip_changes): Use XINT when comparing integer lisp
12105 objects, or passing them as int arguments.
587a49ab
GM
12106 (mark_window_display_accurate, insert_left_trunc_glyphs)
12107 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12108 storing or passing integer values as lisp objects.
12109 (set_cursor_from_row, highlight_trailing_whitespace): Use
12110 INTEGERP, not implicit test against zero, for glyph object.
12111 (try_window_id): Don't use make_number when we want an int value.
12112
12113 * xfaces.c (xlfd_symbolic_value): Make last argument a
12114 Lisp_Object, to be consistent with callers.
12115 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12116 (lface_hash): Apply XFASTINT to lisp values before folding in.
12117
12118 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12119 fill in window width and height. Pass an int, not a lisp object,
12120 as first arg to Finsert.
12121
6e7b2457
GM
121222000-04-01 Gerd Moellmann <gerd@gnu.org>
12123
610d841e
GM
12124 * xfaces.c (realize_basic_faces): Block input while realizing
12125 the faces.
12126
6e7b2457
GM
12127 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12128
12129 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12130
aa110c0c
GM
121312000-03-31 Gerd Moellmann <gerd@gnu.org>
12132
12133 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12134 or ASCII, handle case that per-char metric is null.
aa110c0c 12135
8801a864
KR
121362000-03-30 Ken Raeburn <raeburn@gnu.org>
12137
c6129d7e
KR
12138 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12139
52283633
SM
12140 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12141 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12142 pointer, using eassert.
12143 * frame.h (XFRAME): Likewise.
12144
52283633
SM
12145 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12146 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12147 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12148 * data.c (set_internal): Likewise.
52283633
SM
12149 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12150 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12151 * fileio.c (auto_save_1): Likewise.
12152 * insdel.c (check_markers): Likewise.
12153 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12154 * undo.c (record_insert): Likewise.
12155 * vmsproc.c (child_sig): Likewise.
12156 * window.c (unshow_buffer, window_loop): Likewise.
12157 * xterm.c (x_erase_phys_cursor): Likewise.
12158
8e7af858
GM
121592000-03-30 Gerd Moellmann <gerd@gnu.org>
12160
12161 * xfns.c (free_image_cache): Free the cache structure itself
12162 last, after all its members have been freed.
12163
12164 * lisp.h (xstrdup): Add prototype.
12165
12166 * alloc.c (xstrdup): Moved here from xfaces.c.
12167 (allocating_for_lisp): Variable removed.
52283633 12168 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12169
12170 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12171 of Fsymbol_value.
12172 (xstrdup): Moved to alloc.c.
12173
e0b8c689
KR
121742000-03-29 Ken Raeburn <raeburn@gnu.org>
12175
b96f9fb7
KR
12176 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12177
12178 * emacs.c (main): Fix sense of no-loadup test.
12179
e0b8c689
KR
12180 * config.in (ENABLE_CHECKING): Undef.
12181
12182 * lisp.h (struct interval): Replace "parent" field with a union of
12183 interval pointer and Lisp_Object; add new bitfield to use as
12184 discriminant. Change other flag fields to bitfields.
12185 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12186 is defined and the supplied test fails, print a message and abort.
12187 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12188
12189 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12190 pointers; abort if the value looks like a lisp object.
52283633
SM
12191 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12192 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12193 Modify for new interval parent definition.
12194
52283633
SM
12195 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12196 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12197 addressable lisp object in the interval structure.
12198 (die): New function.
12199 (suppress_checking): New variable.
12200
12201 * intervals.c (interval_start_pos): Just return 0 if there's no
12202 parent object.
12203
f83c5440
GM
122042000-03-29 Gerd Moellmann <gerd@gnu.org>
12205
12206 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12207 and earlier Emacs versions.
12208
12209 * keyboard.c (Ftop_level): Cancel busy-cursor.
12210
12211 * eval.c (call_debugger): Cancel busy-cursor.
12212
fdce64ff
KH
122132000-03-29 Kenichi Handa <handa@etl.go.jp>
12214
12215 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12216 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12217
f6a3f532
SM
122182000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12219
12220 * regex.c (analyse_first): New function obtained by ripping out most
12221 of re_compile_fastmap and generalizing it a little bit so that it
12222 can also just return whether a given (sub)pattern can match the empty
12223 string or not.
12224 (regex_compile): Use `analyse_first' to decide whether the loop-check
12225 needs to be done or not for *, +, *? and +? (the loop check is costly
12226 for non-greedy repetition).
12227 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12228
e9b309ac
DL
122292000-03-28 Dave Love <fx@gnu.org>
12230
52283633 12231 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12232
e9b309ac
DL
12233 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12234
ed0767d8
SM
122352000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12236
12237 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12238 an expression.
12239 (enum re_opcode_t): Update description of succeed_n.
12240 (PATFETCH): Always define.
12241 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12242 operators, char classes, shy-groups and intervals).
12243 Optimize special cases of intervals so as to only use succeed_n and
12244 jump_n when really needed.
12245 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12246 that we don't have to handle the special cases any more.
12247 Simplify on_failure_jump handling as well.
12248
e11e7e46
JR
122492000-03-28 Jason Rumney <jasonr@gnu.org>
12250
12251 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12252
88faab89
GM
122532000-03-27 Gerd Moellmann <gerd@gnu.org>
12254
182ff242
GM
12255 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12256
12257 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12258
182ff242
GM
12259 * alloc.c (mark_maybe_object): New function.
12260 (mark_memory): Use it.
12261 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12262 (setjmp_tested_p, longjmp_done): New variables.
12263 (test_setjmp): New function.
12264 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12265 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12266
c1005d06
GM
12267 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12268 to DEC_TEXT_POS and INC_TEXT_POS.
12269
12270 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12271 with parameter MULTIBYTE_P.
12272
52283633 12273 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12274
7439e5b9 12275 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12276 buffers because it looks for multibyte character byte sequences
12277 which don't exist in unibyte text.
7439e5b9 12278
d9c545da
GM
12279 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12280
11fd416e 12281 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12282 [DEBUG_X_COLORS]: New functions.
12283 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12284
12285 * xfns.c (x_set_cursor_color): Get color reference counts right.
12286
12287 * xterm.c (x_copy_color): New function.
12288 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12289
12290 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12291 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12292 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12293 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12294 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12295 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12296 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12297 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12298 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12299 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12300
11fd416e
GM
12301 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12302 names for handling per-buffer variables.
d9c545da
GM
12303
12304 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12305 instead of MAX_BUFFER_LOCAL_VARS.
12306 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12307
12308 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12309
88faab89
GM
12310 * xfns.c (x_specified_cursor_type): New function.
12311 (x_set_cursor_type): Use it.
12312
12313 * buffer.h (struct buffer): Add cursor_type.
12314
d80f42b7
SM
123152000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12316
12317 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12318 (print_partial_compiled_pattern, re_compile_fastmap):
12319 Handle new opcode.
d80f42b7
SM
12320 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12321 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12322 executing it as well as when popping it off the stack to find infinite
12323 loops in non-greedy repetition operators.
12324
89e80928
GM
123252000-03-26 Gerd Moellmann <gerd@gnu.org>
12326
3d4ff2dd
GM
12327 * doc.c (Qfunction_documentation): New variable.
12328 (syms_of_doc): Initialize Qfunction_documentation.
12329 (Fdocumentation): If FUNCTION is a symbol with non-nil
12330 `function-documentation' property, return a documentation derived
12331 from that.
12332
bd96bd79
GM
12333 * buffer.c (syms_of_buffer): Add default-cursor-type.
12334 (init_buffer_once): Don't let cursor_type have a local value
12335 in every buffer.
12336
19d1bc27
GM
12337 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12338 on buffer-local value of cursor_type.
12339 (x_draw_bar_cursor): Add parameter WIDTH.
12340
12341 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12342 (init_buffer_once): Set default cursor_type value to t.
12343 Mark cursor_type as local everywhere.
12344 (syms_of_buffer): New per-buffer variable cursor-type.
12345
89e80928
GM
12346 * buffer.h (struct buffer): Remove member local_var_flags,
12347 add local_flags.
12348 (MAX_BUFFER_LOCAL_VARS): New macro.
12349 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12350 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12351 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12352 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12353
52283633 12354 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12355
12356 * category.c (Fset_category_table): Use new macros for per-buffer
12357 variables.
12358
12359 * buffer.c (buffer_permanent_local_flags): Make a char array.
12360 (max_buffer_local_idx): New variable.
12361 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12362 for new handling of per-buffer variables.
12363 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12364 (init_buffer_once): Initialize per-buffer vars differently.
12365 Set max_buffer_local_idx.
12366
12367 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12368 variables.
12369
52283633 12370 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12371
12372 * data.c (do_symval_forwarding, store_symval_forwarding)
12373 (find_symbol_value, set_internal, default_value, Fset_default)
12374 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12375 per-buffer variables.
12376
12377 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12378
9a0dd3dc
GM
123792000-03-24 Gerd Moellmann <gerd@gnu.org>
12380
b68c375f
GM
12381 * xterm.c (x_term_init): Unblock input around call1 of
12382 Qvendor_specific_keysyms.
12383
9a0dd3dc
GM
12384 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12385 (find_defun_start): Consider an open parenthesis in column 0
12386 a defun start only if open_paren_in_column_0_is_defun_start is set.
12387 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12388
7973e637
SM
123892000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12390
12391 * eval.c (Fautoload): Add entry in load-history (if after dump).
12392 * lread.c (load-history): Update docstring.
12393
39210e90
GM
123942000-03-24 Gerd Moellmann <gerd@gnu.org>
12395
12396 * indent.c (Fvertical_motion): Always use the current buffer.
12397 Temporarily change the window's buffer, if necessary.
12398
72db3ab5
GM
123992000-03-23 Gerd Moellmann <gerd@gnu.org>
12400
12401 * xterm.c (fast_find_position): Make sure not to consider rows
12402 not visible in the window.
12403
990b2375
SM
124042000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12405
12406 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12407 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12408
ff4df011
JR
124092000-03-22 Jason Rumney <jasonr@gnu.org>
12410
12411 * w32menu.c (single_submenu): Set help string to NULL if none.
12412 (w32_menu_show): Set help string correctly.
12413 (add-menu-item): Set help string in MIIM_DATA for menu item.
12414 Load SetMenuItemInfoA explicitly.
12415 (w32_menu_display_help): New function.
427ec082 12416
ff4df011
JR
12417 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12418 (QCdata): Moved to xdisp.c.
12419
12420 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12421 (Vw32_charset_to_codepage_alist): Removed.
12422 (Vw32_charset_info_alist): New variable.
52283633
SM
12423 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12424 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12425 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12426 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12427 with TODO comment.
12428 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12429 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12430 Define Vw32_charset_info_alist and w32_charset symbols.
12431
124322000-03-22 Jason Rumney <jasonr@gnu.org>
12433
12434 * makefile.nt (w32bdf.obj): Update dependencies.
12435
12436 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12437
12438 * w32fns.c: Include fontset.h after dispextern.h.
12439 (Fx_create_frame): Do not create fontset.
12440 (w32_load_system_font): Doc fix.
12441 (Fx_close_connection): Free full_name if it is not shared.
12442
12443 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12444 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12445 Callers updated.
ff4df011
JR
12446 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12447 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12448 (w32_font_is_double_byte): New function, needs body.
12449 (x_append_glyph): Set glyph->glyph_not_available_p.
12450 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12451 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12452 character, convert it to a unibyte character.
12453 (struct glyph_string): Delete member `charset'.
12454 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12455 calculating it is found.
12456 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12457 the case that per char metric is not available correctly.
12458 (x_fill_glyph_string): Handle the case that the specific glyph is
12459 not available correctly.
12460 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12461 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12462 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12463 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12464 fontset. Don't call FS_LOAD_FONT.
12465
439d5cb4
KR
124662000-03-22 Ken Raeburn <raeburn@gnu.org>
12467
12468 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12469 (INT_LISPLIKE): New macro.
12470 (NULL_INTERVAL_P): Use it.
52283633
SM
12471 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12472 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12473 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12474
12475 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12476 explicit references to "parent" field of struct interval and
12477 associated unclean type conversions.
52283633
SM
12478 * intervals.c (create_root_interval, root_interval, rotate_right)
12479 (rotate_left, balance_possible_root_interval, split_interval_right)
12480 (split_interval_left, interval_start_pos, find_interval)
12481 (next_interval, previous_interval, update_interval)
12482 (adjust_intervals_for_insertion, delete_node, delete_interval)
12483 (adjust_intervals_for_deletion, merge_interval_right)
12484 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12485 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12486 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12487 Likewise.
12488 * syntax.c (update_syntax_table): Likewise.
12489
12490 * intervals.c (reproduce_tree_obj): New function, like
12491 reproduce_tree but takes a Lisp_Object for the parent. Declare
12492 with prototype.
12493 (graft_intervals_into_buffer): Use it when appropriate.
12494 (reproduce_tree): Declare with prototype.
12495 (balance_possible_root_interval): Check that the parent is a lisp
12496 object before trying to examine its type.
12497
ee1c5b21
GM
124982000-03-22 Gerd Moellmann <gerd@gnu.org>
12499
12500 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12501 as strings only if both are known to be strings.
12502
12503 * s/openbsd.h (LIBS_TERMCAP): Undef.
12504
1fb352e0
SM
125052000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12506
12507 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12508 definitions for non-Emacs compilation.
12509 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12510 outside of `#ifdef emacs'.
12511 (print_partial_compiled_pattern): Update.
12512 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12513 (re_compile_fastmap): Merge handling of charset and charset_not (for
12514 emacs and non-emacs compilation as well).
12515 Similarly for (not)categoryspec and (not)syntaxspec.
12516 Don't use the fastmap when reaching `anychar' since the added
12517 complexity is not justified.
12518 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12519 and (not)syntaxspec. Merge (not)categoryspec.
12520
fdaa1f77
KH
125212000-03-22 Kenichi Handa <handa@etl.go.jp>
12522
52283633
SM
12523 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12524 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12525 --without-x.
fdaa1f77 12526
d152fb46
DL
125272000-03-21 Dave Love <fx@gnu.org>
12528
12529 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12530 doc string.
12531
d2cafc8c
GM
125322000-03-21 Gerd Moellmann <gerd@gnu.org>
12533
12534 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12535 (lface_fully_specified_p): Don't check contents of
12536 LFACE_FONT_INDEX because that attribute is optional.
12537 (realize_x_face): Remove now unwarranted xassert.
12538
9111d4b5
KH
125392000-03-21 Kenichi HANDA <handa@etl.go.jp>
12540
12541 The following changes are to make font selection based on
12542 characters, not charset. In addition, they recover fontset
12543 facilities while utilizing the new font selection mechanism.
12544
6c4bfdc0
KH
12545 * Makefile.in (fontset.o): Depend on dispextern.h.
12546
12547 * alloc.c (mark_face_cache): Don't mark face->registry.
12548
9111d4b5
KH
12549 * dispextern.h (struct glyph): New member glyph_not_available_p.
12550 Use 22 bits for face_id.
12551 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12552 (struct face): Delete member registry, new member ascii_face.
12553 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12554 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12555 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12556 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12557
12558 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12559 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12560 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12561 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12562 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12563 (fs_free_face_fontset, fontset_font_pattern)
12564 (face_suitable_for_char_p, face_for_char)
12565 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12566 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12567 (FS_LOAD_FACE_FONT): New macro.
12568
12569 * fontset.c: All codes rewritten or adjusted for the change of
12570 fontset implementation. Now fontset is represented by char table.
52283633
SM
12571 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12572 Variables removed.
9111d4b5 12573 (my_strcasecmp): Function removed.
52283633 12574 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12575 (AREF, ASIZE): New macros.
52283633
SM
12576 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12577 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12578 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12579 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12580 (fontset_id_valid_p, font_family_registry, fontset_name)
12581 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12582 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12583 New functions.
12584 (fs_load_font): New arg FACE. Caller changed.
12585 (fs_query_fontset): Argument changed. Caller changed.
12586 (Fquery_fontset): call fs_query_fontset.
12587 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12588 Functions removed.
52283633
SM
12589 (clear_fontset_elements, check_registry_encoding)
12590 (check_fontset_name): New functions.
9111d4b5
KH
12591 (syms_of_fontset): Set char-table-extra-slots property of fontset
12592 to 3. Staticpro and initialize Vfontset_table and
12593 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12594
12595 * frame.h (struct frame): Member `fontset_data' removed.
12596 (FRAME_FONTSET_DATA): Macro removed.
12597
12598 * frame.c (make_frame): Don't allocate f->fontset_data.
12599 (Fdelete_frame): Don't free f->fontset_data.
12600
6c4bfdc0
KH
12601 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12602
9111d4b5
KH
12603 * xdisp.c (charset_at_position): Function removed.
12604 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12605 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12606 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12607 Likewise.
12608 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12609 FACE_FOR_CHARSET.
52283633
SM
12610 (get_next_display_element, append_space)
12611 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12612
12613 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12614 Variables removed.
12615 (clear_font_table, frame_update_line_height, load_face_font):
12616 Adjusted for the change of fontset implementation.
12617 (load_face_fontset_font): Function removed.
12618 (pixel_point_size): New function.
12619 (font_list): Argument type changed. Caller changed.
12620 (LFACE_FONT): New macro.
12621 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12622 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12623 Lisp_Object. Determine the font name by actually loading a font
12624 by the specified pattern. Set LFACE_FONT (lface) to the specified
12625 pattern. Even if a font is not found, don't try alternatives.
12626 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12627 (set_font_frame_param): If `font' is specified in lface, use it.
12628 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12629 (lface_same_font_attributes_p): Likewise.
12630 (make_realized_face): Arguent changed. Caller changed. Set
12631 face->ascii_face to face itself.
12632 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12633 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12634 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12635 (free_realized_multibyte_face): New function.
12636 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12637 changed. Caller changed.
12638 (try_font_list): Argument type changed.
12639 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12640 (choose_face_font): Argument changed. Handle fontset properly.
12641 (choose_face_fontset_font): Function removed.
12642 (realize_default_face, realize_named_face): Don't remove the
12643 former face here.
12644 (realize_face): Argument changed. Caller changed. Remove face
52283633 12645 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12646 (realize_x_face): Argument changed. Caller changed. For a
12647 multibyte character, share fontset with base_face. For a single
52283633 12648 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12649 (realize_tty_face): Argument changed. Caller changed.
12650 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12651 (face_at_buffer_position): Don't check multibyte_p for returning
12652 DEFAULT_FACE_ID.
12653 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12654 FACE_SUITABLE_FOR_CHARSET_P.
12655 (syms_of_xfaces): Remove code for Qx_charset_registry and
12656 Vface_default_registry.
12657
6c4bfdc0
KH
12658 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12659 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12660 (x_per_char_metric): Don't try FONT->default_char. Even if
12661 pcm->width is zero, glyph bits may exist.
12662 (x_encode_char): Always initialize char2b->byte1.
12663 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12664 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12665 (x_append_glyph): Set glyph->glyph_not_available_p.
12666 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12667 it->charset. Handle the case that per char metric is not
12668 available. If it->multibyte_p is zero and it->c is a multibyte
12669 character, convert it to a unibyte character.
12670 (struct glyph_string): Delete member `charset'.
12671 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12672 the case that per char metric is not available correctly.
12673 (x_fill_glyph_string): Handle the case that the specific glyph is
12674 not available correctly.
12675 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12676 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12677 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12678 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12679 fontset. Don't call FS_LOAD_FONT.
12680
12681 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12682 (x_create_tip_frame): Likewise.
12683 (Fx_close_connection): Free full_name of font_info.
12684
12685 * fns.c (optimize_sub_char_table): New function.
12686 (Foptimize_char_table): New function.
12687 (syms_of_fns): Defsubr Soptimize_char_table.
12688
b33dd3b0
GM
126892000-03-20 Gerd Moellmann <gerd@gnu.org>
12690
12691 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12692 only if buffer is displayed in some window.
12693
12694 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12695 (try_window_reusing_current_matrix): Don't call scroll run
12696 function if run's current and desired position are the same;
12697 this prevents cursor flickering.
12698
4e8a9132
SM
126992000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12700
12701 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12702
12703 * regex.c (RE_STRING_CHAR): New macro.
12704 (GET_CHAR_AFER_2): Remove.
12705 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12706 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12707 (print_partial_compiled_pattern, re_compile_fastmap)
12708 (re_match_2_internal): Remove on_failure_jump_exclusive.
12709 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12710 optimization only need to work for * (ie. can use of_keep_string_jump).
12711 Remove the special case for .*\n since it is now covered by the general
12712 optimization.
12713 (re_search_2): Don't bother with `room'.
12714 (skip_one_char): New function.
12715 (skip_noops): Simplify since `memory' is not needed any more.
12716 (mutually_exclusive_p): Restructure slightly to use `switch' and
12717 add handling for "all" remaining cases.
12718 (re_match_2_internal): Change on_failure_jump_smart to use
12719 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12720 rather than on_failure_jump_exclusive.
12721
2136fdd4
GM
127222000-03-19 Gerd Moellmann <gerd@gnu.org>
12723
12724 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12725 number of bits per RGB because it's everywhere used as the depth
12726 of the visual.
12727
12728 * term.c (calculate_costs): Remove code dealing with X frames.
12729
18e21ce8 127302000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12731
12732 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12733
d7b511c4
GM
127342000-03-18 Gerd Moellmann <gerd@gnu.org>
12735
12736 * lread.c (read_integer): Unread the last char not consumed.
12737
16b5d424
GM
127382000-03-17 Gerd Moellmann <gerd@gnu.org>
12739
12740 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12741 which are in the process of being deleted.
16b5d424 12742
1fa28578
GM
127432000-03-16 Gerd Moellmann <gerd@gnu.org>
12744
83488cce
GM
12745 * Makefile.in (mostlyclean): Add `*.core'.
12746 (clean): Add `bootstrap-emacs'.
12747
1fa28578
GM
12748 * lread.c (read_integer): New function.
12749 (read1): Support read syntax #o, #x, #b, #r.
12750
99633e97
SM
127512000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12752
1fa28578
GM
12753 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12754 make sure POINTER_TO_OFFSET gives the same value before and after
12755 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12756 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12757 (debug): Now only active if > 0 rather than if != 0.
12758 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12759 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12760 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12761 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12762 (store_op1, store_op2, insert_op1, insert_op2)
12763 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12764 (group_in_compile_stack): Move to after its arg's types are
12765 declared and add a prototype.
99633e97 12766 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12767 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12768 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12769 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12770 indentation of the greedy-op and shy-group code.
99633e97
SM
12771 (at_(beg|end)line_loc_p): Fix argument's types.
12772 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12773 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12774 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12775 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12776 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12777 QUIT unconditionally.
99633e97 12778
699238d9
GM
127792000-03-15 Gerd Moellmann <gerd@gnu.org>
12780
12781 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12782 a sole completion.
12783
12784 * process.c (send_process): Add a hint that the function
12785 can call Lisp code to its comment.
12786
12787 * lread.c (load_dangerous_libraries): New variable.
12788 (Vbytecomp_version_regexp): New variable.
12789 (safe_to_load_p): New function.
12790 (Fload): Handle files not compiled with Emacs specially.
12791 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12792
34e23e5a
GM
127932000-03-14 Gerd Moellmann <gerd@gnu.org>
12794
9c763cca
GM
12795 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12796
12797 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12798 support functions only if HAVE_X11R6_XIM is defined.
12799 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12800
12801 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12802
12803 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12804 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12805 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12806
12807 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12808 (HAVE_X11R6_XIM): Define.
12809
12810 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12811
34e23e5a
GM
12812 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12813 If set, call XSynchronize.
12814
66f0296e
SM
128152000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12816
34e23e5a
GM
12817 * regex.c: Declare a new type `re_char' used throughout the code
12818 for the string char type. It's `const unsigned char' to match the
12819 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12820 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12821 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12822 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12823 code duplication.
66f0296e
SM
12824
12825 * charset.h (GET_CHAR_AFTER_2): Remove.
12826 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12827
854a025c
KR
128282000-03-12 Ken Raeburn <raeburn@gnu.org>
12829
12830 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12831 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12832 of them try to use backquotes.
12833
b9d2c7e2
DL
128342000-03-12 Dave Love <fx@gnu.org>
12835
12836 * unexelf.c: Restore changes of 1999-10-19.
12837 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12838 fix its type and alignment; copy it from current process.
12839
5e5dff44
GM
128402000-03-12 Gerd Moellmann <gerd@gnu.org>
12841
9b2f3c38
GM
12842 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12843 has been found. Fix bug not computing timer's predecessor.
12844
427ec082 12845 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12846 file name.
12847
e1cff360
GM
12848 * window.c (Fsave_window_excursion): Doc fix.
12849
52283633 12850 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12851
e411ce4b
EZ
128522000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12853
12854 * msdos.c (vga_installed): New function, code moved from
12855 dos_set_window_size.
12856 (Qbar, Qcursor_type, outside_cursor): New variables.
12857 (syms_of_msdos): Intern and staticpro them.
12858 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12859 shape used outside Emacs when called for the first time.
12860 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12861 cursor shape used outside Emacs.
12862 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12863 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12864 type has changed.
12865 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12866 parameters specify the cursor. Make qreverse a global
12867 variable (renamed to Qreverse).
12868
80460654
GM
128692000-03-09 Gerd Moellmann <gerd@gnu.org>
12870
12871 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12872
95cd4c40
SM
128732000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12874
12875 This is a big redesign of failure-stack and register handling, prompted
12876 by bugs revealed when trying to add shy-groups. Overall, what happened
12877 is that loops are now structured a little differently, groups can be
12878 shy and the code is a little simpler.
12879
12880 * regex.h: Update the copyright.
12881 (RE_SHY_GROUPS): New value.
12882 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12883 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12884
80460654
GM
12885 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12886 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12887 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12888 for (start|stop)_memory since they now only take one argument (the
12889 second has becomes unnecessary).
52283633 12890 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12891 (print_compiled_pattern): Use %ld to printf long ints and flush to
12892 make debugging a little easier.
95cd4c40
SM
12893 (union fail_stack_elt): Make the integer unsigned.
12894 (struct fail_stack_type): Add a `frame' element.
12895 (INIT_FAIL_STACK): Init `frame' as well.
12896 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12897 (DEBUG_PUSH, DEBUG_POP): Remove.
12898 (NUM_REG_ITEMS): Remove.
12899 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12900 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12901 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12902 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12903 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12904 New macros.
80460654
GM
12905 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12906 address pushed is not the destination of the jump but the source
12907 of it instead.
95cd4c40
SM
12908 (NUM_FAILURE_ITEMS): Remove.
12909 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12910 registers before the actual failure point). Don't hardcode any
12911 meaning for str==NULL anymore.
95cd4c40 12912 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12913 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12914 Remove.
95cd4c40
SM
12915 (REG_UNSET_VALUE): Use NULL (why not?).
12916 (compile_range): Remove declaration since it doesn't exist.
12917 (struct compile_stack_elt_t): Remove inner_group_offset.
12918 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12919 (regex_grow_registers): Remove dead code.
12920 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12921 (regex_compile): Add shy-groups Change loops to use
12922 on_failure_jump_smart&jump instead of
12923 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12924 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12925 variable to me). Use `jump' instead of `jump_past_alt' and don't
12926 bother with push_dummy_failure in alternatives since it is now
12927 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12928 emacs' for (re)allocating the stack.
12929 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12930 from loop when bufp->can_be_null rather than jumping to `done'.
12931 Avoid jumping backwards so as to ensure termination. Use
12932 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12933 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12934 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12935 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12936 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12937 (lowest_active_reg, highest_active_reg)
12938 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12939 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12940 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12941 variables. Push register (in `start_memory') on the stack rather
12942 than storing it in old_reg(start|end). Remove the cycle detection
12943 from `stop_memory', replaced by the use of on_failure_jump_loop
12944 for greedy loops. Add code for the new on_failure_jump_<foo>.
12945 Remove ad-hoc code in `on_failure_jump' to push more registers in
12946 the case of a loop. Take out code from `maybe_pop_jump' into
12947 separate functions and adapt it to the semantics of
12948 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12949 and push_dummy_failure. Remove dummy_failure handling and
12950 handling of `failures to jump to on_failure_jump' (this last one
12951 was already dead code, it seems).
12952 (group_match_null_string_p, alt_match_null_string_p)
12953 (common_op_match_null_string_p): Remove.
95cd4c40 12954
7397acc4
DL
129552000-03-08 Dave Love <fx@gnu.org>
12956
12957 * config.in: Don't depend on __STDC__ for volatile.
12958 Add POINTER_TYPE, PTR, PROTOTYPES.
12959
12960 * hftctl.c, strftime.c: Use PROTOTYPES.
12961 * eval.c (find_handler_clause): Likewise.
12962
12963 * mem-limits.h: Use POINTER_TYPE.
12964
12965 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12966 (memory_warnings): Declare using POINTER_TYPE.
12967
5e91ff9e
GM
129682000-03-08 Gerd Moellmann <gerd@gnu.org>
12969
feab4fba
GM
12970 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12971
52283633 12972 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12973
5e91ff9e
GM
12974 * xfns.c: Remove obsolete code in #if 0.
12975 (Fx_focus_frame): New function.
12976
a735b7e1
KH
129772000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12978
12979 * coding.c (coding_category_name): Add coding-category-utf-8,
12980 coding-category-utf-16-be, coding-category-utf-16-le.
12981 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12982 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12983 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12984 (detect_coding_utf_8): New function.
12985 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12986 UTF_16_LOW_SURROGATE_P): New macros.
12987 (detect_coding_utf_16): New function
12988 (detect_coding_mask): When priorities are specified, skip any
12989 categories that have `nil' coding-system. Fix bug of returning
12990 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12991 returns a mask not set in PRIORITIES.
12992 (detect_eol_type_in_2_octet_form): New function.
12993 (detect_eol): selects detect_eol_type_XXX to call according to
12994 cooding->category_idx.
12995 (detect_coding_system): Remove `nil' coding-system in the result.
12996 (Fupdate_coding_systems_internal): Update all coding-categories.
12997
52283633
SM
12998 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12999 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13000 New macros.
13001 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13002 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13003 (CODING_CATEGORY_IDX_UTF_16_LE)
13004 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13005 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13006 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13007 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13008
9994cc69
GM
130092000-03-07 Gerd Moellmann <gerd@gnu.org>
13010
e9b4e5ff
GM
13011 * doc.c (Fdocumentation_property): If value is not a string,
13012 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13013
f7daf1e1
GM
13014 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13015 close the display with XtCloseDisplay. This caused a bus error
13016 on OpenWindows.
13017
9994cc69
GM
13018 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13019 complete but not unique.
13020
4336c705
GM
130212000-03-06 Gerd Moellmann <gerd@gnu.org>
13022
18bb0684
GM
13023 * process.c (send_process): Remove local variable `procname' that
13024 might become invalid when a GC happens. Instead, access the
13025 process name slot directly.
13026
4336c705
GM
13027 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13028 orig_height if set.
13029
13030 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13031 orig_height if set.
13032
515d0d0e
EZ
130332000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13034
13035 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13036 glyph matrices have been freed.
13037
100b3cbb
GM
130382000-03-05 Gerd Moellmann <gerd@gnu.org>
13039
50df5e5a 13040 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13041 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13042
13043 * xfns.c (QCdata): Moved to xdisp.c.
13044
13045 * xdisp.c (QCdata): Moved here from xfns.c.
13046 (syms_of_xdisp): Initialize QCdata.
13047
13048 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13049
13050 * window.c (coordinates_in_window): Use
13051 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13052 FRAME_INTERNAL_BORDER_WIDTH.
13053
100b3cbb 13054 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13055 it is obviously invalid.
100b3cbb
GM
13056
13057 * xterm.c (x_term_init): Create a colormap if not using the
13058 default visual.
13059
13060 * xterm.h (select_visual): Change prototype.
13061
13062 * xfns.c (select_visual): Rewritten. Recognize user-specified
13063 visual classes.
13064 (visual_classes): New variable.
13065
64d739c4
GM
130662000-03-04 Gerd Moellmann <gerd@gnu.org>
13067
13068 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13069 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13070 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13071 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13072 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13073 XtNcolormap resources.
13074 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13075 (Fx_create_frame): Initialize color members of x_output structure.
13076 (xpm_load): Pass colormap to XPM lib.
13077
13078 * xfaces.c (x_free_colors): Access colormap of frame using
13079 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13080 when default colormap is used.
13081
13082 * xterm.c (x_term_init): Set Colormap member of x_display_info
13083 structure. Copy colormap if resource `privateColormap' is
13084 specified (PseudoColor only).
13085 (x_setup_relief_color): Access colormap of frame using
13086 FRAME_X_COLORMAP.
13087
13088 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13089 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13090
c3cee013
JR
130912000-03-04 Jason Rumney <jasonr@gnu.org>
13092
13093 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13094 other non-platform-specific equivalents.
64d739c4 13095 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13096 specific functions and macros as their w32 equivalents where
13097 non-platform-specifics are not available.
13098 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13099 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13100 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13101 (frame_update_line_height): Use macros to access f->output_data.
13102 (defined_color): Remove FIXME comments; fixed.
13103 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13104 into #ifdef blocks. Add WINDOWSNT blocks.
13105 (Fx_list_fonts): Use macros for accessing font data.
13106 (set_lface_from_font_name): Different default fonts for X and
13107 WINDOWSNT.
13108 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13109 scalable for backward compatibility.
64d739c4 13110 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13111 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13112
64d739c4 13113 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13114 syms_of_w32faces.
13115
13116 * makefile.nt (w32faces.obj): Remove.
13117 (xfaces.obj): Add.
13118
807cc41c
JR
131192000-03-03 Jason Rumney <jasonr@gnu.org>
13120
13121 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13122 correct parameters.
13123
0007072a
KR
131242000-03-03 Ken Raeburn <raeburn@gnu.org>
13125
13126 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13127 standard ELF definitions here if the system header does not.
13128
71a6ba55
GM
131292000-03-03 Gerd Moellmann <gerd@gnu.org>
13130
13131 * xterm.c (PER_CHAR_METRIC): Removed.
13132 (x_per_char_metric_1, x_default_char): New functions.
13133 (x_per_char_metric): If font's default char is invalid, return
13134 metrics of a suitably chosen usable default char.
13135 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13136 char, replace occurrences of unprintable chars with a suitably
13137 chosen usable default char.
71a6ba55 13138
900fa1f1
GM
131392000-03-02 Gerd Moellmann <gerd@gnu.org>
13140
42f55fe0
GM
13141 * xterm.c (note_mouse_highlight): Return quickly if frame's
13142 glyph matrices have been freed.
13143
13144 * dispnew.c (free_glyphs): Block input while freeing matrices.
13145
900fa1f1
GM
13146 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13147
52283633
SM
13148 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13149 Use x_free_colors.
900fa1f1
GM
13150
13151 * dispextern.h (x_free_colors): Add prototype.
13152
13153 * xfaces.c (x_free_colors): New function.
13154 (unload_color, free_face_colors): Use it.
13155
2f950292
EZ
131562000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13157
13158 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13159
13160 * window.c [MSDOS]: Include msdos.h.
13161
54d04320
DL
131622000-03-02 Dave Love <fx@gnu.org>
13163
13164 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13165
13166 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13167 set C_OPTIMIZE_SWITCH for gcc.
13168
0ba93ac4
KH
131692000-03-02 Kenichi Handa <handa@etl.go.jp>
13170
13171 * coding.c (coding_save_composition): Be sure to allocate
13172 composition data area in coding even if there's no composition in
13173 the current run.
13174
a2bc11d4
JR
131752000-03-01 Jason Rumney <jasonr@gnu.org>
13176
13177 * w32term.c: Equivalent changes to those made to xterm.c on
13178 2000-02-25 and 2000-02-24.
13179
13180 * w32fns.c: Equivalent changes to those made to xfns.c on
13181 2000-02-25 and 2000-02-21.
13182
13183 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13184 correct line-end convention is followed.
13185
13186 * w32menu.c [HAVE_BOXES]: Remove #undef.
13187 (single_keymap_panes): Remove code for simulating checkmarks.
13188 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13189 Remove code for drawing simulated checkmarks.
13190 (w32_menu_show): make unibyte help string correctly.
13191 (add_menu_item): draw standard Windows checkmarks. Draw radio
13192 buttons as radio buttons if possible.
13193
72d19d75
GM
131942000-03-01 Gerd Moellmann <gerd@gnu.org>
13195
2df636f4
GM
13196 * sysdep.c (start_of_text): Don't define this function for NetBSD
13197 with ELF.
13198
427ec082 13199 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13200 Don't define.
13201 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13202 (LINKER): Don't undef if __NetBSD__ is defined.
13203
13204 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13205
13206 * fileio.c [__NetBSD__]: Define `unix'.
13207
72d19d75
GM
13208 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13209
ed4d0512
GM
132102000-02-29 Gerd Moellmann <gerd@gnu.org>
13211
50b1039f
GM
13212 * atimer.c (start_atimer): Don't abort when timers are stopped.
13213 (append_atimer_lists): New function.
13214 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13215 arbitrary lists of stopped and running atimers.
13216
ed4d0512
GM
13217 * atimer.c (cancel_atimer): Handle canceling an atimer when
13218 some timers are stopped.
13219
13220 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13221 after canceling it.
13222
13223 * fns.c (maybe_resize_hash_table): Handle case of new size
13224 coming out as being the same as old size.
13225
387023ee
JR
132262000-02-27 Jason Rumney <jasonr@gnu.org>
13227
13228 * makefile.nt: Add atimer.h to dependencies.
13229 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13230 * w32console.c: Only disable window system features for dispextern.h
13231 (initialize_w32_display): Build a display info for the console.
13232 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13233 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13234 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13235 as 2 button mice.
13236 * w32gui.h (struct W32FontStruct): Revert last change after change
13237 to xdisp.c.
13238 * w32menu.c (single_submenu): Set up help string.
13239 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13240 (w32_dialog_show): Set up help string.
13241 * w32term.c (w32_display_info_for_display): Remove unused function.
13242 (w32_draw_bitmap): Use pre-built bitmaps.
13243 (w32_initialize_display_info): New function to initialize parts of
13244 display info that are common to both GUI and console frames.
13245 (w32_term_init): Use w32_initialize_display_info. Do not set
13246 Vw32_num_mouse_buttons here, as it is not called for console
13247 frames. Build bitmaps for indicating truncated lines etc.
13248 (x_delete_display): Destroy pre-built bitmaps.
13249 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13250 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13251
4516715a
DL
132522000-02-27 Dave Love <fx@gnu.org>
13253
13254 * lisp.h: Add a bunch of prototypes.
13255
171ca836
KH
132562000-02-26 Kenichi Handa <handa@etl.go.jp>
13257
13258 * keyboard.c (read_char): Set `usec' correctly.
13259
4013921d
KH
132602000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13261
13262 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13263 `lambda', set reg[RRR] to the map index.
13264 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13265 reg[RRR] to 0. Otherwise, set it to -1.
13266
9244a058
GM
132672000-02-25 Gerd Moellmann <gerd@gnu.org>
13268
2df636f4 13269 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13270
18e21ce8 132712000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13272
f43d79c1
GM
13273 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13274 and contains a `:', prepend `/:'.
13275
13276 * window.c (select_window_1): If selected_window is nil,
13277 don't "swap out" the buffer's point.
13278 (Fset_window_configuration): Set selected_window to nil
13279 before calling Fselect_window.
13280 (unshow_buffer): Don't set point in buffer from window's point
13281 if another more recently selected window also shows the buffer.
13282
bed0c171
GM
132832000-02-25 Gerd Moellmann <gerd@gnu.org>
13284
449c3c52
GM
13285 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13286
f5b58615
GM
13287 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13288 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13289 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13290 New variables.
f5b58615
GM
13291 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13292 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13293 (hide_busy_cursor): New functions.
13294 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13295
13296 * minibuf.c (read_minibuf): Cancel busy-cursor.
13297
13298 * keyboard.c (command_loop_1): Call start_busy_cursor before
13299 Fcommand_execute and cancel_busy_cursor after it.
13300 (timer_check): Remove busy-cursor code.
13301 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13302 cursor timer.
13303
13304 * process.c (wait_reading_process_input): Remove busy-cursor code.
13305
13306 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13307 Fx_hide_busy_cursor.
13308
13309 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13310 Remove prototyoes.
13311 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13312
13313 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13314
13315 * xterm.c (XTread_socket): Remove busy-cursor code.
13316
4eb8436f
GM
13317 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13318 (build_frame_matrix_from_leaf_window): Put code handling
13319 glyph row's not being a slice of a frame row in #if 0.
13320 (sync_window_with_frame_matrix_rows): New function.
13321 (frame_row_to_window): New function.
13322 (mirror_line_dance): Handle copies between windows.
13323
3cb65b0e
GM
13324 * lread.c (Fload): Use `xfree' instead of `free'.
13325 (init_obarray): Use `xmalloc' instead of `malloc'.
13326
bed0c171
GM
13327 * window.c (Fset_window_buffer): Set WINDOW to the window
13328 after decoding.
2add4349
GM
13329 (coordinates_in_window): Take frame's internal border width
13330 into account.
bed0c171 13331
42088c12
GM
133322000-02-24 Gerd Moellmann <gerd@gnu.org>
13333
13334 * xterm.c (x_display_and_set_cursor): Display cursor of
13335 non-selected windows depending on the setting of
13336 cursor_in_non_selected_windows.
13337
13338 * xdisp.c (cursor_in_non_selected_windows): New variable.
13339 (syms_of_xdisp): DEFVAR_BOOL it.
13340
d1e103b2
GM
133412000-02-23 Gerd Moellmann <gerd@gnu.org>
13342
723e779c
GM
13343 * data.c (Fstring_to_number): If number is greater than what
13344 fits into an integer, return a float.
13345
d1e103b2
GM
13346 * eval.c (specbind): Remove references to
13347 keyword_symbols_constant_flag.
13348
13349 * data.c (keyword_symbols_constant_flag): Removed.
13350 (Fmakunbound, set_internal, syms_of_data): Remove references to
13351 keyword_symbols_constant_flag.
13352
13353 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13354
214f877f
KH
133552000-02-23 Kenichi Handa <handa@etl.go.jp>
13356
13357 * syntax.c (multibyte_syntax_as_symbol): New variable.
13358 (syms_of_syntax): Declare it as a Lisp variable.
13359 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13360 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13361 nonzero, treat all multibyte characters as symbol.
52283633 13362 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13363
130adcb7
EZ
133642000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13365
3cb65b0e 13366 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13367 a deleted frame.
130adcb7 13368
17cbbf95
GM
133692000-02-21 Gerd Moellmann <gerd@gnu.org>
13370
13371 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13372
13373 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13374 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13375
beb0bc36
DL
133762000-02-21 Dave Love <fx@gnu.org>
13377
13378 * frame.c (Vmouse_position_function): New variable.
13379 (Fmouse_position): Use it.
13380 (syms_of_frame): Install it.
13381
13382 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13383
1d92afcd
GM
133842000-02-20 Gerd Moellmann <gerd@gnu.org>
13385
13386 * fileio.c (Finsert_file_contents): Unbind the binding of
13387 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13388
13389 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13390 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13391 (specbind, unbind_to): Handle most common case of non-constant
13392 symbol with trivial value specially.
13393
13394 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13395
18e21ce8 133962000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13397
13398 * data.c (Fmake_variable_buffer_local): Doc fix.
13399 Init found_for_buffer to 0.
13400 (Fmake_variable_frame_local): If the variable has already
13401 been buffer-local, set the check_frame field.
13402
1d4311c3
EZ
134032000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13404
13405 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13406 produced for CODING_MODE_LAST_BLOCK requires.
13407
2dc95ddd
DL
134082000-02-18 Dave Love <fx@gnu.org>
13409
13410 * keyboard.c (echo_keystrokes): Remove declaration.
13411 (Vecho_keystrokes) New variable.
13412 (read_char, record_menu_key, read_key_sequence): Use it to allow
13413 use of float value.
13414 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13415
13416 * lread.c: Undef feature selection macros before defining.
13417
f0930f35
GM
134182000-02-18 Gerd Moellmann <gerd@gnu.org>
13419
13420 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13421 for symbols other than the symbol in question.
13422
e3d4de90
DL
134232000-02-17 Dave Love <fx@gnu.org>
13424
13425 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13426
0b378936
GM
134272000-02-17 Gerd Moellmann <gerd@gnu.org>
13428
d621caf7
GM
13429 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13430
0b378936
GM
13431 * alloc.c (enum mem_type): Compile unconditionally.
13432
3b451f74
EZ
134332000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13434
13435 * xfaces.c (tty_defined_color): Don't return faulire indication
13436 for unspecified-fg and unspecified-bg pseudo-colors.
13437
10689a01
GM
134382000-02-17 Gerd Moellmann <gerd@gnu.org>
13439
1216f5e4
GM
13440 * alloc.c (mark_object): Don't mark symbol names in pure space.
13441 (gc_sweep): Don't unmark symbol names in pure space.
13442
13443 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13444 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13445 [GC_MARK_STACK]: New defines.
427ec082 13446 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13447 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13448
13449 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13450
13451 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13452 allocate_buffer instead of xmalloc.
13453
13454 * alloc.c (toplevel): Include setjmp.h.
13455 (PURE_POINTER_P): New define.
13456 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13457 (Vdead) [GC_MARK_STACK]: New variable.
13458 (lisp_malloc): Add parameter TYPE, call mem_insert if
13459 GC_MARK_STACK is defined.
13460 (allocate_buffer): New function.
427ec082 13461 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13462 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13463 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13464 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13465 (MEM_NIL) [GC_MARK_STACK]: New define.
13466 (struct mem_node) [GC_MARK_STACK]: New structure.
13467 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13468 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13469 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13470 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13471 (mark_stack) [GC_MARK_STACK]: New functions.
13472 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13473 (clear_marks): Removed.
13474 (gc_sweep): Set free conses' car, free floats' type, free
13475 symbols' function to Vdead. Use lisp_free to free buffers.
13476 (init_alloc_once): Initialize Vdead.
13477 (survives_gc_p): Return non-zero for pure objects.
13478
13479 * alloc.c: Add comments throughout the file.
13480
2503c8b1
GM
13481 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13482 that unblocks alarms.
13483
8389e1e2
GM
13484 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13485 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13486 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13487
10689a01 13488 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13489
bfc17d18
KH
134902000-02-17 Kenichi Handa <handa@etl.go.jp>
13491
4a09dee0
KH
13492 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13493 avoid infinite error signaling. Allocate sufficient memory for
13494 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13495
2b927d02
SM
134962000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13497
13498 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13499 depends on the previous behavior.
13500
b49cb764
GM
135012000-02-16 Gerd Moellmann <gerd@gnu.org>
13502
13503 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13504
99e95407
GM
135052000-02-15 Gerd Moellmann <gerd@gnu.org>
13506
13507 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13508
13509 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13510 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13511 write(2).
13512
6ffd3cf7
RS
135132000-02-15 Richard M. Stallman <rms@gnu.org>
13514
13515 * data.c (set_internal): Don't make variable buffer-local
13516 if within a let-binding for the same buffer.
13517 (let_shadows_buffer_binding_p): New function.
13518
13519 * eval.c (specbind): For buffer-local value,
13520 record the current buffer also.
13521 (unbind_to): Cope with that change.
13522
cad53475
GM
135232000-02-15 Gerd Moellmann <gerd@gnu.org>
13524
13525 * window.c (Fsave_window_excursion): Doc fix.
13526
1aa963c8
SM
135272000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13528
13529 * syntax.c (back_comment): Make sure we only consider comment-starters
13530 of the relevant style and return -1 in case of a failure to find the
13531 beginning of the comment.
13532 (Fforward_comment): If back_comment fails, go back to the position just
13533 after the comment-end.
13534 (scan_lists): Add comment describing a very minor bug.
13535
b9b84fd3
SM
135362000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13537
13538 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13539 `completion-regexp-list' in the docstring.
13540
3a28db80
DL
135412000-02-14 Dave Love <fx@gnu.org>
13542
13543 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13544
fb4a568d
SM
135452000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13546
13547 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13548 to Emacs' syntax. Also fix the comment about set/not-set meanings
13549 since Emacs syntax is not the value 0 any more.
13550 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13551 since it's now part of RE_SYNTAX_EMACS.
13552
1063ebb5
DL
135532000-02-12 Dave Love <fx@gnu.org>
13554
52283633 13555 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13556
fb07a302
GM
135572000-02-12 Gerd Moellmann <gerd@gnu.org>
13558
13559 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13560
aaf2320c
DL
135612000-02-12 Dave Love <fx@gnu.org>
13562
13563 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13564
13565 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13566 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13567 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13568
13569 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13570
13571 * s/nextstep.h: Don't define HAVE_ALLOCA.
13572
13573 * config.in: Add vfork bits.
13574
eedf8bde
GM
135752000-02-12 Gerd Moellmann <gerd@gnu.org>
13576
13577 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13578 unwind function to undo the effect of stopping atimers.
13579
52283633 13580 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13581
13582 * atimer.c (stopped_atimers): New variable.
13583 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13584 New functions.
13585
13586 * atimer.h (stop_other_atimers, run_all_atimers)
13587 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13588
eedf8bde
GM
13589 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13590
8476c2f8
KR
135912000-02-11 Ken Raeburn <raeburn@gnu.org>
13592
13593 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13594 library may depend on jpeg.
13595 (atimer.o): Depends on atimer.c.
13596
0e85e4a3
KH
135972000-02-11 Kenichi Handa <handa@etl.go.jp>
13598
13599 * insdel.c (del_range_1): Call update_compositions.
13600 (del_range_both): Call update_compositions just once..
13601
97fa0cc8
DL
136022000-02-10 Dave Love <fx@gnu.org>
13603
13604 * xfns.c (create_frame_xic): Fix initialization of automatic
13605 aggregates for pcc.
13606
25566a3c
KH
136072000-02-09 Kenichi Handa <handa@etl.go.jp>
13608
13609 * ccl.c (CCL_MAKE_CHAR): New macro.
13610 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13611 registers by CCL_MAKE_CHAR before calling translate_char.
13612 <CCL_TranslateCharacterConstTbl> Likewise.
13613
69da54ba
DL
136142000-02-08 Dave Love <fx@gnu.org>
13615
13616 * lread.c (__EXTENSIONS__): Define.
13617
f7136ee8
GM
136182000-02-08 Gerd Moellmann <gerd@gnu.org>
13619
13620 * puresize.h (BASE_PURESIZE): Increase to 650000.
13621
7768790b
EZ
136222000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13623
13624 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13625 the help message.
13626
38fd211b
EZ
136272000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13628
13629 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13630 md, mh, mb, mr, and me to the fake termcap entry.
13631
66e4690f
KR
136322000-02-06 Ken Raeburn <raeburn@gnu.org>
13633
13634 * sound.c (sound_cleanup): Don't call device close routine if the
13635 function pointer is null.
13636
a75dfea0
AI
136372000-02-06 Andrew Innes <andrewi@gnu.org>
13638
13639 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13640 around image definitions and prototypes.
13641 (gamma_correct) [WINDOWSNT]: New prototype.
13642
13643 * w32term.c (x_make_frame_visible): Replace call to
13644 input_poll_signal with poll_for_input.
13645
13646 * window.c [WINDOWSNT]: Include w32term.h.
13647
13648 * xdisp.c [WINDOWSNT]: Include w32term.h.
13649
13650 * makefile.nt: Add dependencies on w32gui.h.
13651 (OBJ1): Include atimer.obj.
13652 ($(BLD)\atimer.obj): New dependency rule.
13653
13654 * w32.c (sigmask): New function (does nothing).
13655 (sigunblock): Ditto.
13656
13657 * frame.c [WINDOWSNT]: Include w32term.h.
13658
13659 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13660
13661 * lread.c (syms_of_lread): Fix literal newlines.
13662
13663 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13664 the string constant limit (2048 bytes) in MSVC.
13665 (main): Ditto.
13666
59ddecde
GM
136672000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13668
52283633 13669 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13670 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13671 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13672 dispatch the event.
13673
07590973
DL
136742000-02-04 Dave Love <fx@gnu.org>
13675
13676 * fileio.c: Remove some unused vars.
13677 (_GNU_SOURCE): Define (for euidaccess).
13678
13679 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13680
13681 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13682 gcpro1, gcpro2.
13683 (read_minibuf): Deal with allow_props correctly.
13684
649351f9
EZ
136852000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13686
13687 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13688
66e4690f 136892000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13690
13691 * search.c (compile_pattern): If a cache entry has a nil regexp,
13692 fill in that entry instead of clobbering a previously cached
13693 string regexp.
13694
66e4690f 136952000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13696
13697 * puresize.h (BASE_PURESIZE): Increase to 610000.
13698
d240a249
GM
136992000-02-02 Gerd Moellmann <gerd@gnu.org>
13700
13701 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13702 can GC.
13703
ca91fb26
KH
137042000-02-02 Kenichi Handa <handa@etl.go.jp>
13705
25660570
KH
13706 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13707 instead of incrementing ic directly.
13708 <CCL_WriteExprConst> Likewise.
13709 <ccl_set_expr>: Set ic to jump_address.
13710
ca91fb26
KH
13711 * fileio.c (e_write): Fix the handling of
13712 CODING_FINISH_INSUFFICIENT_SRC.
13713
2ede9689
DL
137142000-02-01 Dave Love <fx@gnu.org>
13715
13716 * editfns.c (Fpropertize): Doc fix.
13717
13718 * process.c (Fstart_process): Doc fix.
13719
13720 * eval.c: Fix various doc strings not to duplicate information
13721 from help-manyarg-func-alist.
13722
52283633 13723 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13724
13725 * doc.c (Vhelp_manyarg_func_alist): New variable.
13726 (Fdocumentation): Use it.
13727 (syms_of_doc): Define it.
13728
b6680a0e
GM
137292000-01-31 Gerd Moellmann <gerd@gnu.org>
13730
2cb750ba
GM
13731 * xterm.c (xim_open_dpy): Remove unused local variable.
13732
52283633 13733 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13734
13735 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13736 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13737
b6680a0e
GM
13738 * fns.c (sweep_weak_table): New function.
13739 (sweep_weak_hash_tables): Use it. Keep on marking until there
13740 is no more change.
13741
994c5afe
GM
137422000-01-30 Gerd Moellmann <gerd@gnu.org>
13743
13744 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13745 that XTread_socket does not crash by trying to call XNoOp on a
13746 closed display.
427ec082 13747
f00276e3
JR
137482000-01-30 Jason Rumney <jasonr@gnu.org>
13749
13750 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13751 Change selected_frame to SELECTED_FRAME ().
13752 (w32_console_mouse_position): Remove #ifndef MULE from around
13753 `insist' parameter.
13754
13755 * makefile.nt: Remove dosfns.obj.
13756
13757 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13758
13759 * w32fns.c (w32_defined_color): Check for valid frame before
13760 applying gamma correction. Eliminate dependency on frame elsewhere.
13761 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13762 (w32_to_x_font): Use resx and resy not height_in and width_in.
13763 (x_to_w32_font): Doc fix.
13764 (xlfd_strip_height): New function to strip and return font height.
13765 (w32_font_match): Compare height separately from rest of xlfd
13766 spec, using xlfd_strip_height.
13767
13768 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13769 width_in. Use w32_defined_color in place of defined_color.
13770
13771 * w32faces.c: Merge more of DOS and X specifics in preparation for
13772 merge with xfaces.c.
13773 (defined_color): Remove FIXME comment.
13774 (tty_color_name): Provide w32-specific function.
13775 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13776
13777 * w32console.c (turn_on_face, turn_off_face): Removed.
13778 (w32_face_attributes): New function.
13779 (Global_variables): Reduce scope where possible.
13780 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13781 fill attribute.
13782 (hl_mode): Don't modify text attributes.
13783 (write_glyphs): Don't do anything if len <= 0. Use
13784 w32_face_attributes to get attributes for drawing. Write
13785 terminating codes using char_attr_normal.
13786 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13787 (update_begin, update_end): Likewise.
13788 (vga_stdcolor_name): New function.
13789 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13790 (Fset_screen_color): Remove char_attr_reverse.
13791
b08e8bb2
GM
137922000-01-29 Gerd Moellmann <gerd@gnu.org>
13793
13794 * xfns.c (xic_set_preeditarea): Take window parameter and
13795 window-relative pixel-positions.
13796
13797 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13798 is its frame's selected window.
13799 (xim_instantiate_callback): Likewise.
13800
13801 * xfns.c (x_create_im): Removed.
13802 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13803 (supported_xim_styles): Renamed from supported_styles.
13804 (best_xim_style): Renamed from best_style.
13805 (create_frame_xic): Renamed from xic_create_frame.
13806 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13807
b08e8bb2
GM
138082000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13809
13810 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13811 our frames, call XFilterEvent with 2nd parameter `None'.
13812 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13813 returning XBufferOverflow.
52283633 13814 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13815 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13816 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13817 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13818 (xim_initialize, xim_close)
13819 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13820 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13821 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13822 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13823
13824 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13825 and `xim_styles'.
13826 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13827 `xic_style' and `xic_xfs'.
13828 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13829 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13830 (FRAME_XIM): Removed.
13831
13832 * xfns.c (supported_styles): New variable.
13833 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13834 (xic_create_xfontset, best_style, xic_create_frame)
13835 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13836 (xic_set_xfontset): New functions.
13837
142e109c
DL
138382000-01-28 Dave Love <fx@gnu.org>
13839
13840 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13841
13842 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13843
b02786f9
GM
138442000-01-28 Gerd Moellmann <gerd@gnu.org>
13845
d060bc9f
GM
13846 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13847 for *scratch* if it already existed.
13848
b02786f9
GM
13849 * emacs.c (USAGE): New macro.
13850 (main): Use it to display usage information.
13851
2c52d7e4
EZ
138522000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13853
13854 Support for the menu-help feature:
13855
52283633 13856 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13857
13858 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13859 part of the line to the termscript file.
13860 (IT_clear_to_end): Clear the entire line, not just its beginning.
13861 (menu_help_message, prev_menu_help_message): New variables.
13862 (IT_menu_make_room): Make room for the help_text member.
13863 (IT_menu_display): New argument disp_help; all callers changed.
13864 If disp_help is non-zero, store the help text of the active menu
13865 item in menu_help_message.
13866 (XMenuAddPane): Initialize the help_text member to NULL.
13867 (XMenuAddSelection): New argument help_text. Store it in the
13868 XMenu structure.
13869 (XMenuActivate): New argument help_callback. If the value of
13870 menu_help_message has changed since the last time, display the
13871 menu help message text while waiting for the mouse to move. Clear
13872 the echo area before exiting.
13873 (XMenuDestroy): Free the help_text member.
13874
ffe0bcd1
GM
138752000-01-27 Gerd Moellmann <gerd@gnu.org>
13876
13877 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13878 XMenuAddSelection. Pass help callback to XMenuActivate.
13879 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13880
50dbd23f
EZ
138812000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13882
13883 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13884 and EMACS_SET_USECS.
13885
f5941bf8
GM
138862000-01-26 Dave Love <fx@gnu.org>
13887
6c67ddee
DL
13888 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13889
f5941bf8
GM
13890 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13891 an error may be signalled.
13892
9e49c990
GM
138932000-01-26 Gerd Moellmann <gerd@gnu.org>
13894
fc3cb460
GM
13895 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13896 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13897
9e49c990
GM
13898 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13899
d0c037d8
GM
139002000-01-25 Gerd Moellmann <gerd@gnu.org>
13901
13902 * charset.c (Fstring): If there is a multibyte char among
13903 the args, always return a multibyte string.
13904
e12489f9
GM
139052000-01-25 Gerd Moellmann <gerd@gnu.org>
13906
13907 * sysdep.c (sys_select): Turn atimers off and on instead of
13908 recording and restoring old alarm handler
13909
13910 * process.c (toplevel): Include atimer.h.
13911 (create_process_1): Rewritten.
13912 (create_process): Use atimers instead of alarm.
13913 (wait_reading_process_input) [hpux]: Turn atimers off instead
13914 of turning off SIGALRM.
13915 (wait_reading_process_input): Turn off atimers instead off
13916 calling stop_polling.
13917
13918 * emacs.c (main): Call init_atimer.
13919
13920 * keyboard.c (toplevel): Include systime.h and atimer.h.
13921 (polling_for_input): Removed because unused.
13922 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13923 (poll_timer): New variable.
13924 (poll_for_input, poll_for_input_1): New functions.
13925 (start_polling, stop_polling): Rewritten.
13926
13927 * keyboard.h (polling_for_input): Removed.
427ec082 13928
e12489f9
GM
13929 * atimer.h, atimer.c: New files.
13930
13931 * Makefile.in (obj): Add atimer.o.
13932 (atimer.o): New target.
13933
13934 * blockinput.h (pending_atimers): Add extern declaration.
13935 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13936
13937 * lisp.h (popup_activated_flag): Add extern declaration.
13938
13939 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13940 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13941 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13942
13943 * xterm.c (toplevel): Include atimer.h.
13944 (toolkit_scroll_bar_interaction): New variable.
13945 (Fxt_process_timeouts): Removed.
13946 (x_process_timeouts): New function.
13947 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13948 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13949 (x_make_frame_visible): Call poll_for_input_1 instead of
13950 input_poll_signal. Don't call alarm.
13951 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13952
1e5279b9
DL
139532000-01-24 Dave Love <fx@gnu.org>
13954
6c67ddee 13955 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13956 Don't use -cckr -- apparently not now necessary.
13957
edf6aeb8
EZ
139582000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13959
13960 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13961 screen boundary.
13962
9badad41
JR
139632000-01-23 Jason Rumney <jasonr@gnu.org>
13964
13965 * w32fns.c (w32_defined_color): Apply gamma correction before
13966 trying to map to the palette.
13967 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13968 to w32_clear_rect.
13969
13970 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13971 here. Callers changed to always pass real device context.
13972 (w32_draw_bitmap): Likewise.
13973 (w32_get_glyph_overhangs): Likewise.
52283633 13974 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13975 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13976 pfnSetScrollInfo and SetScrollRange.
13977 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13978 back into MULE characters after decoding them.
13979 (x_get_glyph_face_and_encoding): Likewise.
13980 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13981 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13982 (x_produce_glyphs): Calculate per char metrics for a character
13983 that we know exists in default font when font_not_found_p is true.
13984
63bd786b
JR
139852000-01-22 Jason Rumney <jasonr@gnu.org>
13986
13987 * makefile.nt (intervals.obj, composite.obj): New modules.
13988 (composite.h): Added as dependency where appropriate.
13989
13990 * w32gui.h (XGCValue): New struct for emulating X GCs.
13991
13992 * w32term.h (XCharStruct): New struct for emulating X.
13993
13994 * w32console.c (turn_on_face, turn_off_face): New functions.
13995 (change_line_highlight): New prototype for new redisplay.
13996 (write_glyphs): Support multibyte text. Support faces.
13997
52283633 13998 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13999
14000 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14001 throughout. struct frame * in place of FRAME_PTR.
14002 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14003 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14004 (w32_get_arg): Renamed from x_get_arg.
14005 (Fx_file_dialog): New function.
14006 (w32_list_fonts): Check cache before asking system.
14007 (Vw32_enable_synthesized_fonts): New variable.
14008 (Vw32_enable_italics): Obsolete, removed.
14009
14010 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14011 Use SELECTED_FRAME macro.
14012
14013 * w32menu.c: Add skeleton support for help strings on menus.
14014 (add_menu_item): Native checkbox and radio support added, but not
14015 yet enabled due to bugs.
14016 (push_menu_item): Add parameters type, selection and help.
14017 Callers updated.
14018 Formatting changes to reduce unnecessary diffs with xmenu.c.
14019
14020 * w32select.c (Fw32_set_clipboard_data): Update call to
14021 find_charset_in_str.
14022
14023 * w32term.c: Complete rewrite for new redisplay based on new
14024 xterm.c with necessary sections merged back in from old w32term.c.
14025
6ffd3cf7 140262000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14027
14028 * data.c (set_internal): Further fix in same criterion.
14029
6ffd3cf7 140302000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14031
14032 * data.c (set_internal): Fix the criteria for whether
14033 to swap out the old cached binding.
14034
60af03f1
DL
140352000-01-19 Dave Love <fx@gnu.org>
14036
14037 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14038
f9be074f
KH
140392000-01-18 Kenichi Handa <handa@etl.go.jp>
14040
14041 * regex.c (re_compile_fastmap): While checking a range table for
14042 `charset', skip flag bits for a character class correctly.
14043
52b8dbf9
GM
140442000-01-17 Gerd Moellmann <gerd@gnu.org>
14045
d36100c9
GM
14046 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14047
52283633 14048 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14049
14050 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14051 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14052
14053 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14054 MENU_ITEMS_ITEM_.*.
14055 (MENU_ITEMS_ITEM_HELP): New enumerator.
14056 (push_menu_item): Add parameter HELP. Record help in menu_items.
14057 (single_menu_item, single_submenu, list_of_items): Call
14058 push_menu_item with new parameter.
14059 (single_submenu): Set help string in widget value.
14060 (menu_highlight_callback): New function.
14061 (set_frame_menubar): Call lw_create_widget with new
14062 parameter list.
14063 (xmenu_show, xdialog_show): Ditto.
14064
3139018f
GM
140652000-01-13 Gerd Moellmann <gerd@gnu.org>
14066
14067 * sound.c (Fplay_sound): Improve doc string.
14068
83c8f461
RS
140692000-01-11 Richard M. Stallman <rms@gnu.org>
14070
14071 * lisp.h (set_internal): Enter the new arg.
14072
14073 * eval.c (specbind): Record buffer-local variables specially,
14074 indicating which buffer's binding was saved.
14075 (unbind_to): Restore buffer-local variables specially
14076 in the proper buffer.
14077
14078 * data.c (set_internal): New arg BUF.
427ec082 14079
83c8f461
RS
14080 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14081 * data.c (Fset): Pass new arg to set_internal.
14082 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14083
1fab1775
GM
140842000-01-11 Gerd Moellmann <gerd@gnu.org>
14085
52283633 14086 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14087
83c8f461 140882000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14089
14090 * minibuf.c (Ftry_completion): Doc fix.
14091
7a85e4df
GM
140922000-01-11 Gerd Moellmann <gerd@gnu.org>
14093
14094 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14095 vector, too.
14096
a970dae4
AS
140972000-01-11 Andreas Schwab <schwab@suse.de>
14098
14099 * coding.c (code_convert_region): Initialize total_skip.
14100
c65d14ee
DL
141012000-01-08 Dave Love <fx@gnu.org>
14102
14103 * eval.c (Fuser_variable_p): Check customizability too.
14104
834938d2
GM
141052000-01-07 Gerd Moellmann <gerd@gnu.org>
14106
14107 * minibuf.c (Fcompleting_read): Doc fix.
14108
e0303cd6
GM
141092000-01-05 Gerd Moellmann <gerd@gnu.org>
14110
8a26744b
GM
14111 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14112 -L /usr/local/lib.
14113
e0303cd6
GM
14114 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14115 Check that input style is supported before trying to create an
14116 IC for it.
14117 (x_window): Call x_create_im.
427ec082 14118
2e471eb5
GM
141192000-01-04 Gerd Moellmann <gerd@gnu.org>
14120
560a7bd2
GM
14121 * xfns.c (current_gif_memory_src): New variable.
14122 (gif_load): Record the address of the current memory source
14123 in current_gif_memory_src.
14124 (gif_read_from_memory): Use current_gif_memory_src.
14125
f9ee84a3
GM
14126 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14127 macros statement form.
14128
d1299cde
GM
14129 * sound.c (struct sound): Renamed from struct sound_file.
14130 (struct sound): Add members `data' and `header_size'.
14131 (enum sound_attr): Add SOUND_DATA.
14132 (current_sound, current_sound_device): Variables renamed from
14133 sound_file and sound_device.
14134 (parse_sound): Parse :data.
14135 (parse_sound): Handle sound data in strings.
14136 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14137 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14138 needed header size.
14139 (wav_play, au_play): Play sounds from string data.
14140
2e471eb5
GM
14141 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14142
14143 * lisp.h: Add prototype for allocate_string_data.
14144
52283633 14145 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14146
14147 * alloc.c (mark_buffer): Remove code in #if 0.
14148 (gc_sweep): Ditto.
14149 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14150 (strings_consed): New variable.
14151 (allocate_string): Set it.
14152 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14153 (Fmemory_use_counts): Return strings_consed. Use Flist.
14154
14155 * alloc.c: General cleanup in comments etc. Remove conditional
14156 compilation for `standalone'.
14157
14158 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14159
14160 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14161 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14162 (DONT_COPY_FLAG): Removed.
14163 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14164 (struct sdata, struct sblock): New
14165 (struct string_block): Rewritten.
14166 (STRINGS_IN_STRING_BLOCK): New macro.
14167 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14168 (large_sblocks, string_blocks, string_free_list): New variables.
14169 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14170 (init_strings): Rewritten.
14171 (allocate_string, allocate_string_data, compact_small_strings)
14172 (free_large_strings, sweep_strings): New functions.
14173 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14174 (struct string_block_head, current_string_block)
14175 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14176 (STRING_PAD): Removed.
14177 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14178 (Fgarbage_collect): Don't set mark bit in large strings.
14179 (mark_object): Mark strings differently. Mark symbol names
14180 differently.
14181 (survives_gc_p): Test marked strings differently.
427ec082 14182 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14183 symbol names.
14184 (compact_strings): Removed.
14185
42608ba8
EZ
141862000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14187
14188 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14189 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14190
e0a09e1a
KH
141912000-01-04 Kenichi Handa <handa@etl.go.jp>
14192
dd9f0750 14193 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14194 in a non-empty buffer.
dd9f0750 14195
3c0f3b15 14196 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14197
44cd3ae5
GM
141982000-01-03 Gerd Moellmann <gerd@gnu.org>
14199
14200 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14201 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14202
14203 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14204
c182a70f
EZ
142052000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14206
14207 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14208 need to test for MSDOS frames.
14209
24480d5b
EZ
142102000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14211
14212 * dosfns.c (unspecified_colors): Remove.
14213 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14214 unspecified_bg.
14215 (msdos_stdcolor_name): Return strings for unspecified fore- and
14216 back-ground colors.
14217
14218 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14219 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14220 (tty_color_name): Return Lisp strings for unspecified fore- and
14221 back-ground colors.
14222 (Finternal_set_lisp_face_attribute): Remove the special treatment
14223 for Qunspecified_{f,b}g.
52283633 14224 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14225
047f434a
GM
142262000-01-03 Gerd Moellmann <gerd@gnu.org>
14227
14228 * xdisp.c (reseat_at_next_visible_line_start): Position before
14229 newline only if ending up on a newline.
14230 (next_element_from_ellipsis): Return success. Handle case of
52283633 14231 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14232 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14233 returns 0.
14234
d684c676
EZ
142352000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14236
14237 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14238 (Fcolor_supported_p): Renamed from face-color-supported-p.
14239
5fe1d139
EZ
142402000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14241
14242 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14243 list of colors renamed to tty-defined-color-alist.
14244 (tty_color_name): Pass the frame to tty-color-by-index.
14245 (realize_tty_face): tty-color-alist is now a function which
14246 accepts the frame as argument.
14247
52283633 14248 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14249
816be8b8
EZ
142502000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14251
14252 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14253 encode_terminal_code.
14254
b635321e
EZ
142552000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14256
14257 * dispnew.c (mode_line_string): Support termcap frames as well.
14258
9b784e96
GM
142592000-01-01 Gerd Moellmann <gerd@gnu.org>
14260
27189709
GM
14261 * syntax.c (Fforward_word): Undo previous change.
14262
14263 * editfns.c (Fconstrain_to_field): Don't constrain if
14264 inhibit-field-text-motion is non-nil.
14265 (Fline_beginning_position): Undo previous change.
14266 (Fline_end_position): Ditto.
14267
14268 * syntax.c (Fforward_word): Notice field boundaries only if
14269 inhibit-field-text-motion is nil.
14270
14271 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14272
14273 * editfns.c (Vinhibit_field_text_motion): New variable.
14274 (inhibit-field-text-motion): New DEFVAR_LISP.
14275 (Fline_beginning_position, Fline_end_position): Notice field
14276 boundaries only if inhibit-field-text-motion is nil.
14277
45158a91
GM
14278 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14279 All calls adjusted.
14280 (x_build_heuristic_mask): Likewise.
14281 (xbm_load_image_from_file): Change error output.
14282 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14283 (gif_load, gs_load, x_kill_gs_process): Ditto.
14284
9b784e96
GM
14285 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14286 color indices when accessing raster pixels.
63cec32f
GM
14287 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14288 one of :file or :data.
14289 (enum pbm_keyword_index): Add PBM_DATA.
14290 (pbm_format): Add :data.
14291 (pbm_image_p): Allow either :file or :data.
14292 (pbm_read_file): New function.
14293 (pbm_scan_number): Rewritten to read from string.
14294 (pbm_load): Support :data.
9b784e96 14295
2cb085db 14296See ChangeLog.8 for earlier changes.
6922b018
KH
14297
14298;; Local Variables:
49b3bd82 14299;; coding: iso-2022-7bit
6922b018 14300;; End:
2a34a036
GM
14301
14302 Copyright (C) 2001 Free Software Foundation, Inc.
14303 Copying and distribution of this file, with or without modification,
14304 are permitted provided the copyright notice and this notice are preserved.