(current_column_1): Remove unused variable `prev_col'.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
40ef1eda
PJ
12001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * indent.c (current_column_1): Remove unused variable `prev_col'.
4
0c99b139
JR
52001-11-07 Jason Rumney <jasonr@gnu.org>
6
7 * w32term.c (x_display_and_set_cursor): Do not move system caret
8 if cursor_glyph is NULL.
9
830ddd77
PJ
102001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
11
12 * keymap.c (access_keymap): Fix compilation error.
13
55c6d645
MB
142001-11-07 Miles Bader <miles@gnu.org>
15
16 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
17
5de38842
PJ
182001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
19
7a4564a4
PJ
20 * intervals.c (graft_intervals_into_buffer):
21 Remove #ifdef'd-out code.
22 (graft_intervals_into_buffer): Remove unused variable `middle'.
23
5de38842
PJ
24 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
25 code (eval-current-buffer).
26 Change doc-string comments to `new style' [w/`doc:' keyword].
27
4fa23df5
RS
282001-11-06 Richard M. Stallman <rms@gnu.org>
29
30 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
31
7a6a97d7
SM
322001-11-06 Stefan Monnier <monnier@cs.yale.edu>
33
c191d13c
SM
34 * lread.c (read1): Fix behavior with nested backquoting.
35
7a6a97d7
SM
36 * keyboard.c (make_lispy_event): Check integerness and fix
37 Lisp_Object/int mixup.
38
44dc78e0
PJ
392001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
40
41 * fns.c (copy_hash_table): Remove unused variable `v'.
42
17893c65
PJ
43 * fontset.c (fontset_font_pattern): Remove unused variable
44 `family_registry'.
45
4d994a79
PJ
46 * indent.c (current_column_1): Remove unused variable `prev_col'.
47
d5360cc7
RS
482001-11-05 Richard M. Stallman <rms@gnu.org>
49
50 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
51
52 * buffer.c (Fkill_buffer): Don't delete auto save file
53 if buffer is modified.
54
96238a5a
AI
552001-11-05 Andrew Innes <andrewi@gnu.org>
56
57 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
58 CHECK_NUMBER_CDR.
59
d9d54213
RS
602001-11-05 Richard M. Stallman <rms@gnu.org>
61
62 * unexelf.c (unexec): Minor changes; clean up comments.
63
b116830b
SS
642001-11-05 Sam Steingold <sds@gnu.org>
65
66 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
67
3297e2a1
AS
682001-11-05 Andreas Schwab <schwab@suse.de>
69
70 * sound.c (sound_perror): Save errno from being clobbered.
71
9212319f 722001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
73
74 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
75 the program image directly.
76
7dd73b78
PJ
772001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
78
79 * buffer.h (Fbuffer_local_value): Add prototype.
80
982f6c7e
RS
812001-11-04 Richard M. Stallman <rms@gnu.org>
82
d31053f9
RS
83 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
84 and CHECK_BUFFER.
85
86 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
87 (record_char): Likewise.
88
89 * keyboard.c (make_lispy_event): Don't insist a drag event must
90 move to a different buffer position. Instead, check for moving at
91 least double_click_fuzz.
92
93 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
94
95 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
96
982f6c7e
RS
97 * indent.c (current_column_1, Fmove_to_column): Separate the code
98 for display-table glyphs from the code buffer text, to fix
99 bugs in the former.
100
830047fd
RS
1012001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
102
103 * buffer.c (Fbuffer_local_value): New function.
c191d13c 104 (syms_of_buffer): Defsubr it.
b116830b 105
830047fd
RS
106 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
107 value of `cursor-in-non-selected-windows'.
108
109 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
110 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
111 (syms_of_xdisp): Initialize it.
b116830b 112
2df5238c
PJ
1132001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
114
4e397688
PJ
115 * xfns.c (Fx_create_frame): Doc fix.
116
48b0f3ae
PJ
117 * coding.c: Change doc-string comments to `new style' [w/`doc:'
118 keyword].
119
2df5238c
PJ
120 * eval.c (top_level_value, top_level_set): Remove commented and
121 #ifdef'd-out code.
122 (Fdefvar): Fix usage in doc-string.
123
3ecaf7e5
RS
1242001-11-03 Richard M. Stallman <rms@gnu.org>
125
126 * xfns.c: Include unistd.h, if it exists.
127
128 * editfns.c: Move the include of ctype.h after unistd.h.
129
130 * gmalloc.c: Test BROKEN_PROTOTYPES.
131
8db2e33b
KR
1322001-11-03 Ken Raeburn <raeburn@gnu.org>
133
134 * lisp.h (CHECK_STRING_CAR): New macro.
135 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
136 treating XCAR and XCDR as lvalues.
137 (openp): Use CHECK_STRING_CAR.
138 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
139
aed29b97
EZ
1402001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
141
142 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 143 (SIGMASKTYPE): Define.
aed29b97
EZ
144
145 * syssignal.h (sigunblock): Don't define if already defined.
146
6cb16f95
PJ
1472001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
148
16b45be4
EZ
149 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
150 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
151 Fix typos in comments.
152
020f9b38
PJ
153 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
154 and #ifdef'd-out code.
155 Fix and reindent comments.
156
c191d13c 157 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 158
6cb16f95
PJ
159 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
160 argument `i' in macros.
161
162 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
163 `i' in macros.
164
16b45be4
EZ
165 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
166 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
167 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
168 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
169 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
170 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
171 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
172 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
173 in macros.
174
175 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
176 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
177 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
178 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
179 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
180 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
181 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
182 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
183 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
184 (remove unused second argument).
185
7e9d3c2f
SM
1862001-11-02 Stefan Monnier <monnier@cs.yale.edu>
187
188 * syntax.c (describe_syntax): New wrapper.
189 (Finternal_describe_syntax_value): Rename from describe_syntax.
190 Don't insert space at front and \n at the end.
191 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
192
193 * regex.c (re_wctype): Try to fix some warnings.
194 (regcomp, regexec): Don't forget the __restrict.
195
e6bff182
RS
1962001-11-02 Richard M. Stallman <rms@gnu.org>
197
198 * textprop.c (Fget_char_property): Doc fix.
199
9ba48103
PJ
2002001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
201
202 * process.c (Fstart_process): Add usage to doc-string.
203
204 * data.c (Fsetq_default): Ditto.
205
206 * callint.c (Finteractive): Ditto.
207
c22e59e1
SM
2082001-11-01 Stefan Monnier <monnier@cs.yale.edu>
209
210 * macros.c: Don't include keymap.h any more.
211
9271ed2c
RS
2122001-11-01 Richard M. Stallman <rms@gnu.org>
213
e6bff182
RS
214 * data.c (Fmake_local_variable): Doc fix.
215
216 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
217 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
218
9271ed2c
RS
219 * keymap.c (Fdescribe_buffer_bindings): Print character property
220 bindings along with or instead of the buffer local map.
221 Make the overriding maps override what they should.
222
8b8bd9c6
PJ
2232001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
224
225 * window.c (grow_mini_window): Fix typo in comment.
226
27188d11
GM
2272001-11-01 Gerd Moellmann <gerd@gnu.org>
228
7b49b9d2
GM
229 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
230 (XTset_vertical_scroll_bar): Likewise.
231
43f7c3ea
GM
232 * xfns.c (x_build_heuristic_mask): Use four_corners_best
233 instead of IMAGE_BACKGROUND.
c22e59e1 234
b350c2e5
GM
235 * xfns.c (four_corners_best): Reindent.
236
c22e59e1 237 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
238 Handle :box so that it is possible to specify sexprs.
239
d576358b
PJ
2402001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
241
242 * xfaces.c (Finternal_merge_in_global_face): Reindent.
243 (Fface_font): Ditto.
244 (Finternal_set_alternative_font_registry_alist): Ditto.
245 (Ftty_suppress_bold_inverse_default_colors): Ditto.
246
247 * xfns.c (x-get-resource): Reindent.
248
bf00d461
EZ
2492001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
250
251 * s/hpux11.h: New file.
252
4e10df59
PJ
2532001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
254
2b209b97
PJ
255 * emacs.c (USAGE1): Show command line option --no-window-system
256 instead of --no-windows in usage.
257 (standard_args): Rename --no-windows to --no-window-system.
258 (bug_reporting_address): Follow Emacs coding conventions.
259
9dbc9081
PJ
260 * eval.c (Fcommandp): Doc fix.
261 Change doc-string comments to `new style' [w/`doc:' keyword].
262
4e10df59
PJ
263 * frame.c (Fframe_live_p): Doc fix.
264
265 * buffer.c (selective-display-ellipses): Doc fix.
266
dd387b25
GM
2672001-10-31 Gerd Moellmann <gerd@gnu.org>
268
fe957e65
GM
269 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
270
dd387b25
GM
271 * xfaces.c (realize_x_face): If C is not a single-byte character,
272 set the face's colors_copied_bitwise_p instead of the defaulted_p
273 members which have a different meaning.
274 (free_face_colors): Do nothing for a face whose colors have been
275 copied bitwise.
276
c22e59e1 277 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 278
2e1280f8
PJ
2792001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
280
687784e8
PJ
281 * marker.c, mocklisp.c: Change doc-string comments to `new style'
282 [w/`doc:' keyword].
2e1280f8 283
b9d9a9b9
GM
2842001-10-31 Gerd Moellmann <gerd@gnu.org>
285
286 * fns.c (require_unwind): Return Lisp_Object.
287
48400103
PJ
2882001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
289
fa1361cb
PJ
290 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
291 (last-input-char): Revert doc-string to be the same as the
292 doc-string of `last-input-event'.
293
48400103
PJ
294 * xdisp.c: Fix typos in comments.
295
eafa3196
GM
2962001-10-31 Gerd Moellmann <gerd@gnu.org>
297
298 * window.c (grow_mini_window): Handle case that the root
299 window is already smaller than the nominal mininum height.
300
747d3f2a
SM
3012001-10-30 Stefan Monnier <monnier@cs.yale.edu>
302
bf9bb76f
SM
303 * emacs.c (main): Don't call keys_of_macros any more.
304
305 * lisp.h (keys_of_macros): Remove.
306
307 * macros.c (keys_of_macros): Remove.
308
747d3f2a
SM
309 * xfaces.c (Fface_attribute_relative_p): Declare args.
310
5e905a57
JR
3112001-10-30 Jason Rumney <jasonr@gnu.org>
312
313 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
314 (enum_font_cb2): Ignore fonts with vertical orientation.
315
3a426197
RS
3162001-10-30 Richard M. Stallman <rms@gnu.org>
317
318 * keyboard.c (Finput_pending_p): Doc fix.
319
a742d646
GM
3202001-10-30 Gerd Moellmann <gerd@gnu.org>
321
259cf6bc
GM
322 * xterm.c (x_after_update_window_line): Don't run the code
323 clearing in borders for rows whose visible height is 0.
324
3f99f948
GM
325 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
326 resized_p flag is set. If not set, use the much less flickering
327 method previously used.
328
329 * dispnew.c (change_frame_size_1): Set frame's resized_p.
330
331 * frame.h (struct frame) <resized_p>: New member.
332
b4a3be43
GM
333 * lread.c (to_multibyte): Ensure read_buffer is at least twice
334 as large as the number of bytes to convert.
747d3f2a 335
a742d646
GM
336 * lread.c (to_multibyte): New function.
337 (read1): Use it.
338
cacbb9e9
EZ
3392001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
340
341 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
342
99cb6b2f
GM
3432001-10-30 Gerd Moellmann <gerd@gnu.org>
344
327f42ee 345 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
346 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
347 if the row's fill_line_p is set and drawing the last glyph with
348 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 349
99cb6b2f
GM
350 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
351
8e8223e2
SM
3522001-10-29 Stefan Monnier <monnier@cs.yale.edu>
353
354 * xmenu.c: Include coding.h and charset.h.
355 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
356 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
357 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
358 Explicitly set wv->help. Use `TRUE' rather than `True'.
359 (menu_help_callback): Use empty_string.
360
361 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
362 (Fx_popup_dialog): Explicitly init f.
363 (w32_menu_display_help): Use empty_string.
364
4d083a8f
RS
3652001-10-29 Richard M. Stallman <rms@gnu.org>
366
b2304472
RS
367 * fns.c (Frequire): Detect recursive try to require the same
368 feature 3 or more levels deep, and get error.
369 (require_unwind): New subroutine.
370 (require_nesting_list): New variable.
371 (syms_of_fns): Init and staticpro it.
372
4d083a8f
RS
373 * print.c (print_object): Clarify indication of insertion type.
374
2fe41216
EZ
3752001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
376
90480000
EZ
377 * coding.c (syms_of_coding): Document that locale-coding-system is
378 used for decoding input on X.
379
2fe41216
EZ
380 * window.c (Fscroll_left, Fscroll_right): Doc fix.
381
74e79967
PJ
3822001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
383
384 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
385 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
386
60ebcfe8
GM
3872001-10-29 Gerd Moellmann <gerd@gnu.org>
388
9a7bdceb
GM
389 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
390 use NO_CURSOR if cursor_in_non_selected_windows is false.
391
3f08fcd2
GM
392 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
393 the slant attribute if FRAME is t.
394
0ccfdad2
GM
395 * xfns.c (x_set_internal_border_width): Set frame garbaged
396 when X window doesn't exist yet.
397
ef253080
GM
398 * xterm.c (x_after_update_window_line): Clear internal border
399 in different circumstances.
b116830b 400
60ebcfe8
GM
401 * xterm.c (XTread_socket) <KeyPress>: Don't use
402 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
403 <handa@etl.go.jp>.
404
73d25f9c
EZ
4052001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
406
407 * m/ibms390.h: New file. From Adam Thornton
408 <athornton@sinenomine.net>.
409
cac1daf0
GM
4102001-10-28 Gerd Moellmann <gerd@gnu.org>
411
053b3256 412 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 413
cac1daf0
GM
414 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
415 a loop counter.
416
13b1a09c
PJ
4172001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
418
186486eb
PJ
419 * emacs.c: Use argv[0] instead of emacs when -t was specified.
420
4707d2d0
PJ
421 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
422 keyword].
423 Fix typos in comments.
b116830b 424
d883731c
PJ
425 * emacs.c (bug_reporting_address): New function.
426 Use it when displaying usage message.
427
04012254
PJ
428 * minibuf.c (read_minibuf): Remove unused external declaration of
429 variable `Qread_only'.
430
13b1a09c
PJ
431 * keymap.c (access_keymap): Remove unused variable `charset'.
432
5bbf4378
MB
4332001-10-28 Miles Bader <miles@gnu.org>
434
435 * xfaces.c (merge_face_heights): Handle TO being relative as well.
436 Remove #ifdef'd-out code.
437 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
438 (syms_of_xfaces): Initialize them.
439
1ce1e4ee
JR
4402001-10-27 Jason Rumney <jasonr@gnu.org>
441
442 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
443 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
444 position using the system caret.
445
446 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
447 (w32_system_caret_height, w32_system_caret_x)
448 (w32_system_caret_y): New variables for tracking system caret.
449 (w32_initialize): Initialize them.
c2d53558 450 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 451
c2d53558
SM
452 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
453 New messages types.
1ce1e4ee
JR
454
455 * w32term.c (note_mouse_highlight): Clear old help_echo.
456
4e30ce42
PJ
4572001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
458
bb4600a4
PJ
459 * xterm.c: Fix typo in a comment.
460
7db35a48
PJ
461 * emacs.c: Fix typos in comments.
462 Remove unnecessary spaces.
463 Change doc-string comments to `new style' [w/`doc:' keyword].
464 (USAGE2): Fix typos in usage string.
465
a7248e4f
PJ
466 * xterm.c: Fix typo in a comment.
467
4e30ce42
PJ
468 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
469 emacs.c.
470
62725a92
GM
4712001-10-27 Gerd Moellmann <gerd@gnu.org>
472
798dbe1f 473 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 474 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
475 farther backward when target_y was not reached.
476
62725a92
GM
477 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
478 Display errno only if non-zero.
479 (sound_warning): New function.
480 (vox_configure): Don't treat failing to set sample rate as error.
481 (various places): Improve error messages.
482
d4e34d24
EZ
4832001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
484
944e6f60
EZ
485 * fileio.c (Faccess_file): Run the argument filename through
486 Fexpand_file_name, before using it.
487
d4e34d24
EZ
488 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
489 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
490
38d2af0c
GM
4912001-10-26 Gerd Moellmann <gerd@gnu.org>
492
da80a8d5
GM
493 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
494
38d2af0c
GM
495 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
496 Fix clearing in the case of scroll bars on the right.
c2d53558 497
56f508dd
EZ
4982001-10-26 Juanma Barranquero <lektu@terra.es>
499
500 * w32gui.h (XImage): Add a dummy typedef.
501
fbd5ceb2
GM
5022001-10-26 Gerd Moellmann <gerd@gnu.org>
503
c2d53558 504 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 505
b23236fb
EZ
5062001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
507
508 * frame.c (Fframe_parameter): Fix last change.
509
5d991fc4
EZ
510 * fileio.c: Revert last change (which removed old commented-out
511 version of expand-file-name). Add a comment that explains why
512 this old version should not be removed.
513
879eadc3
GM
5142001-10-25 Gerd Moellmann <gerd@gnu.org>
515
75700ff2
GM
516 * frame.c (Fframe_parameter): Fix a bug whereby some
517 ``artificial'' frame parameters, like `minibuffer' were not
518 obtained by calling Fframe_parameters.
519
dfe92a6a
GM
520 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
521 cursor differently.
522
879eadc3
GM
523 * xdisp.c (move_it_vertically_backward): Compute line height
524 differently. Add heuristic to try to be more compatible to 20.x.
525
e1010ebe
SM
5262001-10-25 Stefan Monnier <monnier@cs.yale.edu>
527
d73a471b
SM
528 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
529
d6da5a06
GM
530 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
531 boolean.
e1010ebe 532
f66bd220
MB
5332001-10-25 Miles Bader <miles@gnu.org>
534
535 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
536 BG is a pointer to a structure, not a structure.
537 (gif_format, png_format): Add missing commas.
538
d436d538
RS
5392001-10-24 Richard M. Stallman <rms@gnu.org>
540
541 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 542 (syms_of_xfaces): Defsubr it.
d436d538 543
075c507b
PJ
5442001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
545
546 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
547 variable `area'.
548
d492b584
PJ
5492001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
550
c2d53558 551 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 552
e2a57b34
MB
5532001-10-25 Miles Bader <miles@gnu.org>
554
555 * dispextern.h (struct image): Add `background',
556 `background_valid', and `background_transparent' fields.
557 (image_background, image_background_transparent): New declarations.
558 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
559 * xfns.c (image_background, image_background_transparent)
560 (four_corners_best): New functions.
c2d53558 561 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
562 (gs_format): Add `:background' entry.
563 (lookup_image): Set IMG's background color if specified.
564 (pbm_load, xbm_load_image, png_load): Set IMG's background field
565 when appropriate.
566 (x_clear_image_1): Reset `background_valid' and
567 `background_transparent_valid' fields.
568 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
569 calculating it here. Set IMG's background_transparent field.
570 (enum xpm_keyword_index): Add XPM_BACKGROUND.
571 (enum png_keyword_index): Add PNG_BACKGROUND.
572 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
573 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
574 (enum gif_keyword_index): Add GIF_BACKGROUND.
575 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 576 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
577 Pre-calculate image background color where necessary.
578 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
579 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
580 color to use for image glyph reliefs.
581
b547b6e8
GM
5822001-10-24 Gerd Moellmann <gerd@gnu.org>
583
d9e3b8c6
GM
584 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
585 in full-width rows.
c2d53558 586
b547b6e8
GM
587 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
588 Fix clearing of area not covered by scroll bar.
589
2beb36f9
PJ
5902001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
591
592 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
593 and `real_start'.
c2d53558 594 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
595 (glyph_rect): Remove unused variable `area'.
596
76cb5e06
GM
5972001-10-24 Gerd Moellmann <gerd@gnu.org>
598
bdbdebff 599 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
600
601 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
602 (row_containing_pos): Take additional argument DY.
603 Treat rows ending in middle of char differently.
62e33982
GM
604 (display_line): Handle tabs on window systems differently.
605
606 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
607 with additional argument.
608
609 * dispextern.h (row_containing_pos): Adjust prototype.
610
76cb5e06
GM
611 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
612 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
613 (try_window_id, try_window_reusing_current_matrix)
614 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
615 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
616
996fee11
PJ
6172001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
618
c9e60620
PJ
619 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
620 gnuemacs).
621 (HAVE_BOXES): Fix typo in comment.
622 (push_menu_pane): Fix typo in comment.
623
3b552d56
PJ
624 * xdisp.c: (display_prop_string_p): Remove unused local declaration
625 of `Qwhen'.
626 (single_display_prop_string_p): Remove unused local declarations
627 of `Qwhen' and `Qmargin'.
628 (string_buffer_position): Remove unused variable `around'.
629 (store_frame_title): Remove unused variable `width'.
630
15c565ac
PJ
631 * window.c: Don't define max.
632 (coordinates_in_window): Remove unused variable `uy'.
633
a8818eb9
PJ
634 * widget.c: Don't define max.
635
996fee11
PJ
636 * process.c: Don't define max.
637 (create_process): Remove unused variable `buffer'.
638
496e1a5b
GM
6392001-10-23 Gerd Moellmann <gerd@gnu.org>
640
c2d53558 641 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 642
5905ae8b
EZ
6432001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
644
645 * xfaces.c (Finternal_set_lisp_face_attribute)
646 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
647 frame is on a windowed display.
648
24db49fb
GM
6492001-10-23 Gerd Moellmann <gerd@gnu.org>
650
c2d53558
SM
651 * dispnew.c (sync_window_with_frame_matrix_rows):
652 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
653 of marginal areas.
654
c2d53558 655 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 656
f0487f05
EZ
6572001-10-23 Andreas Schwab <schwab@suse.de>
658
659 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
660 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
661
f0a48a01
GM
6622001-10-23 Gerd Moellmann <gerd@gnu.org>
663
c2d53558 664 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
665 REAL_END. Notice if cursor gets overwritten.
666 (notice_overwritten_cursor): Take X positions as parameters.
667 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
668 around call to x_draw_glyphs.
669
a50a10a0
PJ
6702001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
671
fc11dff0
PJ
672 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
673 instead of C) and usage.
a50a10a0 674
fc11dff0
PJ
675 * editfns.c (char-to-string): Fix argument names (use CHAR instead
676 of C) and usage.
a50a10a0
PJ
677
678 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
679 `left', `max_width' and `max_height'.
680
8738febd
GM
6812001-10-23 Gerd Moellmann <gerd@gnu.org>
682
683 * xdisp.c (display_line): For a tab continued to the next line,
684 set row's ends_in_middle_of_char_p.
685
653c329b
GM
6862001-10-22 Gerd Moellmann <gerd@gnu.org>
687
688 * xdisp.c (display_line): Fix computation of continuation lines
689 width for TABs.
690
f958c5ac
PJ
6912001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
692
7ba51063
PJ
693 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
694 `Qlaplace'.
695
f958c5ac
PJ
696 * fileio.c: Remove unused code.
697
eb360291
MB
6982001-10-22 Miles Bader <miles@gnu.org>
699
700 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
701 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
702 Remove `DOC_STRINGS_IN_COMMENTS' cases.
703
98515cf0
JR
7042001-10-21 Jason Rumney <jasonr@gnu.org>
705
706 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
707
93026d88
EZ
7082001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
709
710 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
711 (Finsert_string): Avoid the multi-line string literals warning.
712
c9a95b79
MB
7132001-10-22 Miles Bader <miles@gnu.org>
714
715 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
716 (Fdocumentation): Don't use it.
717 (syms_of_doc): Don't initialize it.
718
719 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
720 * print.c (Fwith_output_to_temp_buffer): Likewise.
721 * window.c (Fsave_window_excursion): Likewise.
c2d53558 722 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 723 (Fsave_restriction): Likewise.
c2d53558
SM
724 * eval.c (Frun_hooks, Frun_hook_with_args)
725 (Frun_hook_with_args_until_failure)
726 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
727 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
728 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
729 (Funwind_protect, Fcondition_case): Likewise.
730 * coding.c (Ffind_operation_coding_system): Likewise.
731 * keyboard.c (Ftrack_mouse): Likewise.
732
a3b10252
MB
7332001-10-21 Miles Bader <miles@gnu.org>
734
c2d53558 735 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
736 (Fmake_hash_table): Add usage: string to doc string.
737 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 738 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
739 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
740 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
741 (Fml_prefix_argument_loop): Likewise.
742
c6f73eec
PJ
7432001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
744
c2d53558 745 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 746
c6f73eec
PJ
747 * sysdep.c (init_sys_modes): Change doc-string comments to `new
748 style' [w/`doc:' keyword].
749
750 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
751 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
752 comments to `new style' [w/`doc:' keyword].
753
3cf3436e
JR
7542001-10-21 Jason Rumney <jasonr@gnu.org>
755
756 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
757
c169b8f1
JR
758 * w32term.c (remember_mouse_glyph): New function.
759 (w32_mouse_position): Use it.
760 (note_mouse_movement): If the mouse moved off the glyph, remember
761 its new position.
c2d53558 762
4fdd691b
JR
763 * w32term.h (struct w32_output): Correct spelling of x_compatible.
764 (w32_display_info): Add mouse_face_overlay.
765
c169b8f1
JR
766 * w32term.c (notice_overwritten_cursor): Renamed from
767 note_overwritten_text_cursor. Rewritten to take glyph widths into
768 account.
769 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
770 (fast_find_string_pos): New function.
771 (fast_find_position): Return the correct vpos. Add parameter
772 STOP. In the final row, stop before glyphs having STOP as object.
773 Don't consider glyphs that are not from a buffer.
774 (fast_find_position) [0]: Add a presumably more correct version
775 for after 21.1.
776 (expose_window_tree, expose_frame): Don't compute intersections here.
777 (expose_window): Do it here instead.
778 (expose_window_tree, expose_window, expose_line): Return 1 when
779 overwriting mouse-face.
780 (expose_window): If W is the window currently being updated, mark
781 the frame garbaged.
782 (expose_frame): If mouse-face was overwritten, redo it.
783 (x_use_underline_position_properties): New variable.
784 (syms_of_xterm): DEFVAR_BOOL it.
785 (x_draw_glyph_string): Add comment to use it in future.
786 (x_draw_glyph_string): Restore clipping after drawing box.
787 Fix a computation of the underline position.
788 (w32_get_glyph_string_clip_rect): Minor cleanup.
789 (x_fill_stretch_glyph_string): Remove an assertion.
790 (x_produce_glyphs): Don't convert multibyte characters
791 to unibyte characters in unibyte buffers.
792 (cursor_in_mouse_face_p): New function.
793 (x_draw_stretch_glyph_string): Use it to choose a different GC
794 when drawing a cursor within highlighted text. Don't draw
795 background again if it has already been drawn.
796 (x_draw_glyph_string_box): Don't draw a full-width
797 box just because the glyph row's full_width_p flag is set.
798 (x_draw_glyphs): Fix computation of rightmost x for
799 full-width rows.
800 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
801 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
802 change bottom shadow accordingly. Some cleanup.
803 (x_update_window_end): Handle overwritten mouse face
804 also for tool bar windows.
805 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
806 DRAW is DRAW_IMAGE_RAISED.
807 (clear_mouse_face): Return 1 if text with mouse face was
808 actually redrawn. Make the function static. Reset
809 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
810 optimize away highlighting if we pass over that same overlay again.
811 (note_mouse_highlight): Call mouse_face_overlay_overlaps
812 to detect a case where we have to highlight a different region
813 despite not having left the currently highlighted region.
814 Set mouse_face_overlay in the x_display_info. Avoid changing the
815 mouse pointer shape when show_mouse_face has already done it, or
816 there is no need. Handle mouse-face and help-echo in strings.
817 (glyph_rect): New function.
818 (w32_mouse_position): Use it to raise the threshold for mouse
819 movement event generation.
820 (w32_initialize_display_info): Initialize the x_display_info's
821 mouse_face_overlay.
822 (w32_set_vertical_scroll_bar): Don't clear a zero height
823 or width area.
824 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
825 a widget to zero height.
826
3cf3436e 827 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 828 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
829 equivalents in menu_items.
830 (w32_menu_show): Don't overwrite an item's name with its key
831 description in case the description is a multibyte string.
832 (single_submenu): Some cleanup.
833
834 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
835 (postprocess_image): New function.
836 (lookup_image): Call it for all image types except PostScript.
837 (x_kill_gs_process): Call postprocess_image.
838 (tiff_error_handler, tiff_warning_handler): New functions.
839 (tiff_load): Install them as handlers.
840 (x_kill_gs_process): Recognize if someone has cleared the image
841 cache under us.
842 (valid_image_p): Protect better against invalid image
843 specifications. Previous code could signal an error.
844 (Fx_hide_tip, Fshow_tip): Doc fix.
845 (Fv_max_tooltip_size): New variable.
846 (syns_of_xfns): DEFVAR_LISP it.
847 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
848 window buffer to *tip* right after creating the frame. Set frame's
849 window_width. Use a maximum tooltip size specified by
850 Vx_max_tooltip_size, if that has valid contents.
851 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
852 Make sure the tooltip is completely visible.
853 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
854 (Fx_create_frame): Adjust the frame's height for presence
855 of the tool bar before calling x_figure_window_size.
856 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
857 when the window gets smaller.
858 (x_set_foreground_color): Set frame's cursor_pixel.
859 (x_set_foreground_color, x_set_background_color): Cleaned up.
860 (x_set_font): Handle case of x_new_fontset returning the same name
861 as before, although there was a change in fontsets.
862
386ca361
MB
8632001-10-21 Miles Bader <miles@gnu.org>
864
c2d53558 865 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
866 (Flogxor): Add usage: string to doc string.
867 * charset.c (Fstring): Likewise.
868 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
869 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
870
14ff1ee0
PJ
8712001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
872
03be2694
PJ
873 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
874
875 * alloc.c: Reindent DEFUNs with doc: keywords.
876
877 * abbrev.c (Finsert_abbrev_table_description): Reindent.
878
14ff1ee0
PJ
879 * frame.c: Change doc-string comments to `new style' [w/`doc:'
880 keyword].
881
71431a0e
GM
8822001-10-20 Gerd Moellmann <gerd@gnu.org>
883
6aa97356 884 * (Version 21.1 released.)
71431a0e 885
39f624fa
PJ
8862001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
887
c2d53558 888 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
889
890 * xdisp.c (invisible_text_between_p): Put prototype inside #if
891 0 because unused.
892
893 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
894 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
895 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 896
abcce93a
MB
8972001-10-20 Miles Bader <miles@gnu.org>
898
899 The following changes remove the glyph_row `inverse_p' field,
900 which is never set anymore, due to other changes:
901
902 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
903 (reassert_line_highlight, change_line_highlight): Declarations removed.
904 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
905 (line_hash_code, row_equal_p, fake_current_matrices)
906 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
907 (update_frame_line, update_frame_line, update_frame_line):
908 Don't use `inverse_p' field.
909 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
910 change_line_highlight_hook.
911 (XTreassert_line_highlight, x_change_line_highlight):
912 Functions removed.
c2d53558 913 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
914 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
915 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
916 `inverse_p' field.
c2d53558 917 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
918 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
919 (w32_reassert_line_highlight, x_change_line_highlight):
920 Functions removed.
921 * w32console.c (reassert_line_highlight, change_line_highlight):
922 Functions removed.
923 (initialize_w32_display): Don't set reassert_line_highlight_hook
924 or change_line_highlight_hook.
925 (hl_mode): Function removed.
c2d53558
SM
926 (reset_terminal_modes, set_terminal_modes, update_begin)
927 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
928 (clear_frame, ins_del_lines): Don't call it.
929 * termhooks.h (reassert_line_highlight_hook)
930 (change_line_highlight_hook): Declarations removed.
931 * term.c (reassert_line_highlight_hook)
932 (change_line_highlight_hook): Variables removed.
933 (reassert_line_highlight, change_line_highlight): Functions removed.
934 * msdos.c (IT_reassert_line_highlight)
935 (IT_change_line_highlight): Functions removed.
936 (internal_terminal_init): Don't set reassert_line_highlight_hook
937 or change_line_highlight_hook.
938 (highlight): Variable removed.
c2d53558 939 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
940 (IT_set_terminal_modes): Don't set or use it.
941
942 The following changes remove inverse-video support for terminals
943 that use a `magic cookie' standout mode. Due to changes in the
944 way mode-lines are displayed, such support no longer works
945 anyway, and it's probable that almost no one uses such terminals
946 anymore:
947
948 * term.c (standout_requested): Variable removed.
949 (update_end, highlight_if_desired): Don't use it.
950 (chars_wasted, copybuf): Variables removed.
951 (write_standout_marker): Function removed.
c2d53558 952 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
953 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
954 Don't use `chars_wasted' or `copybuf'.
955 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
956 Set `costs_set' to true.
957 (cursor_to, clear_end_of_line): Test `costs_set' instead of
958 `chars_wasted'.
959 (clear_end_of_line): Function removed.
960 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
961 (clear_to_end): Call `clear_end_of_line' instead of
962 `clear_end_of_line_raw'.
54800acb
MB
963 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
964 (term_init): Don't set them.
965 Turn off any standout/underline modes that require magic cookies.
c2d53558 966 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
967 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
968 Remove special processing for magic-cookie standout modes.
969 (turn_off_face, turn_on_face): Remove special processing for
970 underline magic-cookie glitch.
abcce93a 971
0b5f679f
RS
9722001-10-19 Richard M. Stallman <rms@gnu.org>
973
974 * eval.c (syms_of_eval): Doc fixes.
975
5a4a5bd4
GM
9762001-10-19 Gerd Moellmann <gerd@gnu.org>
977
978 * xdisp.c (redisplay_internal): Don't clear echo area if the
979 mini-window is selected.
980
79f1f96c
MB
9812001-10-19 Miles Bader <miles@gnu.org>
982
b57c2708
MB
983 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
984 doesn't take precedence if the affected property's value is nil.
985
986 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
987
79f1f96c
MB
988 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
989 with fields and suggest using `forward-line' to avoid them.
990 * editfns.c (Fline_beginning_position, Fline_end_position):
991 Clarify documentation.
992
ef879104
SM
9932001-10-18 Stefan Monnier <monnier@cs.yale.edu>
994
995 * keymap.c (current_minor_maps): `override' only shadows its
996 correspondent in minor-mode-map-alist, not the whole tail.
997
97f4db8c
AI
9982001-10-18 Andrew Innes <andrewi@gnu.org>
999
1000 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1001 optimization. The fontp->encoding array was not being initialized
1002 correctly when compiled with optimizations by MSVC.
1003
e6b70fd8
GM
10042001-10-18 Gerd Moellmann <gerd@gnu.org>
1005
30903479 1006 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1007
0e804d38
AI
10082001-10-17 Andrew Innes <andrewi@gnu.org>
1009
1010 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1011
1012 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1013 font_info.charset field.
1014
1015 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1016 rather than working it out by calling w32_codepage_for_font for
1017 every glyph.
1018
66e5868a
AI
10192001-10-17 Andrew Innes <andrewi@gnu.org>
1020
1021 * w32term.c (w32_read_socket): Determine clipping rectangle for
1022 the entire frame, including areas covered by scrollbars and the
1023 menubar. This avoids internal arguments about whether a frame is
1024 fully obscured or not.
1025
15b00083
GM
10262001-10-17 Gerd Moellmann <gerd@gnu.org>
1027
23e8bd86
GM
1028 * xdisp.c (try_window_id): Undo last change. Give up if
1029 window ends in strings.
30903479 1030
9c6ba6d1 1031 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1032 end if the rest of the window after the window end was already blank.
23e8bd86 1033
30903479 1034 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1035 for the release of 21.1.
1036
30903479 1037 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1038
945220bd
MB
10392001-10-17 Miles Bader <miles@gnu.org>
1040
1041 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1042 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1043 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1044 Change doc-string comments to `new style' [w/`doc:' keyword].
1045 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1046 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1047 out make-docfile.
1048
14242528
MB
10492001-10-16 Miles Bader <miles@gnu.org>
1050
1051 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1052
3ddf952f
GM
10532001-10-16 Gerd Moellmann <gerd@gnu.org>
1054
1055 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1056 *scratch*.
1057
f3fbd155
KR
10582001-10-16 Ken Raeburn <raeburn@gnu.org>
1059
1060 Avoid the assumption that car and cdr slots of cons cells are
1061 addressable lvalues; this allows for easier experimentation with
1062 other lisp implementations that may not permit such accesses for
1063 various reasons. Not quite complete -- buffer.c still needs some
1064 work, and w32/mac files need rechecking -- so compile-time
1065 enforcement is left disabled for now.
1066
1067 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1068 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1069 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1070 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1071 (XSETCAR, XSETCDR): New macros.
1072 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1073 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1074 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1075 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1076 XSETCDR.
1077 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1078 * buffer.c (record_buffer, Fbury_buffer)
1079 (swap_out_buffer_local_variables, recenter_overlay_lists)
1080 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1081 fields of a cons cell respectively.
1082 * callint.c (quotify_args, Fcall_interactively): Likewise.
1083 * ccl.c (Fregister_code_conversion_map): Likewise.
1084 * coding.c (detect_coding_system): Likewise.
1085 * composite.c (get_composition_id, make_composition_value_copy):
1086 Likewise.
30903479
SM
1087 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1088 (swap_in_symval_forwarding, set_internal, Fset_default)
1089 (Fmake_variable_buffer_local, Fmake_local_variable)
1090 (Fmake_variable_frame_local): Likewise.
f3fbd155 1091 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1092 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1093 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1094 * minibuf.c (get_minibuffer): Likewise.
1095 * search.c (Fmatch_data): Likewise.
1096 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1097 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1098 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1099 Likewise.
1100 * w32term.c (x_delete_display): Likewise.
1101 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1102 Likewise.
c2d53558 1103 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1104 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1105 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1106 (Fread_file_name): Use XSETCAR.
1107 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1108 CHECK_NUMBER_CDR.
1109 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1110 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1111 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1112 CHECK_NUMBER_CDR.
1113 * keyboard.c (read_char): Alter list traversal to avoid taking the
1114 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1115 (parse_menu_item): Use XSETCAR and XSETCDR.
1116 (reach_char_x_menu_prompt): Use XSETCAR.
1117 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1118 (Fcommand_execute): Use XSETCDR.
1119 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1120 (openp): Change list traversal to avoid using XCAR as lvalue.
1121 (read_list): Use XSETCDR.
1122 * process.c (wait_reading_process_input): Change wait_for_cell
1123 handling to avoid taking addresses of cons cell slots.
30903479
SM
1124 * xselect.c (x_own_selection, x_handle_selection_clear)
1125 (x_clear_frame_selections): Use XSETCDR.
1126 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1127 (x_handle_property_notify, x_get_foreign_selection)
1128 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1129
502150e5
PJ
11302001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1131
018ba359
PJ
1132 * buffer.c: Put doc strings in comments.
1133
30903479 1134 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1135
b56ba8de
SS
11362001-10-15 Sam Steingold <sds@gnu.org>
1137
1138 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1139
6a0b793a
PJ
11402001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1141
30903479
SM
1142 * process.c (process-inherit-coding-system-flag)
1143 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1144 in comment.
1145
a1f17501 1146 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1147 arguments. Put doc strings in comments.
a65da641
PJ
1148
1149 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1150
aa601ad0
GM
11512001-10-15 Gerd Moellmann <gerd@gnu.org>
1152
30903479 1153 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1154
aa601ad0
GM
1155 * window.c (select_window_1): Unfreeze window start. Remove a
1156 doubled test for WINDOW being live.
1157
288148a1
PJ
11582001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1159
dd8d1e71
PJ
1160 * fns.c (Fmapconcat): Fix typo in a doc string.
1161
288148a1
PJ
1162 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1163
9f5eb4a3
GM
11642001-10-15 Gerd Moellmann <gerd@gnu.org>
1165
1166 * xterm.c (x_draw_glyph_string): Restore clipping after
1167 drawing box.
1168
dbae44c8
PJ
11692001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1170
30903479 1171 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1172
0c88c937
SM
11732001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1174
56378db4
GM
1175 * indent.c (skip_invisible): Use new retval of
1176 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1177
845e4cf4
SM
1178 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1179 If a parent is reached and noinherit is set, exit immediately.
1180 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1181
0c88c937
SM
1182 * s/ms-w32.h (EXEC_SUFFIXES):
1183 * s/msdos.h (EXEC_SUFFIXES):
1184 * process.h (EXEC_SUFFIXES): Remove.
1185
1186 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1187 (decode_suffixes): Remove.
1188
1189 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1190 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1191 (invisible_ellipsis_p): Remove.
0c88c937
SM
1192
1193 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1194 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1195 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1196 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1197 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1198
d19be8a9
PJ
11992001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1200
04d7d066
PJ
1201 * lisp.h (Ftop_level): Add prototype.
1202
d624284c
PJ
1203 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1204 (XTread_socket): Improve style of comments to follow other
1205 comments.
1206
a87414f9
PJ
1207 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1208 is already prototyped in included lisp.h).
1209
d19be8a9
PJ
1210 * frame.c (Fset_mouse_position): Improve style of comment to
1211 follow other comments.
1212 (Fset_mouse_pixel_position): Improve style of comment to follow
1213 other comments.
1214 (Fmake_frame_visible): Doc fix and typo in comment.
1215 (Fmake_frame_invisible): Doc fix and typo in comment.
1216 (Ficonify_frame): Fix typo in comment.
1217
c061c855
GM
12182001-10-14 Gerd Moellmann <gerd@gnu.org>
1219
37f6b5b6 1220 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1221 * term.c, alloc.c: Put doc strings in comments.
c061c855 1222
e641b454
GM
12232001-10-13 Gerd Moellmann <gerd@gnu.org>
1224
1225 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1226 Provide definitions for doc strings in comments.
1227
1228 * fns.c: Put doc strings in comments.
1229
51724e26
EZ
12302001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1231
1232 * dired.c (file_name_completion): Ignore a candidate directory if
1233 it matches an element in completion-ignored-extensions that ends
1234 in a slash.
1235 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1236 feature in the doc string.
1237 (Ffile_name_completion): Ditto.
1238
be5fc59b
SM
12392001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1240
5a1373f3
SM
1241 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1242
1243 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1244
1245 * lisp.h (Fprovide): Update prototype.
1246 (Ffeaturep, invisible_p): Remove.
1247
bbc4a3d3 1248 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1249 (DOLIST, LOOP_PROPVAL): New macros.
1250 (invisible_p, invisible_ellipsis_p): Use them.
1251 (invisible_noellipsis_p): New function.
1252 (syms_of_xdisp): Use empty_string.
1253
1254 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1255
1256 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1257 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1258
1259 * print.c (Fwith_output_to_temp_buffer): Align with
1260 internal_with_output_to_temp_buffer.
1261 (print_preprocess): Use traverse_intervals_noorder.
1262 (print_object): Update call to traverse_intervals.
1263
1264 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1265 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1266
1267 * intervals.c (traverse_intervals_noorder): New function.
1268 (search_for_interval, count_intervals): Use it.
1269 (traverse_intervals): Use less stack space and drop `depth' arg.
1270
1271 * fns.c (Ffeaturep): Add new `subfeature' arg.
1272 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1273 (Qsubfeatures): New var.
1274 (syms_of_fns): Initialize it.
1275
026f408d
SM
1276 * keymap.c (Fkey_description): Use empty_string.
1277 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1278 (syms_of_keymap): Setup inheritance between maps.
1279 Don't export Sdescribe_bindings_internal any more.
1280
be5fc59b
SM
1281 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1282
3365175e
GM
12832001-10-12 Gerd Moellmann <gerd@gnu.org>
1284
1285 * xterm.c (notice_overwritten_cursor): Renamed from
1286 note_overwritten_text_cursor. Rewritten to take glyph widths into
1287 account.
1288
2ab7765c
EZ
12892001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1290
1291 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1292 multi-line strings without a trailing "\n\".
1293
311346bb
PJ
12942001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1295
1296 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1297 defined.
1298
2168e04d
SM
12992001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1300
026f408d
SM
1301 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1302
c0ec53ad
SM
1303 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1304 * w32proc.c (sys_spawnve):
1305 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1306 * w32.c (check_windows_init_file):
1307 * sound.c (Fplay_sound):
026f408d 1308 * emacs.c (init_cmdargs):
c0ec53ad
SM
1309 * process.c (Fstart_process): Update calls to openp.
1310
1311 * callproc.c (Vexec_suffixes): New var.
1312 (Fcall_process): Update call to openp.
1313 (decode_suffixes): New function.
1314 (syms_of_callproc): Init exec-suffixes.
1315
1316 * lread.c (Vload_suffixes, default_suffixes): New vars.
1317 (openp): Take a lisp list of suffixes.
1318 Check for file-name-handlers even if the file was absolute already.
1319 (syms_of_lread): Declare load-suffixes.
1320 (Fload): Fix up call to openp.
1321 Don't bother checking for file-name-handler at the very beginning.
1322
f6333468
SM
1323 * keymap.h (Fcopy_keymap): Don't export.
1324
1325 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1326 (Vload_suffixes, Vexec_suffixes): Declare.
1327 (openp): Update prototype.
f6333468
SM
1328
1329 * emacs.c (empty_string): New var.
1330 (syms_of_emacs): Initialize it.
1331
1332 * search.c (wordify): Use it.
1333
1334 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1335 selected window if it's not displayed there. Handle the case
1336 when the window is dedicated.
1337 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1338
1339 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1340
2168e04d
SM
1341 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1342 Remove left_ok and right_ok.
1343 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1344 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1345 new meaning of b_property.
1346
1347 * syntax.c (update_syntax_table): Simplify.
1348 (Fforward_comment): Don't skip quoted chars when going backward.
1349
13d95cc0
GM
13502001-10-11 Gerd Moellmann <gerd@gnu.org>
1351
beb0990f
GM
1352 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1353 in case I is of some unsigned type, in which case
1354 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1355 comparison becomes bogus.
1356
cb938d46
GM
1357 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1358 (Fuser_full_name): Fix bug treating a float as a fixnum.
1359
1360 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1361
1362 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1363
13d95cc0
GM
1364 * lisp.h (circular_list_error): Add prototype.
1365
1366 * data.c (Qcircular_list): New variable.
1367 (circular_list_error): New function.
1368 (syms_of_data): Initialize it Qcircular_list.
1369
e35f6ff7
SM
13702001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1371
1372 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1373 casefiddle.c, buffer.c: Include keymap.h.
1374
619632ac
GM
13752001-10-10 Gerd Moellmann <gerd@gnu.org>
1376
1377 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1378 options. From Dave Love <d.love@dl.ac.uk>.
1379
5e5388f6
GM
13802001-10-09 Gerd Moellmann <gerd@gnu.org>
1381
1382 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1383 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1384
14a3dff7
GM
1385 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1386 unsigned char.
1387 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1388
76ba8daf
AI
13892001-10-08 Andrew Innes <andrewi@gnu.org>
1390
1391 * lisp.h [max]: Undef min and max before redefining them.
1392
1393 * w32gui.h: Do not undef min and max.
1394
1395 * w32heap.h: Do not undef min and max.
1396
1397 * s/ms-w32.h: Do not undef min and max.
1398
166253cb
SM
13992001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1400
1401 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1402
0c4d9527
SS
14032001-10-08 Sam Steingold <sds@gnu.org>
1404
1405 * keymap.c (current-active-maps): Quote newlines (compilation error).
1406
14bfa771
EZ
14072001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1408
1409 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1410 bindings.elc, since otherwise doc strings in bindings.el get wrong
1411 offsets in etc/DOC.
1412
bdb7aa47
SM
14132001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1414
9985827f
SM
1415 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1416
1417 * keyboard.h (map_prompt): Remove.
1418
1419 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1420 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1421
bdb7aa47
SM
1422 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1423
1424 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1425
1426 * keyboard.c (map_prompt): Remove.
1427 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1428 Use Fkeymap_prompt.
1429
1430 * keymap.h: New file. Extracted from lisp.h.
1431
9985827f
SM
1432 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1433 (accessible_keymaps_1): New function.
1434 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1435 (Fwhere_is_internal): Use Fcurrent_active_maps.
1436 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1437 Insert in current buffer rather than standard-output.
1438 Don't call `help-mode'. Export to elisp.
1439 (describe_buffer_bindings): New wrapper.
1440 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1441 and Sdescribe_buffer_bindings.
1442
402c9a51
GM
14432001-10-08 Gerd Moellmann <gerd@gnu.org>
1444
9985827f 1445 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1446 Remove code setting signal handler.
1447
9985827f 1448 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1449 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1450
3fe81fdf
PJ
14512001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1452
1453 * keyboard.c: Don't define min/max.
1454
55fa7820
GM
14552001-10-08 Gerd Moellmann <gerd@gnu.org>
1456
9985827f 1457 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1458 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1459 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1460 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1461 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1462 Don't define min/max.
1463
1464 * lisp.h (min, max): New macros.
1465
55fa7820
GM
1466 * puresize.h (BASE_PURESIZE): Increase to 725000.
1467
1aad31e4
PJ
14682001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1469
9180dc8c
PJ
1470 * xfaces.c (free_frame_menubar): Add prototype.
1471
01f67d2c
PJ
1472 * lisp.h (init_window): Add prototype.
1473
1474 * editfns.c: Include ctype.h.
1475
1476 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1477 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1478 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1479 variable `sb'.
1480
5f351ff1
PJ
1481 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1482 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1483 `popup_activated_flag' and `title'.
1484
479dfe87
PJ
1485 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1486
dff49fc8
PJ
1487 * emacs.c (main): Remove extra `;'.
1488
248ac615
PJ
1489 * atimer.h (struct atimer): Fix typos in a comment.
1490
1491 * atimer.c: Fix typo.
1492
af232c7d
PJ
1493 * Makefile.in: Fix typo.
1494
1495 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1496
d876f455
MB
14972001-10-07 Miles Bader <miles@gnu.org>
1498
1499 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1500
0037e2f2
KR
15012001-10-07 Ken Raeburn <raeburn@gnu.org>
1502
b056f36d
KR
1503 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1504 Lisp_Object.
1505
0037e2f2
KR
1506 * lisp.h (Ffield_end): Declare.
1507
1a4372ef
GM
15082001-10-07 Gerd Moellmann <gerd@gnu.org>
1509
a4a74e8c
GM
1510 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1511
1512 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1513
1514 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1515
1516 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1517
1a4372ef
GM
1518 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1519 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1520
1521 * alloc.c (inhibit_garbage_collection): Simplify.
1522 (Fmemory_use_counts): Ditto.
1523
9985827f 1524 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1525 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1526 most-negative-fixnum.
1527
9985827f 1528 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1529 (FIXNUM_OVERFLOW_P): New macros.
1530
4650e362
MB
15312001-10-06 Miles Bader <miles@gnu.org>
1532
1533 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1534 scroll_bar_bottom_shadow_pixel fields.
1535 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1536 for the shadows, and tell the toolkit about them if we succeed.
1537 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1538 Free scroll-bar shadow colors.
1539 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1540 Free scroll-bar shadow colors when the background color changes.
1541 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1542 Initialize scroll-bar shadow-color fields.
1543
ace64e0a
GM
15442001-10-05 Gerd Moellmann <gerd@gnu.org>
1545
1546 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1547
ec66bdc7
MB
15482001-10-05 Miles Bader <miles@gnu.org>
1549
9985827f
SM
1550 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1551 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1552 New functions (were in simple.el).
9985827f 1553 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1554 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1555 (syms_of_minibuf): Initialize them.
1556
a0fb4492
GM
15572001-10-05 Gerd Moellmann <gerd@gnu.org>
1558
1559 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1560 (tiff_load): Install them as error and warning handler.
1561
0bcf87c1
AI
15622001-10-04 Andrew Innes <andrewi@gnu.org>
1563
1564 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1565 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1566 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1567 (x_to_w32_charset): Handle private format for unknown charsets.
1568 Handle wildcards in charset spec, by ignoring them.
1569 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1570 "*-" prefix from charset.
1571 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1572 handle the truncated font spec form constructed by font_list_1, so
1573 that we correctly identify the charset fields. Don't remove "*-"
1574 prefix from charset.
1575 (w32_list_synthesized_fonts): Fix argument to alloca.
1576
c89e4bc5
GM
15772001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1578
1579 * window.h (MINI_WINDOW_P): Use NILP.
1580
1581 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1582
1583 * termhooks.h (struct input_event): Use proper type for `kind'.
1584
15852001-10-04 Gerd Moellmann <gerd@gnu.org>
1586
1587 This handles unknown keysyms better than before. For example,
1588 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1589 Emacs formerly completely ignored F5. With the change, it derives
1590 a key symbol from the name of the X keysym, `ccaron' in this case.
1591 Reported by Martin Buchholz.
1592
1593 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1594 unknown keysyms.
1595
1596 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1597 that EVENT->code isn't a function key, use the keysym's name.
1598
15992001-10-04 Gerd Moellmann <gerd@gnu.org>
1600
1601 FOREACH is a macro that should make it easier to loop over Lisp
1602 lists with checks for cycles and proper lists.
1603
1604 * lisp.h (LIST_END_P, FOREACH): New macros.
1605
16062001-10-04 Gerd Moellmann <gerd@gnu.org>
1607
1608 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1609 called for a lost connection. Prevent dumping core in this case.
1610 Instead print the X error, and exit. On user request.
1611
1612 * xterm.c (error_msg): New variable.
1613 (x_fatal_error_signal): New function.
1614 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1615 as fatal_error_signal_hook around the call to XtCloseDisplay.
1616
1617 * emacs.c (fatal_error_signal_hook): New variable.
1618 (fatal_error_signal): Call that function.
1619
16202001-10-04 Gerd Moellmann <gerd@gnu.org>
1621
1622 With this, Emacs prints how much pure storage it will
1623 approximately need in case pure storage overflows while dumping.
1624
1625 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1626 New variables.
1627 (init_alloc_once): Initialize new variables.
1628 (PURE_POINTER_P): Use new variables.
1629 (pure_alloc): If pure storage overflows, allocate from the heap.
1630 (check_pure_size): New function.
1631 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1632
1633 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1634 (check_pure_size): Add prototype.
1635
1636 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1637
16382001-10-04 Gerd Moellmann <gerd@gnu.org>
1639
1640 This adds a post-gc-hook that's run with GC inhibited.
1641 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1642
1643 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1644 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1645 (Fgarbage_collect): Run post-gc-hook.
1646
16472001-10-04 Gerd Moellmann <gerd@gnu.org>
1648
1649 This adds `defvaralias' and `indirect-variable'. Changes not
1650 directly related to this feature are there to gain the same
1651 performance again as before variable aliases.
1652
1653 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1654 code to get and set symbol values, to take defvaralias into account.
1655
1656 (Note: the new `constant' bit-flag in symbols would make it
1657 possible to define arbitrary read-only variables, e.g. with
1658 `defconst'.)
1659
1660 Documentation is in lispref/variables.texi. Added to NEWS.
1661
1662 * lisp.h (enum symbol_interned): New enumeration.
1663 (struct Lisp_Symbol): Remove member `obarray', add
1664 `indirect_variable', `constant', and `interned'.
1665 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1666 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1667 (indirect_variable): Add prototype.
1668
1669 * print.c (print_preprocess, print_object): Test internedness of
1670 symbols differently.
1671
1672 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1673 bit-fields.
1674 (init_obarray): Likewise for t and nil.
1675
1676 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1677 (Fdefvaralias): New function.
1678 (specbind): Simplify the test if symbol is a constant.
1679 (syms_of_eval): Defsubr Fdefvaralias.
1680
1681 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1682 (Qcyclic_variable_indirection): New variable.
1683 (Fkeywordp): Check for internedness differently.
1684 (Fmakunbound): Simplify the test if symbol is a constant.
1685 (indirect_variable, Findirect_variable): New functions.
1686 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1687 aliased symbol.
1688 (let_shadows_buffer_binding_p): Check for variable aliases.
1689 (set_internal): Simplify the test if SYMBOL is a constant.
1690 If SYMBOL has a buffer-local value and is an alias, use the aliased
1691 symbol instead.
1692 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1693 Sindirect_variable.
1694
1695 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1696 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1697 set directly.
1698
1699 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1700
1701 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1702 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1703 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1704
ab952a4f
GM
17052001-10-04 Gerd Moellmann <gerd@gnu.org>
1706
1707 * Branch for 21.1.
b56ba8de 1708
ba88ff28
MB
17092001-10-03 Miles Bader <miles@gnu.org>
1710
1711 * callproc.c (syms_of_callproc): Explicitly state in the
1712 documentation for `process-environment' that earlier entries take
1713 precedence over later ones.
1714
ae1a9581
MB
17152001-10-02 Miles Bader <miles@gnu.org>
1716
1717 * textprop.c (Fnext_char_property_change)
1718 (Fprevious_char_property_change): Remove reference to non-existant
1719 argument OBJECT from doc-string.
1720
257e3f57
GM
17212001-10-01 Gerd Moellmann <gerd@gnu.org>
1722
1723 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1724 (try_window_id): Skip back over lines ending in a newline from a
1725 string.
1726
1727 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1728 New bit flag
1729
c1f29759
RS
17302001-10-01 Richard M. Stallman <rms@gnu.org>
1731
1732 * search.c (Freplace_match): Doc fix.
1733
c30dce3d
AI
17342001-09-28 Andrew Innes <andrewi@gnu.org>
1735
1736 * w32menu.c (set_frame_menubar): Take into account that
1737 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1738 <raeburn@gnu.org>.
1739
03be5931
EZ
17402001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1741
1742 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1743
75bec752
PJ
17442001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1745
1746 * s/gnu-linux.h: Fix a typo in comment.
1747
83100e0a
AS
17482001-09-28 Andreas Schwab <schwab@suse.de>
1749
1750 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1751 nocombreloc, in case -z combreloc is the default.
1752
a74b48cf
GM
17532001-09-28 Gerd Moellmann <gerd@gnu.org>
1754
1755 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1756 really going on here.
1757
09c4719e
SM
17582001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1759
1760 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1761
f7d5d963
EZ
17622001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1763
1764 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1765 utf-8, menu-bar, and latin-N.
1766 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1767 unconditionally now.
1768 (lisp): Add latin-N, since they are preloaded.
1769
9240e746
GM
17702001-09-27 Gerd Moellmann <gerd@gnu.org>
1771
14531065
GM
1772 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1773 to the left. Some cleanup.
1774
9240e746
GM
1775 * xdisp.c (display_mode_element): One more case where a string's
1776 multibyteness should be used for display.
1777
edd1e654
GM
17782001-09-26 Gerd Moellmann <gerd@gnu.org>
1779
b02439c8
GM
1780 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1781 reading at EOF.
1782
032906b1 1783 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1784 of the only temporarily set echoing flag for deciding when
032906b1
GM
1785 the cancel echoing.
1786
1787 * keyboard.c (echo_kboard): Make externally visible.
1788
1789 * lisp.h (echo_kboard): Declare extern.
1790
cb617e7c 1791 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1792 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1793 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1794 this round of redisplay if make_cursor_line_fully_visible fails.
1795 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1796 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1797
1798 * dispextern.h (required_matrix_width, required_matrix_height):
1799 Add prototypes.
1800
09c4719e
SM
1801 * dispnew.c (required_matrix_width, required_matrix_height):
1802 New functions.
cb617e7c 1803 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1804 (allocate_matrices_for_frame_redisplay: Use them.
1805 Remove parameters CH_DIM.
cb617e7c 1806
edd1e654
GM
1807 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1808 and selected_window to the frame of the window whose mode-lines
1809 are displayed, and to the window itself.
1810 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1811 here.
edd1e654 1812
924b604c
GM
18132001-09-25 Gerd Moellmann <gerd@gnu.org>
1814
daba7643
GM
1815 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1816 the image cache under us.
1817
b7a22712 1818 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1819 with a string value, use that string's multibyteness for displaying.
b7a22712 1820
ad648212
GM
1821 * keyboard.c (read_char): Don't clear a message for a switch-frame
1822 event. From Stefan Monnier <monnier@cs.yale.edu>.
1823
9f8531e5
GM
1824 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1825 version for after 21.1.
1826
1827 * xdisp.c (row_containing_pos): Make externally visible.
1828
1829 * dispextern.h (row_containing_pos): Add prototype.
1830
924b604c
GM
1831 * process.c (send_process): Disable composition if from_byte < 0.
1832 From Kenichi Handa <handa@etl.go.jp>.
1833
6f3f0db4
GM
18342001-09-24 Gerd Moellmann <gerd@gnu.org>
1835
c69c0ebc
GM
1836 * xterm.c (refreshicon): Function removed.
1837
d1182bc4
GM
1838 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1839
1840 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1841
1842 * xterm.c (toplevel): Remove includes in #if 0.
1843
6f3f0db4
GM
1844 * process.c (sigchld_handler) [LINUX]: Don't return from
1845 the signal handler at the end of the loop.
1846
59957f85
GM
18472001-09-21 Gerd Moellmann <gerd@gnu.org>
1848
09c4719e
SM
1849 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1850 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1851
a0528984
EZ
18522001-09-21 Markus Rost <rost@math.ohio-state.edu>
1853
1854 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1855
db92b288
GM
18562001-09-20 Gerd Moellmann <gerd@gnu.org>
1857
3fed8ad5
GM
1858 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1859 since this function can be called during GC.
1860
db92b288
GM
1861 * callproc.c (Fcall_process): Handle errors from pipe(2).
1862 (child_setup): Delete code in #ifdef vipc.
1863
7121b85a
GM
18642001-09-19 Gerd Moellmann <gerd@gnu.org>
1865
72f62cb5
GM
1866 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1867 (display_mode_element): Display the string from decode_mode_spec
1868 depending on its multibyteness.
1869
a2697022
GM
1870 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1871
7121b85a
GM
1872 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1873
bfc97351
GM
18742001-09-18 Gerd Moellmann <gerd@gnu.org>
1875
c9063433
GM
1876 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1877 recursive_edit_unwind.
1878 (recursive_edit_unwind): Set kboard state according to
1879 SINGLE-KBOARD.
1880
3fbdba3e
GM
1881 * buffer.c (modify_overlay): Don't do nothing if START == END;
1882 This can still be a modification, for example when an overlay has
1883 a before-string or after-string.
1884 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1885 an overlay with before-string or after-string.
1886
1270031d
GM
1887 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1888 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1889
bfc97351
GM
1890 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1891 first_unchanged_at_end_row is in front of
1892 last_unchanged_at_beg_row. This code should be removed after the
1893 release of 21.1.
1894
d8a973aa
GM
18952001-09-17 Gerd Moellmann <gerd@gnu.org>
1896
e18c8b8d
GM
1897 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1898 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1899
d8a973aa
GM
1900 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1901 versions >= 2.95.
1902
ed7d6ba4
EZ
19032001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1904
1905 * dired.c (Ffile_attributes): Doc fix.
1906
551629f9
GM
19072001-09-14 Gerd Moellmann <gerd@gnu.org>
1908
1909 * fileio.c (Ffile_symlink_p): Fix last change.
1910
1911 * filelock.c (current_lock_owner): Fix last change.
1912
4c8c7926
GM
19132001-09-13 Gerd Moellmann <gerd@gnu.org>
1914
620c4704
GM
1915 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1916 take that to mean that the buffer is too small.
1917
81c3310d
GM
1918 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1919 that to mean that the buffer is too small.
1920
06fd3792
GM
1921 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1922 current buffer's multibyteness when discarding the iterator's
1923 stack.
1924
4c8c7926
GM
1925 * xfns.c (Fx_window_property): Handle case that property gets
1926 deleted between the two calls to XGetWindowProperty.
1927
9a72e4c1
GM
19282001-09-11 Gerd Moellmann <gerd@gnu.org>
1929
bd819d14 1930 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1931
a41edd99
GM
1932 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1933 in addition to read-only.
1934
1935 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1936 to t in addition to read-only.
1937
1938 * lisp.h (Qinhibit_modification_hooks): Declare.
1939
1940 * insdel.c (Qinhibit_modification_hooks): New variable.
1941 (syms_of_insdel): Initialize and staticpro it.
1942
d4881c6a
GM
1943 * textprop.c (verify_interval_modification): Don't run
1944 modification-hooks if inhibit_modification_hooks.
1945
1946 * dispnew.c (set_window_cursor_after_update): Fix code
1947 finding glyph row containing cursor when cursor_in_echo_area
1948 is >= 0.
1949
9a72e4c1
GM
1950 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1951 (add_to_log): Use bcopy instead of strcpy.
1952 (init_from_display_pos): Use an explicit loop over bytes in
1953 overlay strings instead of calling index.
1954
f4a374a1
GM
19552001-09-10 Gerd Moellmann <gerd@gnu.org>
1956
300e57bd
GM
1957 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1958
1959 * dispnew.c (direct_output_for_insert): Don't change IT's
1960 stop_charpos to something in front of its current position.
1961
f4a374a1
GM
1962 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1963 `format'.
1964
7e4cbc91
RS
19652001-09-10 Richard M. Stallman <rms@gnu.org>
1966
1967 * frame.c (Fmouse_position): Doc fix.
1968
6afad91e
GM
19692001-09-07 Gerd Moellmann <gerd@gnu.org>
1970
1971 * xdisp.c (init_from_display_pos): Don't compare the result
1972 of calling index with NULL.
1973
f76e0368
GM
19742001-09-06 Gerd Moellmann <gerd@gnu.org>
1975
1976 * xfns.c (x_set_background_color): Don't change the colors
1977 of the X window of scroll bar widgets.
1978
9ead1b60
AI
19792001-09-05 Andrew Innes <andrewi@gnu.org>
1980
1981 * w32fns.c (w32_createwindow): Undo last change.
1982
c3b497b3
GM
19832001-09-05 Gerd Moellmann <gerd@gnu.org>
1984
08e1d6df
GM
1985 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1986
c3b497b3
GM
1987 * xdisp.c (string_buffer_position): Use *single_char_property*
1988 functions instead of the *single_property* functions.
b56ba8de 1989
8f860180
AI
19902001-09-04 Andrew Innes <andrewi@gnu.org>
1991
9a72e4c1
GM
1992 * w32term.c (w32_read_socket): Add more information to debugging
1993 output.
8f860180
AI
1994
1995 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1996 from Emacs frames, so that calls to GetClipBox in w32term.c
1997 correctly report when part of a frame is visible (including
1998 scrollbars, etc). This prevents repeated redrawing of frames when
1999 only a scrollbar is visible.
2000 (w32_wnd_proc): Add more frame information to debugging output.
2001
2ee1aa00
SM
20022001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2003
2004 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2005
e3b22517
GM
20062001-09-03 Gerd Moellmann <gerd@gnu.org>
2007
7e376260
GM
2008 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2009 help-echo for a string which doesn't have help-echo itself, use
2010 get-char-property to obtain the help-echo from the string's buffer
2011 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2012 have mouse-face, look ``under'' the string for mouse-face from an
2013 overlay.
2014 (fast_find_position): Add parameter STOP. In the final row, stop
2015 before glyphs having STOP as object. Don't consider glyphs that
2016 are not from a buffer.
2017
e3b22517
GM
2018 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2019
9a249bba
EZ
20202001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2021
2022 * fns.c (Fmd5): Doc fix.
2023
c9979669
GM
20242001-08-31 Gerd Moellmann <gerd@gnu.org>
2025
2026 * composite.c (update_compositions): Do nothing if
2027 inhibit-modification-hooks is set.
2028
9584e63a
GM
20292001-08-30 Gerd Moellmann <gerd@gnu.org>
2030
986ec8f2 2031 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2032 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2033 glyph matrices etc. in a core dump.
2034
92a25631
GM
2035 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2036 (syms_of_xdisp): Initialize them.
2037 (handle_single_display_prop): Don't change point, bind `object',
2038 `position', and `buffer-position' instead to the object having the
2ee1aa00 2039 `display' property, position in the object and position in the buffer.
92a25631 2040
9584e63a
GM
2041 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2042 of the buffer if REPLACE is non-nil.
2043
d38633a3
GM
20442001-08-29 Gerd Moellmann <gerd@gnu.org>
2045
2046 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2047
f4fccc1e
EZ
20482001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2049
2050 * w32term.c (x_set_glyph_string_background_width)
2051 (show_mouse_face): Track the last changes in xterm.c.
2052
eaaa65b0
GM
20532001-08-28 Gerd Moellmann <gerd@gnu.org>
2054
7b0870b2
GM
2055 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2056 string's background width so that multi-line mouse-face is drawn
2057 to the right edge of the window.
2058 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2059 glyphs.
2060
6b6e2422 2061 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2062 before inserting/writing glyphs.
6b6e2422 2063
eaaa65b0
GM
2064 * xdisp.c (display_mode_element): Use string_byte_to_char to
2065 determine character positions in strings, use chars_in_text
2066 instead of strwidth.
2067 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2068 a matrix as parameter; this is easier to use from GDB.
2069
9ad62cf8
MB
20702001-08-28 Miles Bader <miles@gnu.org>
2071
2ee1aa00
SM
2072 * textprop.c (Fprevious_single_char_property_change)
2073 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2074
32171635
GM
20752001-08-27 Gerd Moellmann <gerd@gnu.org>
2076
47d57b22
GM
2077 * fileio.c (Finsert_file_contents): Allocate, restore, and
2078 free composition data in the case of REPLACE not being nil.
2079
2080 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2081 there exist overlay strings with newlines at POS.
2082 (text_outside_line_unchanged_p): Return 0 if changes start at
2083 START and overlays exist at START. Likewise for END.
2084 (try_window_id): Give up if init_to_row_end returns 0.
2085
32171635
GM
2086 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2087 unconditionally.
2088
e1249666
GM
20892001-08-24 Gerd Moellmann <gerd@gnu.org>
2090
33954c45
GM
2091 * keymap.c (access_keymap): Return the cdr of the binding of
2092 a generic character instead of its definition (KEY . BINDING).
2093
e1249666
GM
2094 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2095 to 0 also in the REPLACE case.
2096
fb4c6c96
AC
20972001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2098
2099 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2100 open to determine whether file is readable (as for DOS_NT).
2101
59ecf80b
GM
21022001-08-23 Gerd Moellmann <gerd@gnu.org>
2103
2104 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2105 coding.type is coding_type_no_conversion or coding_type_raw_text,
2106 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2107 non-nil instead of just setting enable_multibyte_characters in the
2108 buffer to nil.
2109
40e33037
GM
21102001-08-22 Gerd Moellmann <gerd@gnu.org>
2111
374388c3
GM
2112 * dispextern.h (struct face_cache): Add member
2113 menu_face_changed_p.
2114
2115 * xfaces.c (menu_face_changed_default): New variable.
2116 (menu_face_changed_count): Variable removed.
2117 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2118 the menu_face_changed_default flag, otherwise set the FRAME's
2119 menu_face_changed_p flag if the `menu' face has been changed.
2120 Prevent calling set_font_frame_param if FRAME is t.
2121 (make_face_cache): Initialize cache's menu_face_changed_p
2122 from menu_face_changed_default.
2123 (realize_basic_faces): Look into the frame's face cache to
2124 determine if the menu appearance needs updating.
2125
40e33037
GM
2126 * keymap.c (access_keymap): Fix last change to not consider
2127 IDX when it has modifiers.
2128
859ea4b8
GM
21292001-08-21 Gerd Moellmann <gerd@gnu.org>
2130
2131 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2132 . BINDING) exists, where GENERIC-CHAR is the generic character of
2133 the charset of IDX, return BINDING unless there exists a binding
2134 for IDX itself.
2135
e8660d73
GM
21362001-08-16 Gerd Moellmann <gerd@gnu.org>
2137
cca1b1d7
GM
2138 * xrdb.c (SYSV): Don't define on Solaris 2.
2139 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2140
e8660d73 2141 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2142 of the screen line, not text line, containing IT's current position.
e8660d73 2143
93aba6fc
GM
21442001-08-15 Gerd Moellmann <gerd@gnu.org>
2145
288d4e06
GM
2146 * window.c (window_scroll_pixel_based): Don't recenter if
2147 PT is partially visible in the window.
2148
3452efc2
SM
2149 * xterm.c (expose_window_tree, expose_window, expose_line):
2150 Return 1 when overwriting mouse-face.
82f053ab
GM
2151 (expose_frame): If mouse-face was overwritten, redo it.
2152
93aba6fc
GM
2153 * xfaces.c (x_update_menu_appearance): Don't call
2154 set_frame_menubar, let the next redisplay do it.
2155
858a55c1
AI
21562001-08-14 Andrew Innes <andrewi@gnu.org>
2157
2158 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2159 drawing glyph string.
2160
3a990b67
EZ
21612001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2162
2163 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2164 running HI-UX/MPP.
2165
04386463
GM
21662001-08-14 Gerd Moellmann <gerd@gnu.org>
2167
2168 * xfaces.c (x_update_menu_appearance): Save and restore value of
2169 interrupt_input_blocked.
2170
3e6385a4
GM
21712001-08-13 Gerd Moellmann <gerd@gnu.org>
2172
b0e619b4
GM
2173 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2174 a line start, move back to the line start.
3452efc2 2175
0de73d5a
GM
2176 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2177 exactly when a mini-buffer is active.
2178
3e6385a4
GM
2179 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2180 in units of 1/8 character on non window-system frames.
2181 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2182
d1b5f629
EZ
21832001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2184
2185 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2186 a doc string.
2187
eaa2319f
GM
21882001-08-09 Gerd Moellmann <gerd@gnu.org>
2189
8e3189f0
GM
2190 * keyboard.c (Vpre_help_message): New variable.
2191 (syms_of_keyboard): Initialize and staticpro it.
2192 (show_help_echo): Record current message before displaying a
2193 help-echo, and restore that message when clearing the help.
2194
eaa2319f
GM
2195 * xfns.c (x_create_im): Remove prototype.
2196
2197 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2198
2199 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2200
eaa2319f
GM
22012001-08-08 Gerd Moellmann <gerd@gnu.org>
2202
2203 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2204 windows whose height has changed, disable partially visible lines.
eaa2319f 2205
17fdcfc8
GM
22062001-08-07 Gerd Moellmann <gerd@gnu.org>
2207
22d01aed 2208 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2209 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2210
17fdcfc8
GM
2211 * xdisp.c (start_display): Don't try to determine the continuation
2212 lines width if lines are truncated. It's superfluous and leads to
2213 incorrect results if POS is not visible in the window after
2214 reseating the iterator at the previous line start.
2215
8e3fe78e
GM
22162001-08-06 Gerd Moellmann <gerd@gnu.org>
2217
2218 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2219
98a8938c
GM
22202001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2221
2222 * alloc.c (init_stack): Remove declaration.
2223
18f9986a
GM
22242001-08-03 Gerd Moellmann <gerd@gnu.org>
2225
5e1f85e0
GM
2226 * keyboard.c (read_key_sequence): Check that key is an integer
2227 before comparing it with quit_char.
2228 (add_command_key): Use larger_vector.
2229 (read_char_x_menu_prompt): Instead of converting symbol and
2230 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2231 which cannot be confused with valid events.
5e1f85e0
GM
2232 (read_char): When reading from Vunread_command_events, check for
2233 events of the form (EVENT . disabled) instead of
2234 (EVENT . nil).
2235
18f9986a
GM
2236 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2237 a float, determine the max height from the frame's height.
2238
fbc7f2a6
GM
22392001-08-02 Gerd Moellmann <gerd@gnu.org>
2240
2241 * xdisp.c (redisplay_internal): Take message_cleared_p into
2242 account only if minibuf_level == 0.
2243
81b1a79d
GM
22442001-08-01 Gerd Moellmann <gerd@gnu.org>
2245
e5c60873
GM
2246 * xdisp.c (redisplay_internal): Add a check for the last
2247 displayed message.
3452efc2 2248
6e019995
GM
2249 * xdisp.c (message_cleared_p): New variable.
2250 (clear_message): Set message_cleared_p when clearing the current
2251 message.
2252 (redisplay_internal): Look at message_cleared_p to capture
2253 the case that the echo area should be cleared.
2254
308a74d8
GM
2255 * keyboard.c (command_loop_1): Fix spelling of
2256 resize_echo_area_exactly.
2257
3452efc2 2258 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2259
2260 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2261
81b1a79d
GM
2262 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2263 current matrix when the window gets smaller.
2264
ada329e6
EZ
22652001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2266
2267 * print.c (strout): Cast the character passed to insert_char to
2268 unsigned char, to avoid sign extension when it is promoted to int.
2269
ed86208c
GM
22702001-07-31 Gerd Moellmann <gerd@gnu.org>
2271
2272 * fileio.c (Finsert_file_contents): Don't treat a return value
2273 of 0 from emacs_read as an IO error.
2274
6594ac22
GM
22752001-07-30 Gerd Moellmann <gerd@gnu.org>
2276
cef68af5
GM
2277 * keyboard.c (abs): New macro.
2278 (double_click_fuzz): New variable.
2279 (make_lispy_event): Use it to determine what makes a double-click.
2280 (syms_of_keyboard): DEFVAR_INT it.
2281
6594ac22
GM
2282 * xmenu.c (set_frame_menubar): Take into account that
2283 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2284 <raeburn@gnu.org>.
2285
75c5350a
GM
22862001-07-27 Gerd Moellmann <gerd@gnu.org>
2287
2288 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2289
2290 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2291 of row's visible height.
2292
2293 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2294 deal with the first overlay string having an image `display' property.
2295 (try_window_reusing_current_matrix, compute_line_metrics):
2296 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2297 row is invisible above and part of the row is at the same time
2298 invisible below the window.
2299
ac49effe
GM
23002001-07-26 Gerd Moellmann <gerd@gnu.org>
2301
2302 * xfns.c (x-show-tip): Doc fix.
3452efc2 2303
ac49effe
GM
2304 * xfns.c (Vx_max_tooltip_size): New variable.
2305 (syms_of_xfns): DEFVAR_LISP it.
2306 (Fx_show_tip): Set frame's window_width to the width of the
2307 window. Use a maximum tooltip size specified by
2308 Vx_max_tooltip_size, if that has valid contents.
2309 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2310
8c3b00cb
AI
23112001-07-26 Andrew Innes <andrewi@gnu.org>
2312
2313 * w32term.c (x_display_list): New variable.
2314 (w32_term_init): Set it.
2315
2316 * w32term.h (x_display_list): New extern.
2317
16098288
GM
23182001-07-26 Gerd Moellmann <gerd@gnu.org>
2319
2320 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2321 is non-nil, instead of when redisplaying_p is non-zero.
2322 See comment there.
16098288
GM
2323 (mark_window_display_accurate_1): Add an assertion.
2324
64c5be50
GM
23252001-07-25 Gerd Moellmann <gerd@gnu.org>
2326
e743f599
GM
2327 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2328
563b384d
GM
2329 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2330 events so that we get a chance of processing expose events.
2331
64c5be50
GM
2332 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2333
296808a5
GM
23342001-07-24 Gerd Moellmann <gerd@gnu.org>
2335
2336 * xfns.c (valid_image_p): Protect better against invalid image
2337 specifications. Previous code could signal an error.
2338
5247262a
GM
23392001-07-23 Gerd Moellmann <gerd@gnu.org>
2340
3452efc2 2341 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2342 presence of display table entries.
2343 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2344
dd42b31a
GM
2345 * dispnew.c (adjust_glyph_matrix): In the optimization for
2346 windows whose height has changed, use the new window height
2347 to compute which rows to invalidate.
2348
9e5a7f2a
GM
2349 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2350 (MAX_10_EXP): New macro.
2351 (Fformat): Use it.
2352
5247262a
GM
2353 * coding.c (code_convert_region): Handle the multibyte case if
2354 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2355
177ab8ce
GM
23562001-07-20 Gerd Moellmann <gerd@gnu.org>
2357
6e07c0a5
GM
2358 * dispextern.h (struct face): Change type of `stipple' to
2359 int; it's an ID.
2360
177ab8ce
GM
2361 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2362
b5b80599
GM
23632001-07-19 Gerd Moellmann <gerd@gnu.org>
2364
4e2a256b
GM
2365 * dispnew.c (update_window): Don't set the cursor at the end
2366 of the update if display update has been paused.
2367
3452efc2 2368 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2369
c1fd9232
KR
23702001-07-18 Ken Raeburn <raeburn@gnu.org>
2371
2372 * fns.c (Fset_char_table_default): Check that a charset is defined
2373 before checking its dimension.
2374
928a85c1
KR
23752001-07-17 Ken Raeburn <raeburn@gnu.org>
2376
2377 * coding.c (setup_coding_system): Don't do any designation based
2378 on reg_bits if charset is not yet defined.
2379
fb4c6c96 2380 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2381 pointer, using eassert.
2382
de11c1ea
GM
23832001-07-17 Gerd Moellmann <gerd@gnu.org>
2384
3452efc2
SM
2385 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2386 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2387
467f1209
GM
23882001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2389
2390 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2391
c3d6be34
GM
23922001-07-16 Gerd Moellmann <gerd@gnu.org>
2393
c1d61a7d
GM
2394 * fileio.c (unwind_read): Function removed.
2395 (read_non_regular, read_non_regular_quit): New functions.
2396 (Finsert_file_contents): When reading from non-regular files,
2397 arrange to catch a `quit' and terminate the loop. Rearrange
2398 code so that a `quit' when reading from a regular file doesn't
2399 insert text in the buffer.
2400
c3d6be34
GM
2401 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2402 Clear faces afterwards.
2403 (clear_font_table): Take a x_display_info parameter. Don't free
2404 fonts being the default font of any frame on the given display.
2405
e06aa1f9
GM
24062001-07-13 Gerd Moellmann <gerd@gnu.org>
2407
2408 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2409 instead of CHAR_STRING which can signal an error.
2410
2411 * charset.c (char_to_string_1): Extracted from char_to_string.
2412 Return -1 instead of signaling an error.
2413 (char_to_string): Use it.
2414
2415 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2416
176c92e6
SM
24172001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2418
2419 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2420 is t, don't try to append anything to it.
2421
1c56232f
EZ
24222001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2423
2424 * dired.c (file_name_completion): Pass dp->d_name to
2425 Fstring_match, not elt, which is always nil here.
2426
1d2b2268
GM
24272001-07-12 Gerd Moellmann <gerd@gnu.org>
2428
2429 * xselect.c (x_decline_selection_request): Handle errors
2430 caused by receivers that have vanished.
2431
2432 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2433 ignoring events on foreign windows in #if 0. Always dispatch
2434 the event after checking it with x_handle_property_notify.
2435
2436 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2437 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2438 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2439 (toplevel): Add prototypes for file-local functions.
2440 (x_atom_to_symbol): Remove DPYINFO parameter.
2441
fe5a0162
SM
24422001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2443
2444 * w32menu.c (menubar_selection_callback, w32_menu_show):
2445 Initialize `entry' to nil.
2446 (w32_dialog_show): Remove unused `save_wv' variable.
2447 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2448
a777242c
GM
24492001-07-11 Gerd Moellmann <gerd@gnu.org>
2450
8ee5b6a3
GM
2451 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2452
d0e2444e
GM
2453 * fileio.c (unwind_read): Print a message when discarding inserted
2454 text or switching the buffer to unibyte. Change parameter.
2455 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2456
a777242c
GM
2457 * fileio.c (unwind_read): New function.
2458 (Finsert_file_contents): Record it as unwind-function for
2459 the case that reading is interrupted by C-g.
2460
ae794295
GM
24612001-07-10 Gerd Moellmann <gerd@gnu.org>
2462
fe5a0162 2463 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2464 update when scrolling_window returns 0.
2465
6b05fae3
GM
2466 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2467
2468 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2469 for the case that x_decode_color signals an error.
6b05fae3 2470
ae794295
GM
2471 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2472
bb6e8cee
GM
24732001-07-09 Gerd Moellmann <gerd@gnu.org>
2474
2475 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2476 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2477 around ioctls.
2478
36b40a8a
EZ
24792001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2480
24b97d4b
EZ
2481 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2482 doc string line for dos-timezone-offset.
2483
36b40a8a
EZ
2484 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2485 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2486 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2487 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2488
2489 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2490
0967b4b0
GM
24912001-07-05 Gerd Moellmann <gerd@gnu.org>
2492
f25cfe53
GM
2493 * sound.c: Include Emacs' header files with #include "...".
2494
0967b4b0
GM
2495 * eval.c (specbind): Additionally record the buffer that was
2496 current when a buffer-local or frame-local variable was bound.
2497
c347a1c3
GM
24982001-07-04 Gerd Moellmann <gerd@gnu.org>
2499
2500 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2501 to unibyte characters in unibyte buffers.
2502
6332ca8a
GM
25032001-07-03 Gerd Moellmann <gerd@gnu.org>
2504
38472d44
GM
2505 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2506 the frame on the binding stack. Change format of entries for
2507 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2508 (unbind_to): Handle unbinding a frame-local variable.
2509
6332ca8a 2510 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2511 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2512 (dump_glyph_row): Print row's continuation_lines_width.
2513 (try_window_id): Take the shortcut if ZV is visible in the
2514 window, but there are actually no changes at ZV.
2515
63d1b174
GM
25162001-07-02 Gerd Moellmann <gerd@gnu.org>
2517
4c175203
GM
2518 * xterm.h (x_free_dpy_colors): Add prototype.
2519
2520 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2521 right number of arguments.
2522
0b54ce28
GM
2523 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2524 ($(lwlibdir)TAGS): New target.
4c175203 2525 (TAGS): Fix dependency list.
0b54ce28 2526
63d1b174
GM
2527 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2528 with input blocked.
2529
d827466c
GM
25302001-06-30 Gerd Moellmann <gerd@gnu.org>
2531
2532 * emacs.c (main): Remove extern declaration for sys_nerr, which
2533 isn't used and causes a compilation error with GCC 3.0 on
2534 FreeBSD 4.3.
2535
b5cb1ada
GM
25362001-06-27 Gerd Moellmann <gerd@gnu.org>
2537
a5d3ec3f 2538 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2539 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2540 (toplevel): Include <signal.h> and syssignal.h.
2541
b5cb1ada
GM
2542 * sound.c (vox_configure, vox_close): Turn off atimers
2543 around ioctls.
2544
d9bad487
GM
25452001-06-26 Gerd Moellmann <gerd@gnu.org>
2546
fdbb67fe
GM
2547 * keyboard.c (read_char) <non_reread>: Record the previous idle
2548 start time before calling timer_stop_idle.
2549 (read_char) <reread_first>: After processing a help-echo event,
2550 restore the previous idle start time.
2551
d9bad487
GM
2552 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2553 the start of invisible text.
2554 (setup_for_ellipsis): New function.
2555 (next_overlay_string): After all overlay strings have been
2556 processed, display an ellipsis if necessary.
2557 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2558 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2559
2560 * dispextern.h (struct iterator_stack_entry): Add member
2561 display_ellipsis_p.
2562
2b9c25e0
GM
25632001-06-25 Gerd Moellmann <gerd@gnu.org>
2564
80de57df
GM
2565 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2566 on the value of the wait-for-wm frame parameter.
2567
2568 * xterm.h (struct x_output): Add member wait_for_wm.
2569
2570 * xfns.c (Qwait_for_wm): New variable.
2571 (x_frame_parms): Add entry for `wait-for-wm".
2572 (x_set_wait_for_wm): New function.
2573 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2574 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2575
2b9c25e0
GM
2576 * xdisp.c (try_window_id) <all changes below window end>: Don't
2577 take this shortcut if ZV is visible in the window.
2578 (try_window_id): When checking for window start being in changed
2579 text, don't check that the buffer's size has changed.
2580
f772775c
RS
25812001-06-23 Richard M. Stallman <rms@gnu.org>
2582
2583 * minibuf.c (Fcompleting_read): Doc fix.
2584
fa9090b8
GM
25852001-06-19 Gerd Moellmann <gerd@gnu.org>
2586
2587 * composite.c (Ffind_composition_internal): Accept ZV
2588 and a string's end position as POS.
2589
f6f1beba
GM
25902001-06-18 Gerd Moellmann <gerd@gnu.org>
2591
2592 * composite.c (Ffind_composition_internal): Check POS
2593 for validity.
2594
0ae83348
EZ
25952001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2596
2597 * editfns.c (Fmessage_box): If the frame is not under a window
2598 system, output the message in the echo area.
2599
e4cdc335
RS
26002001-06-14 Richard M. Stallman <rms@gnu.org>
2601
2602 * xdisp.c (try_window_id): When EOB is visible, don't treat
2603 insertion at EOB as if it were "off the bottom of the screen."
2604
a55a5f3c
AI
26052001-06-11 Andrew Innes <andrewi@gnu.org>
2606
2607 * w32proc.c (create_child): Add new parameter is_gui_app.
2608 (w32_executable_type): Add new parameter is_gui_app.
2609 (sys_spawnve): Use it.
2610 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2611 SIGQUIT. This matches better how the signals are interpreted by
2612 MSVC compiled programs.
2613 (syms_of_ntproc): Update docstring.
2614
1b85dc1c
SM
26152001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2616
2617 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2618 well otherwise note_mouse_highlight might optimize away highlighting
2619 if we pass over that same overlay again.
2620
b75f8eab
EZ
26212001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2622
2623 * lread.c (Fload): Document that the argument is run via
2624 substitute-in-file-name.
2625
94843cc1
GM
26262001-05-31 Gerd Moellmann <gerd@gnu.org>
2627
b14659e6
GM
2628 * Makefile.in (bootstrap-doc): New target.
2629 (bootstrap-emacs): Depend on it.
2630
0894672f
GM
2631 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2632 auto-save-list-file-name when shutting down Emacs, because
2633 creating the directory might signal an error, and leaves
2634 Emacs in a strange state.
2635
94843cc1
GM
2636 * term.c: (tty_cursor_hidden): New variable.
2637 (update_begin): Don't call tty_hide_cursor. Clean up.
2638 (update_end, set_terminal_window, set_scroll_region): Clean up.
2639 (ring_bell, reset_terminal_modes): Clean up.
2640 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2641 on tty_cursor_hidden.
2642 (write_glyphs): Call tty_hide_cursor.
2643
db3a49a6
SM
26442001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2645
2646 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2647
8bd189fb
GM
26482001-05-30 Gerd Moellmann <gerd@gnu.org>
2649
6f1be3b9
GM
2650 * xfns.c (enum image_value_type): New enumerator
2651 IMAGE_STRING_OR_NIL_VALUE.
2652 (parse_image_spec): Handle it.
2653 (xbm_format, pbm_format): Use it for :foreground and :background.
2654 (xbm_load, pbm_load): Check for nil color names.
2655
8bd189fb
GM
2656 * xterm.c (note_mouse_highlight): If an overlapping overlay
2657 exists, but we find that we highlight the same overlay as before,
2658 don't do the highlighting again.
2659
7bdba03c
GM
26602001-05-29 Gerd Moellmann <gerd@gnu.org>
2661
4c329aa8
GM
2662 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2663 Protect unibyte strings created by replacing their multibyte
2664 equivalents in menu_items.
2665
e15e2828
GM
2666 * keymap.c (Fsingle_key_description): NUL-terminate the string
2667 buffer before calling build_string.
2668
7bdba03c
GM
2669 * callproc.c (Fcall_process): Deal with decode_coding returning
2670 CODING_FINISH_INCONSISTENT_EOL.
2671
89c8dc6c
GM
26722001-05-28 Gerd Moellmann <gerd@gnu.org>
2673
db3a49a6 2674 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2675 an item's name with its key description in case the description
2676 is a multibyte string.
2677
2678 * keymap.c (Fsingle_key_description): Create a multibyte string
2679 only if necessary.
2680
eb04d6cd
GM
2681 * macros.c (Fstart_kbd_macro): Doc fix.
2682
8bd6307f
GM
2683 * xterm.c (cursor_in_mouse_face_p): New function.
2684 (x_draw_stretch_glyph_string): Use it to choose a different GC
2685 when drawing a cursor within highlighted text.
2686
e26c4089
GM
2687 * editfns.c (char_property_eq): Put in #if 0.
2688
2689 * indent.c (string_display_width): Put in #if 0.
2690
2691 * lread.c (Fload): Remove unused label.
2692
89c8dc6c
GM
2693 * termcap.c (speeds): Put in #if 0.
2694
9a1211f2
GM
26952001-05-18 Gerd Moellmann <gerd@gnu.org>
2696
29148a3f
GM
2697 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2698
9a1211f2
GM
2699 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2700 transformation matrix by 10.
2701
09393d07
GM
27022001-05-16 Gerd Moellmann <gerd@gnu.org>
2703
2704 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2705 only if it's equal to the former foreground pixel color.
db3a49a6 2706 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2707 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2708
460e6bae
GM
27092001-05-16 Dave Love <fx@gnu.org>
2710
2711 * insdel.c (signal_before_change, signal_after_change): Consider a
2712 local change hook which changes the buffer.
99c78ce8
GM
2713
2714 * process.c (read_process_output): Don't call signal_after_change
2715 and update_compositions after insert_from_string_before_markers.
2716
dbcf3c03
GM
27172001-05-16 Gerd Moellmann <gerd@gnu.org>
2718
a90b3d3c
GM
2719 * xfaces.c (split_font_name): Use the right field when
2720 checking for `[...]' syntax.
2721
1b7818b4
GM
2722 * buffer.c (copy_overlays): New function.
2723 (clone_per_buffer_values): Use it.
2724
2725 * buffer.h (OVERLAY_PLIST): New macro.
2726
9bae8781
GM
2727 * keymap.c (Fsingle_key_description): Replace a build_string with
2728 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2729
dbcf3c03
GM
2730 * fontset.c (Ffontset_info): Check that face is non-null
2731 before accessing its fields.
2732
8a1ae4dd
GM
27332001-05-15 Gerd Moellmann <gerd@gnu.org>
2734
18a0a39e
GM
2735 * keyboard.c (read_key_sequence): Prevent generating a fake
2736 prefix key twice.
2737
e335b66a
GM
2738 * xfaces.c (split_font_name): Handle `[...]' for the right
2739 font name fields.
2740
8a1ae4dd
GM
2741 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2742 of CCL_STAT_INVALID_CMD.
2743
3cf80731
SM
27442001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2745
33568849
SM
2746 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2747 in <var> has no default value yet.
2748
3cf80731
SM
2749 * xfaces.c (try_alternative_families): First try the FAMILY.
2750 And if nothing is found in the end, try again with scalable fonts.
2751 (try_font_list): Let try_alternative_families do a bit more of
2752 the work. Only use FAMILY if it is not nil.
2753 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2754
933b0249
GM
27552001-05-14 Gerd Moellmann <gerd@gnu.org>
2756
58e5af83
GM
2757 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2758 pointer shape when show_mouse_face has already done it.
33568849 2759
58e5af83 2760 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2761 full-width rows.
2762
7b16a6bf
GM
2763 * xfaces.c (split_font_name): Make sure to leave the loop
2764 with the right value of `i'.
3cf80731 2765
933b0249
GM
2766 * xfaces.c (split_font_name): Handle matrix transformations
2767 in the pixel and point size fields of XLFD font names.
2768 (xlfd_point_size): Likewise.
2769
dddcbf00
EZ
27702001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2771
3cf80731 2772 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2773 (x_to_w32_font): Add prototype.
2774
7689ef0b
EZ
2775 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2776 redefining, to avoid compiler warnings.
2777
e7c15bba
EZ
2778 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2779
dddcbf00
EZ
2780 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2781 (w32_get_bdf_glyph): Cast between unsigned char and char when
2782 passing arguments to subroutines, to shut up compiler warnings.
2783 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2784 GET_HEX_VAL.
2785
2786 * xfaces.c: Include keyboard.h before frame.h, not after it.
2787
2788 * widget.c: Include keyboard.h before frame.h.
2789
2790 * w32term.h (struct image, struct face): Forward declaration, to
2791 avoid compiler warnings.
2792
7bd2d083
GM
27932001-05-11 Gerd Moellmann <gerd@gnu.org>
2794
47e72862
GM
2795 * keyboard.c (read_key_sequence): Don't modify events when
2796 generating fake prefix keys (mode-line, scroll-bar, ...) since
2797 this prevents proper processing of such events when pushed back
2798 into unread-command-events.
2799
dd5f324b
GM
2800 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2801 actually redrawn. Make the function static.
2802 (note_mouse_highlight): Fix a case where the mouse cursor
2803 was changed back to the text cursor.
2804
2805 * xterm.h (clear_mouse_face): Remove prototype.
2806
d88a79d4
GM
2807 * xdisp.c (try_window_id): Fix the fix and set the right
2808 window_end_vpos.
2809
2810 * xdisp.c (try_window_id): Fix computation of window end in the
2811 case that lines were deleted at the end of the window. Add some
2812 more debug_method_adds.
0416532f 2813
7bd2d083
GM
2814 * xfaces.c (try_alternative_families): New function.
2815 (try_font_list): Use it. If ATTRS specifies a family, check
2816 fonts from that family first.
2817 (choose_face_font): Remove code setting the family part of
2818 the pattern to nil.
2819
23fca891
GM
28202001-05-10 Gerd Moellmann <gerd@gnu.org>
2821
ff9aa2ca
GM
2822 * xdisp.c (try_window_id): Fix case of all changes before
2823 the window start.
7b2654b5 2824
23fca891
GM
2825 * xdisp.c (try_window_id): Add some xasserts.
2826
e9726794
GM
28272001-05-09 Gerd Moellmann <gerd@gnu.org>
2828
2829 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2830
9e53a675
GM
28312001-05-09 Dave Love <fx@gnu.org>
2832
2833 * xdisp.c (GIVE_UP): Fix for K&R C.
2834
0d487c52
GM
28352001-05-09 Gerd Moellmann <gerd@gnu.org>
2836
fe88d421
GM
2837 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2838
0d487c52
GM
2839 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2840 back to the text cursor shape without need.
2841
1e9fc92e
GM
28422001-05-07 Gerd Moellmann <gerd@gnu.org>
2843
a2a6232e
GM
2844 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2845
2846 * dispextern.h (inverse_video): Declare extern.
2847
1e9fc92e
GM
2848 * keyboard.c (delete_kboard): Handle the case that selected_frame
2849 has been deleted in the course of x_connection_closed.
2850
12949a7f
EZ
28512001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2852
7b2654b5
SM
2853 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2854 Fix the change from 2001-04-30.
12949a7f 2855
2fa2f461
GM
28562001-05-03 Gerd Moellmann <gerd@gnu.org>
2857
a779d213
GM
2858 * xfns.c (file_dialog_unmap_cb): New function.
2859 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2860 where a dialog is closed via the window manager.
2861
7b2654b5 2862 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2863 the window start or all below the window end mostly rewritten.
2864 (redisplay_window): Move the tests if try_window_id is
2865 applicable to try_window_id.
2866 (GIVE_UP): New macro.
2867
3356df63
GM
28682001-05-02 Gerd Moellmann <gerd@gnu.org>
2869
a39202f6 2870 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2871 currently being updated, mark the frame garbaged.
2872 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2873 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2874
3356df63
GM
2875 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2876 again if it has already been drawn.
2877
a9d2fd1d
SM
28782001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2879
2880 * syntax.c (update_syntax_table): Check that oldi has the same
2881 properties as old_prop before deciding not to invalidate.
2882
c95fc5f1
GM
28832001-04-30 Gerd Moellmann <gerd@gnu.org>
2884
a9793e45
GM
2885 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2886 read-only text that is so because of text properties.
2887
c95fc5f1 2888 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2889 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2890 windows that are components of a Lucid menu bar.
2891
5a5d9185
GM
28922001-04-27 Gerd Moellmann <gerd@gnu.org>
2893
2894 * term.c (turn_on_face): Fix reverse video handling on terminals
2895 that don't support colors.
2896
ba973f7a
GM
28972001-04-26 Gerd Moellmann <gerd@gnu.org>
2898
2899 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2900 a non-buffer.
2901
8c56a983
GM
29022001-04-25 Gerd Moellmann <gerd@gnu.org>
2903
a728644c
GM
2904 * term.c (toggle_highlight): New function.
2905 (turn_on_face): Change handling of reverse video.
2906
7b2654b5
SM
2907 * process.c (wait_reading_process_input):
2908 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2909
bfd8410f
GM
2910 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2911 of the number of overlays to check.
2912
be2488ca
GM
2913 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2914
8c56a983
GM
2915 * xdisp.c (try_window_id): Fix a case where window_end_pos
2916 and window_end_bytepos were not adjusted.
2917
522d42f7
GM
29182001-04-23 Gerd Moellmann <gerd@gnu.org>
2919
2920 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2921 zero instead of -1.
2922
78c1afb6
EZ
29232001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2924
a9d2fd1d
SM
2925 * process.c (wait_reading_process_input) [!subprocesses]:
2926 Don't reference waiting_for_user_input_p, it's not defined in the
2927 branch without async subprocesses support.
78c1afb6 2928
a2fab450
GM
29292001-04-19 Gerd Moellmann <gerd@gnu.org>
2930
a122a38e
GM
2931 * keyboard.c (delete_kboard): Prevent a dangling reference
2932 from current_kboard to KB, which is freed.
2933
a9d2fd1d
SM
2934 * process.c (wait_reading_process_input):
2935 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2936 read_key_sequence aware of buffer changes from under it.
2937
0f8d6dc7
GM
29382001-04-18 Gerd Moellmann <gerd@gnu.org>
2939
eeffb293
GM
2940 * xfaces.c (Qscalable_fonts_allowed): New variable.
2941 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2942 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2943 removed.
eeffb293 2944 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2945 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2946 for scalable-fonts-allowed to t.
eeffb293 2947
0f8d6dc7
GM
2948 * fileio.c (Finsert_file_contents): If the file size returned from
2949 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2950 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2951
eec2d1de
EZ
29522001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2953
2954 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2955 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2956 (__memalign_hook): Make the two prototypes consistent.
2957
f4f480bd
GM
29582001-04-17 Gerd Moellmann <gerd@gnu.org>
2959
2960 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2961 matrix of mini-windows.
2962
52283633
SM
29632001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2964
2965 * intervals.c (find_interval): Don't rebalance during signal handling.
2966
ec2423c9
GM
29672001-04-11 Gerd Moellmann <gerd@gnu.org>
2968
30cb0001 2969 * fns.c: Include blockinput.h.
52283633 2970
ec2423c9
GM
2971 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2972
719d83ad
GM
29732001-04-10 Gerd Moellmann <gerd@gnu.org>
2974
60f8d735
GM
2975 * fns.c (Fcompare_strings): Fix return values.
2976
afffeb57
GM
2977 * window.c (window_scroll): Change the meaning of N to mean
2978 N screen-fulls or N lines.
2979 (window_scroll_pixel_based, window_scroll_line_based)
2980 (scroll_command, Fscroll_other_window): Change accordingly.
2981
52283633
SM
2982 * window.c (window_scroll_pixel_based, Frecenter):
2983 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2984 height of the window.
2985
2986 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2987 instead of using it.last_visible_y for the height of the window.
52283633 2988
719d83ad 2989 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2990 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2991
2992 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2993 able to write to hidden and system files. From Dan Holmsand
2994 <dan@eyebee.com>.
719d83ad 2995
8ddf3ee1
GM
2996 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2997 Holmsand <dan@eyebee.com>.
719d83ad 2998
522ed7fb
GM
29992001-04-09 Gerd Moellmann <gerd@gnu.org>
3000
9170e5d4
GM
3001 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3002
522ed7fb
GM
3003 * window.c (window_internal_height): Return 1 less if the
3004 window has a header line.
3005
3006 * xdisp.c (try_window_id): When scrolling on a terminal, take
3007 the change of window_internal_height into account.
3008
ceeb3d7d
EZ
30092001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3010
3011 * gmalloc.c (align): If the argument SIZE would overflow
3012 __malloc_ptrdiff_t, fail right away.
3013
63685b9d
GM
30142001-04-06 Gerd Moellmann <gerd@gnu.org>
3015
3016 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3017 Make sure the tooltip is completely visible.
3018 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3019
3020 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3021
3022 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3023
3ffb33bb
DL
30242001-04-06 Dave Love <fx@gnu.org>
3025
52283633
SM
3026 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3027 Fix test of `from'.
3ffb33bb 3028
869fb12c
GM
30292001-04-06 Gerd Moellmann <gerd@gnu.org>
3030
52283633 3031 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3032
869fb12c
GM
3033 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3034
441bf856
GM
30352001-04-05 Gerd Moellmann <gerd@gnu.org>
3036
4d664b04
GM
3037 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3038
52283633 3039 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3040
30ca89f5
GM
3041 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3042 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3043
3044 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3045 shell widget's position only if it is non-null.
3046
52283633
SM
3047 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3048 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3049
81a81c0f
GM
3050 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3051 FILENAME to bring it in synch with the documentation.
3052
441bf856
GM
3053 * xfaces.c (realizing_basic_faces_p): Renamed from
3054 realize_default_face_p.
3055 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3056 (realize_default_face): Don't set the flag.
3057
702a1e8e
GM
30582001-04-04 Gerd Moellmann <gerd@gnu.org>
3059
1013f4e3
GM
3060 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3061
52283633
SM
3062 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3063
1013f4e3
GM
3064 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3065 the buffer that was used for echoing.
3066
702a1e8e
GM
3067 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3068 (first_font_matching): Removed unused function.
3069 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3070 (may_use_scalable_font_p): Remove parameter FONT; rename
3071 parameter NAME to FONT.
3072 (x_face_list_fonts): Fix missing bounds check.
3073 (realizing_default_face_p): New variable.
3074 (realize_default_face): Set and clear that flag.
3075 (x_face_list_fonts): When called during the realization of the
3076 default face, and no matching fonts are found when ignoring
3077 scalable fonts and fonts matching a regexp from
3078 face-ignored-fonts, try without ignoring fonts.
3079
f9dbcda4
GM
30802001-04-03 Gerd Moellmann <gerd@gnu.org>
3081
ad18ffb1
GM
3082 * xfns.c (postprocess_image): New function.
3083 (lookup_image): Call it for all image types except PostScript.
3084 (x_kill_gs_process): Call postprocess_image.
3085
f9dbcda4
GM
3086 * xterm.c (x_use_underline_position_properties): New variable.
3087 (x_draw_glyph_string): Use it.
3088 (syms_of_xterm): DEFVAR_BOOL it.
3089
651f03b6
GM
30902001-04-02 Gerd Moellmann <gerd@gnu.org>
3091
3092 * xterm.c (x_alloc_nearest_color_1): New function.
3093 (x_alloc_nearest_color): Use it.
3094 (x_color_cells): Take a Display as argument, instead of a frame.
3095 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3096 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3097 (x_initialize): Register cvt_string_to_pixel as resource converter
3098 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3099
73d75a62
GM
31002001-03-30 Gerd Moellmann <gerd@gnu.org>
3101
b2046df8
GM
3102 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3103 (set_iterator_to_next): If a string from a display property ends,
3104 consider the case that this might also be the end of an
3105 overlay string having the display property.
3106
52283633 3107 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3108
87d8eba4
GM
3109 * xdisp.c (reseat_to_string): Undo last change.
3110
73d75a62
GM
3111 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3112 matrix of a window when the header line changes, when
3113 new rows are allocated, or when the width changes.
3114
911a2406
EZ
31152001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3116
52283633 3117 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3118
aea51abe
EZ
31192001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3120
3121 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3122 deprecated.
3123
176bc847
GM
31242001-03-29 Gerd Moellmann <gerd@gnu.org>
3125
ed31fabf
GM
3126 * data.c (Fsubr_interactive_form): New function.
3127 (syms_of_data): Defsubr it.
3128
176bc847
GM
3129 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3130 (live_float_p, live_misc_p): Return 1 only if the offset of the
3131 pointer in its block is >= 0.
3132
e59d0e9d
GM
31332001-03-28 Paul Eggert <eggert@twinsun.com>
3134
3135 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3136 microseconds calcuation. Avoid double-rounding problem.
3137 In doc string, warn that the result is approximate.
3138
f827b862
GM
31392001-03-28 Gerd Moellmann <gerd@gnu.org>
3140
30a3f61c
GM
3141 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3142 bind `inhibit-eval-during-redisplay' to t.
3143
3144 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3145
3146 * xdisp.c (inhibit_eval_during_redisplay)
3147 (Qinhibit_eval_during_redisplay): New variables.
3148 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3149 don't eval, return nil instead.
3150 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3151 Initialize Qinhibit_eval_during_redisplay.
3152
e719f5ae
GM
3153 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3154 the iterator's multibyte_p flag.
3155
deb2613a
GM
3156 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3157 instead of setting it to zero; it's incremented for each frame
3158 where the menu face is changed.
3159
52283633
SM
3160 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3161 change bottom shadow accordingly.
3162
3163 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3164 intersections here.
3165 (expose_window): Do it here instead.
52283633 3166 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3167
f827b862
GM
3168 * bytecode.c (BYTE_CODE_QUIT): New macro.
3169 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3170
4bde0ebb
GM
31712001-03-27 Gerd Moellmann <gerd@gnu.org>
3172
607ec83c
GM
3173 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3174 Give up if matrix starts in an ellipsis.
3175 (init_from_display_pos): Do nothing if POS doesn't specify
3176 a dpvec_index but the iterator has such a position.
3177
0245398f
GM
3178 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3179
aba25348
GM
3180 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3181 x/y position is (0, 0) after destroying the menu bar, restore
3182 its original position.
3183
4bde0ebb
GM
3184 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3185 (init_from_display_pos): Use it.
3186 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3187
8cdb267e
GM
31882001-03-26 Gerd Moellmann <gerd@gnu.org>
3189
3190 * xdisp.c (try_window_id): Undo last change.
3191
9948db79
EZ
31922001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3193
3194 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3195
3196 * buffer.c (syms_of_buffer): Doc fix.
3197
2eddf899
GM
31982001-03-26 Gerd Moellmann <gerd@gnu.org>
3199
3200 * xfaces.c (x_update_menu_appearance): Use local variable
3201 popup_path for setting font resources.
3202
6c145d35
EZ
32032001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3204
6a65b1b5
EZ
3205 * frame.c (Fframe_list): Don't reference tip_frame if
3206 HAVE_WINDOW_SYSTEM is not defined.
3207
6c145d35
EZ
3208 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3209 <wl@gnu.org>.
3210
d74c1900
GM
32112001-03-25 Gerd Moellmann <gerd@gnu.org>
3212
20fbd925
GM
3213 * xdisp.c (init_from_display_pos): Test invisible property
3214 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3215
927c5b3b
GM
3216 * xdisp.c (redisplay_internal) <update one window>: Make sure
3217 last_arrow_position and last_arrow_string are set.
3218
d74c1900
GM
3219 * frame.c (Fframe_list): Don't return a tooltip frame.
3220
091f8878
GM
32212001-03-23 Gerd Moellmann <gerd@gnu.org>
3222
52283633
SM
3223 * xdisp.c (mark_window_display_accurate_1): New function,
3224 extracted from mark_window_display_accurate.
3225 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3226 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3227 (mark_window_display_accurate): Use it.
3228 (redisplay_internal): Use it for the selected window.
3229 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3230 for the selected frame.
3231
ac90c44f
GM
3232 * xdisp.c Use make_number, for readability.
3233 (try_window_id): Disable rows below the window end.
3234 (try_window_reusing_current_matrix): Use cursor_row_p.
3235 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3236 of rows.
3237 (init_from_display_pos): If POS specifies a position in a display
3238 vector, maybe get the iterator set up for that ellipsis.
43c09969 3239
091f8878
GM
3240 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3241
991786dd
EZ
32422001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3243
3244 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3245
6c29b43c
GM
32462001-03-23 Gerd Moellmann <gerd@gnu.org>
3247
3248 * xfaces.c (x_update_menu_appearance): Use a different path
3249 for Lucid popup menus.
3250
d8731202
SM
32512001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3252
3253 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3254
3255 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3256 (string_buffer_position): Use `make_number'.
3257
f61a541b
GM
32582001-03-22 Gerd Moellmann <gerd@gnu.org>
3259
3c9e997b
GM
3260 * xfaces.c (x_update_menu_appearance): Renamed from
3261 x_set_menu_face_resources. Use different resources for popups.
3262
3263 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3264 (GC_CHECK_STRING_BYTES): Don't define.
3265
364cd450
GM
3266 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3267 Removed, together with subroutines.
3268 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3269 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3270
d8731202
SM
3271 * dispextern.h (x_set_menu_resources_from_menu_face):
3272 Remove prototype.
364cd450 3273
d8731202 3274 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3275 Remove calls to x_set_menu_resources_from_menu_face.
3276
d8731202
SM
3277 * xfaces.c (xm_set_menu_resources_from_menu_face):
3278 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3279
3280 * xmenu.c: Include widget.h.
3281 (single_submenu): Return int. Some cleanup.
3282 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3283
140330de
GM
32842001-03-21 Gerd Moellmann <gerd@gnu.org>
3285
3286 * xterm.c (x_update_window_end): Handle overwritten mouse face
3287 also for tool bar windows.
3288 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3289 DRAW is DRAW_IMAGE_RAISED.
3290
1741905c
GM
32912001-03-20 Gerd Moellmann <gerd@gnu.org>
3292
fa88947e
GM
3293 * print.c (syms_of_print): Doc fixes.
3294
1741905c
GM
3295 * fns.c (Fmd5): Doc fix.
3296
ade0bee1
GM
32972001-03-19 Gerd Moellmann <gerd@gnu.org>
3298
357e7376
GM
3299 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3300 Clear area of the frame not occupied by the scroll bar.
3301
c2c097cc
GM
3302 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3303 tip frame's root window buffer to *tip* right after creating
3304 the frame.
3305
ade0bee1
GM
3306 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3307 is an integer don't have to be for space characters.
3308
88c6e37e
GM
33092001-03-16 Gerd Moellmann <gerd@gnu.org>
3310
52283633
SM
3311 * indent.c (current_column, current_column_1, Fmove_to_column)
3312 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3313
c62eed76
KH
33142001-03-15 Kenichi Handa <handa@etl.go.jp>
3315
3316 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3317 drawing glyph string.
3318
c899e7e6
GM
33192001-03-15 Gerd Moellmann <gerd@gnu.org>
3320
d0bbfc99
GM
3321 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3322 (command_loop_1): Undo last change.
3323
03d1a189
GM
3324 * xterm.c (fast_find_position): Return the correct vpos.
3325
c899e7e6 3326 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3327 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3328 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3329 Call store_symval_forwarding with BUF null.
3330 (set_internal): Call store_symval_forwarding with the BUF
3331 parameter passed to set_internal. Formerly, the value was always
3332 set in the current buffer; the buffer recorded in specbind for
3333 this case wasn't used.
3334 (arith_driver): Reindent.
3335
52283633
SM
3336 * buffer.c (swap_out_buffer_local_variables):
3337 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3338
3339 * lisp.h (store_symval_forwarding): Change prototype.
3340
3341 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3342
57ac7c81
GM
33432001-03-14 Gerd Moellmann <gerd@gnu.org>
3344
697617d9
GM
3345 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3346 FOR_DELETION. Avoid resizing the mini-window of the selected
3347 frame if FOR_DELETION is set.
3348 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3349 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3350 signature.
3351
3352 * window.c (Fset_window_configuration): Change call to
3353 do_switch_frame to new format.
3354
3355 * keyboard.c (quit_throw_to_read_char): Change call to
3356 do_switch_frame to new format.
3357
3358 * lisp.h (do_switch_frame): Change prototype.
3359
819dce0f
GM
3360 * frame.c (Fframe_parameters): In the `buffer-list' frame
3361 parameter, store the buffer list of FRAME, not the list of the
3362 selected frame.
3363
57ac7c81
GM
3364 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3365 box just because the glyph row's full_width_p flag is set.
3366
65008712
GM
33672001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3368
3369 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3370 skip the padding blanks inserted in extend_face_to_end_of_line,
3371 before checking for trailing whitespace.
3372
159cf431
GM
33732001-03-13 Gerd Moellmann <gerd@gnu.org>
3374
52283633 3375 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3376 Remove special handling for LessTif/Motif.
3377 (toplevel): Don't include Xm/Xm.h.
3378
52283633
SM
3379 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3380 Remove workaround code for LessTif; it doesn't work anymore.
3381
2564ea1b 3382 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3383 Xm/ScrollBarP.h.
afcdc0a1 3384
52283633
SM
3385 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3386 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3387 contemporary LessTif.
3388
52283633
SM
3389 * xfaces.c (xm_set_menu_resources_from_menu_face):
3390 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3391
159cf431
GM
3392 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3393 removing button grabs.
3394
c6f7429a
KH
33952001-03-13 Kenichi Handa <handa@etl.go.jp>
3396
cb82d767
KH
3397 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3398 and clip-large-size-font as obsolete.
3399
c6f7429a
KH
3400 * lread.c (read_multibyte): Check the validity of multibyte
3401 sequence. If invalid, return the first byte.
3402
760cefb5
GM
34032001-03-12 Gerd Moellmann <gerd@gnu.org>
3404
3405 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3406 before running the command; timer functions or process
3407 filters may have set it.
3408
5141f9d0
EZ
34092001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3410
3411 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3412 Doc fix.
3413
b6a15240
GM
34142001-03-12 Gerd Moellmann <gerd@gnu.org>
3415
3416 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3417 to sprintf.
3418
95522746
GM
34192001-03-09 Gerd Moellmann <gerd@gnu.org>
3420
db14cfc5
GM
3421 * dispextern.h (string_buffer_position): Add prototype.
3422
52283633 3423 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3424 (single_display_prop_string_p): New functions.
3425
3426 * xterm.c (note_mouse_highlight): If there's no help-echo on
3427 a string, look at the buffer text ``under'' it.
3428
3429 * keyboard.c (make_lispy_event): Add string info to the event,
3430 analogous to what's done on mode lines.
3431 (read_key_sequence): For a click on a string, consider `local-map'
3432 and `keymap' of that string.
3433
52283633
SM
3434 * keyboard.c (make_lispy_event, make_lispy_movement):
3435 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3436
3437 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3438
3439 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3440 POS; return void.
3441
95522746
GM
3442 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3443 flags argument to emacs_open; it seems to conflict with O_EXCL.
3444
898a399d
KH
34452001-03-09 Kenichi Handa <handa@etl.go.jp>
3446
28cd4910
KH
3447 * composite.h (struct composition): Change types of members;
3448 glyph_len to unsigned, width to unsigned short.
898a399d 3449
4cdf6a6c
AI
34502001-03-08 Andrew Innes <andrewi@gnu.org>
3451
3452 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3453 menu titles.
3454
129004d3
GM
34552001-03-08 Gerd Moellmann <gerd@gnu.org>
3456
221dd3e7
GM
3457 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3458 instead of nil.
3459
52283633 3460 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3461 help-echo in strings.
3462 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3463 (fast_find_string_pos): New function.
3464
52283633
SM
3465 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3466 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3467
3468 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3469 Handle `mouse-face'.
3470
3471 * dispextern.h (face_at_string_position): Change prototype.
3472
52283633 3473 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3474
129004d3
GM
3475 * keyboard.c (make_lispy_event): Avoid generating drag events
3476 if the mouse hasn't actually moved to another buffer position.
52283633 3477
80c8ab8c
DL
34782001-03-08 Dave Love <fx@gnu.org>
3479
129004d3 3480 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3481
989521fd
GM
34822001-03-08 Gerd Moellmann <gerd@gnu.org>
3483
3484 * process.c (Fset_process_window_size): Fix a typo.
3485
bb5c338d
KH
34862001-03-08 Kenichi Handa <handa@etl.go.jp>
3487
3488 * coding.c (detect_coding_sjis): Do more rigid check.
3489 (detect_coding_big5): Likewise.
3490 (decode_coding_sjis_big5): Likewise.
3491 (Fdetect_coding_region): Call detect_coding_system with tailing
3492 anchor byte `\0' for more rigid detection.
52283633 3493 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3494 (Fdetect_coding_string): Likewise.
3495
8b8f9197
SM
34962001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3497
3498 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3499 a string before extracting its data.
3500
3bdf2660
GM
35012001-03-07 Gerd Moellmann <gerd@gnu.org>
3502
3503 * window.c (Frecenter): Rewrite code handling negative values
3504 of ARG on graphical frames.
3505
35062001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3507
3508 * window.c (displayed_window_lines): If W->start is outside the
3509 accessible portion of the buffer, call start_display with BEGV or
3510 ZV instead of W->start.
3511
471f86b9
GM
35122001-03-07 Gerd Moellmann <gerd@gnu.org>
3513
2ab62c6c
GM
3514 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3515
471f86b9
GM
3516 * process.c (Fset_process_filter): Don't crash if the input
3517 file descriptor of PROCESS is closed.
3518 (Fset_process_window_size): Likewise.
3519
101922c3
GM
35202001-03-06 Kenichi Handa <handa@etl.go.jp>
3521
3522 * xterm.c (XTflash): Make the timeout of select shorter, and call
3523 select repeatedly until the desired time expires.
3524
45d051a7
GM
35252001-03-06 Gerd Moellmann <gerd@gnu.org>
3526
3527 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3528
3529 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3530
3531 * lisp.h (Vwindow_list): Declare extern.
3532
8f372c46
EZ
35332001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3534
3535 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3536
f16a7aa5
GM
35372001-03-06 Gerd Moellmann <gerd@gnu.org>
3538
157ae273
GM
3539 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3540 to detect a case where we have to highlight a different region
3541 despite not having left the currently highlighted region.
3542 Set mouse_face_overlay in the x_display_info.
45d051a7 3543 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3544
3545 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3546
3547 * buffer.c (mouse_face_overlay_overlaps): New function.
3548
3549 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3550 (Qmouse_face): Declare extern.
3551
f16a7aa5
GM
3552 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3553 if face_change_count is non-zero.
3554
827afcac
KH
35552001-03-06 Kenichi Handa <handa@etl.go.jp>
3556
3557 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3558 that the source is unibyte.
3559
14c7242e
DL
35602001-03-05 Dave Love <fx@gnu.org>
3561
827afcac 3562 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3563
c28b847b
GM
35642001-03-05 Gerd Moellmann <gerd@gnu.org>
3565
3566 * minibuf.c (read_minibuf): Clean up the binding stack if
3567 called noninteractively.
3568
b86644f2
KH
35692001-03-05 Kenichi Handa <handa@etl.go.jp>
3570
3571 * coding.c (syms_of_coding): Docstring modified.
3572
203682cc 35732001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3574
3575 * charset.c (char_to_string): If a single byte char has modifier
3576 bits that can't be reflected to the character code, ignore them
45d051a7 3577 instead of signaling an error.
b86644f2 3578
e30bd7b7
EZ
35792001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3580
3581 * s/msdos.h: Update copyright notice.
3582
3583 * dosfns.h: Update copyright notice.
3584
3585 * dosfns.c: Update copyright notice.
3586
3587 * msdos.c: Update copyright notice.
3588
b52b65bd
GM
35892001-03-02 Gerd Moellmann <gerd@gnu.org>
3590
3591 * xterm.c (glyph_rect): New function.
3592 (XTmouse_position): Use it to raise the threshold for mouse
3593 movement event generation.
3594
53c4b1e6
EZ
35952001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3596
3597 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3598 specifies (reverse . t), reverse the initial screen colors.
3599 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3600 but we are reversing the colors, set bg_set, not fg_set.
3601 Likewise for setting background-color and reversing: set fg_set.
3602 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3603 in effect.
3604
3605 * xfaces.c (Finternal_set_lisp_face_attribute)
3606 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3607 parameters alist.
3608
f964b4d7
GM
36092001-03-02 Gerd Moellmann <gerd@gnu.org>
3610
ef53d75e
GM
3611 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3612 to a single slash in the middle of file names.
3613
52283633 3614 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3615 Accept only alphanumeric time zone names.
3616
f964b4d7
GM
3617 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3618 or width area.
3619 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3620 a widget to zero height.
52283633 3621
c3c45f65
GM
36222001-03-01 Gerd Moellmann <gerd@gnu.org>
3623
3624 * window.c (Fwindow_end): Call move_it_past_eol only if
3625 ending up on a partially visible line.
3626
028d739a
DL
36272001-03-01 Dave Love <fx@gnu.org>
3628
3629 * ccl.c (Fccl_execute): Doc fix.
3630
57c5889c
GM
36312001-03-01 Gerd Moellmann <gerd@gnu.org>
3632
35f59f6b
GM
3633 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3634 of the tool bar before calling x_figure_window_size.
3635
f84ff02c
GM
3636 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3637 NULL after destroying it, otherwise XTread_socket can access a
3638 destroyed widget when input is unblocked.
3639
8b8f9197 3640 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3641
57c5889c
GM
3642 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3643 same name as before, although there was a change in fontsets.
3644
224227d1
KR
36452001-02-28 Ken Raeburn <raeburn@gnu.org>
3646
4560730a
KR
3647 * lisp.h (Fframe_parameter): Declare.
3648
224227d1 3649 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3650 Lisp_Object.
224227d1 3651
ece93c02
GM
36522001-02-28 Gerd Moellmann <gerd@gnu.org>
3653
11ef99b9
GM
3654 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3655 NULL instead.
3656
3657 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3658 NULL instead.
3659
ece93c02
GM
3660 * alloc.c (toplevel): Include process.h.
3661 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3662 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3663 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3664 (allocate_vector, allocate_hash_table, allocate_window)
3665 (allocate_frame, allocate_process, allocate_other_vector):
3666 New functions.
ece93c02
GM
3667 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3668 (mark_maybe_pointer): New function.
52283633 3669 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3670 remain and not Lisp_Objects.
3671 (min_heap_address, max_heap_address): New variables.
3672 (mem_find): Return MEM_NIL if START is below min_heap_address or
3673 above max_heap_address.
3674 (mem_insert): Compute min_heap_address and max_heap_address.
3675
3676 * process.c (make_process): Use allocate_process.
3677
3678 * frame.c (make_frame): Use allocate_frame.
3679
3680 * window.c (make_window, make_dummy_parent): Use allocate_window.
3681 (Fcurrent_window_configuration): Use allocate_other_vector.
3682
3683 * lisp.h (allocate_vectorlike): Remove prototype.
3684 (allocate_vector, allocate_other_vector, allocate_frame)
3685 (allocate_window, allocate_process, allocate_hash_table):
3686 Add prototypes.
3687
3688 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3689 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3690
063af457
KH
36912001-02-27 Kenichi Handa <handa@etl.go.jp>
3692
3693 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3694 treat the produced bytes as a valid multibyte sequence.
3695
3696 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3697 (ccl_driver) <CCL_WriteMultibyteChar2>:
3698 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3699 <ccl_finish>: Set ccl->eight_bit_control properly.
3700
3701 * ccl.h (struct ccl_program): New member eight_bit_control.
3702
f58c6494
SM
37032001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3704
3705 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3706 accessible_keymaps_char_table.
3707 (accessible_keymaps_char_table): Obey `is_metized'.
3708 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3709 Lisp_Object.
3710
c596c392
GM
37112001-02-26 Gerd Moellmann <gerd@gnu.org>
3712
3713 * dispnew.c: Check HAVE_TERM_H before including term.h.
3714
425de386
AI
37152001-02-24 Andrew Innes <andrewi@gnu.org>
3716
3717 * makefile.w32-in: Update copyright notice.
3718
2ba11bbd
SM
37192001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3720
3721 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3722
66c56ed1
KH
37232001-02-24 Kenichi Handa <handa@etl.go.jp>
3724
4c1593ce
KH
3725 * Makefile.in (lisp): Add international/utf-8.elc.
3726
66c56ed1
KH
3727 * fontset.c (Fnew_fontset): Fix handling of the case that an
3728 element of FONTLIST is a cons of family and registry.
3729
796ead7e
JR
37302001-02-23 Jason Rumney <jasonr@gnu.org>
3731
3732 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3733 to height unconditionally.
3734
3735 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3736 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3737 (x_insert_glyphs): Call window_box_left to obtain the left
3738 x-coordinate of the area to shift.
3739
3740 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3741 safe_run_hooks.
3742
f6839838
AI
37432001-02-22 Andrew Innes <andrewi@gnu.org>
3744
52283633 3745 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3746 ($(BLD)\dispnew.obj):
3747 ($(BLD)\editfns.obj):
3748 ($(BLD)\fileio.obj):
3749 ($(BLD)\filelock.obj):
3750 ($(BLD)\keyboard.obj):
3751 ($(BLD)\w32proc.obj):
3752 ($(BLD)\process.obj):
3753 ($(BLD)\sysdep.obj): Ditto.
3754
3755 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3756 header files.
52283633
SM
3757 ($(BLD)/dispnew.$(O)):
3758 ($(BLD)/editfns.$(O)):
3759 ($(BLD)/fileio.$(O)):
3760 ($(BLD)/filelock.$(O)):
3761 ($(BLD)/keyboard.$(O)):
3762 ($(BLD)/w32proc.$(O)):
3763 ($(BLD)/process.$(O)):
f6839838
AI
3764 ($(BLD)/sysdep.$(O)): Ditto.
3765
c224f70b
GM
37662001-02-22 Gerd Moellmann <gerd@gnu.org>
3767
51695746
GM
3768 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3769 at the start of the function, check that the \n in it->c is
3770 from the iterator's current position.
52283633 3771
a61b7058
GM
3772 * xdisp.c (handle_single_display_prop): Add parameter
3773 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3774 properties which replace the display of text with something else.
3775 (handle_display_prop): Call handle_single_display_prop with
3776 additional argument saying if we already replaced text display
3777 with something else. Use AREF.
52283633 3778 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3779 (decode_mode_spec_coding): Use AREF and ASIZE.
3780
3473f362
GM
3781 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3782 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3783 * vmstime.h: Files removed.
52283633 3784
2bb58df3
GM
3785 * unexencap.c, unexfx2800.c: Files removed.
3786
c224f70b
GM
3787 * dispnew.c (direct_output_for_insert): Give up if we are showing
3788 a message or just cleared the message because we might need to
3789 resize the echo area window or display an empty echo area.
3790
ffc9ff0c
GM
37912001-02-21 Gerd Moellmann <gerd@gnu.org>
3792
0528abe1
GM
3793 * xdisp.c (redisplay_internal): Do the
3794 mark_window_display_accurate after all windows have been
3795 redisplayed because this call resets flags in buffers which are
3796 needed for proper redisplay.
3797
52283633
SM
3798 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3799 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3800 the old names.
3801
52283633
SM
3802 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3803 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3804
3805 * msdos.h (struct x_output): Rename busy_window to
3806 hourglass_window, busy_p to hourglass_p.
3807
52283633
SM
3808 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3809 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3810
3811 * xfns.c: Rename everything containing *busy_cursor* and similar
3812 to *hourglass*.
3813 (syms_of_w32fns): Rename x-busy-pointer-shape to
3814 x-hourglass-pointer-shape, display-busy-cursor to
3815 display-hourglass, busy-cursor-delay to hourglass-delay.
3816
3817 * w32fns.c: Rename everything containing *busy_cursor* and similar
3818 to *hourglass*.
3819 (syms_of_w32fns): Rename x-busy-pointer-shape to
3820 x-hourglass-pointer-shape, display-busy-cursor to
3821 display-hourglass, busy-cursor-delay to hourglass-delay.
3822
3823 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3824 of its busy_p flag.
3825
3826 * dispextern.h (start_hourglass, cancel_hourglass)
3827 (display_hourglass_p): Renamed from *busy_cursor*.
3828
ab2c5f0a
GM
38292001-02-20 Gerd Moellmann <gerd@gnu.org>
3830
d17e49a8
GM
3831 * keyboard.c (read_char): When an event from unread-command-events
3832 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3833
fa97adf6
GM
3834 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3835 equal to the current buffer.
3836
ab2c5f0a
GM
3837 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3838 nil, otherwise we're left with truncate_lines t when a message
3839 is printed with message-truncate-lines bound to t.
3840
aeac019e
GM
38412001-02-19 Gerd Moellmann <gerd@gnu.org>
3842
c8bc6f65
GM
3843 * window.c (Fmove_to_window_line): Undo last change.
3844 (displayed_window_lines): Call line_bottom_y to determine
3845 the line's bottom position.
3846
3847 * dispextern.h (line_bottom_y): Add prototype.
3848
52283633 3849 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3850 (pos_visible_p): Use it.
3851
980a2d69
GM
3852 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3853 set redisplaying_p to 0 here instead of in Frecursive_edit.
3854 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3855 set redisplaying_p.
3856
52283633 3857 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3858 New variables.
3859 (syms_of_xdisp): Initialize new variables.
3860 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3861 Specbind `inhibit-menubar-update' when updating the menu bar.
3862
65048e97
GM
3863 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3864 safe_run_hooks.
3865
3866 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3867 safe_run_hooks.
3868
a57c4026
GM
3869 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3870 is null.
3871
aeac019e
GM
3872 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3873 to the start of the file.
3874
76846b31
GM
38752001-02-16 Gerd Moellmann <gerd@gnu.org>
3876
f3f053f3 3877 * window.c (set_window_buffer): Fix last change.
52283633 3878
f3f053f3
GM
3879 * window.c (set_window_buffer): Set window's vscroll to 0.
3880
dad75588
GM
3881 * window.c (coordinates_in_window): Increase width of area
3882 where the vertical line can be dragged.
3883
c220b753
GM
3884 * xterm.c (x_set_glyph_string_background_width): Extend the
3885 background face to the end of the drawing area in the text
3886 area, only.
3887
c56b1c1b
GM
3888 * xdisp.c (handle_single_display_prop): Set iterator's position
3889 to where the `display' property starts, like for images.
3890 (dump_glyph): New function.
3891 (dump_glyph_row): Use it. Dump info about marginal areas.
3892
3893 * dispnew.c (direct_output_for_insert): Recognize more cases where
3894 glyphs can be written instead of being inserted.
3895
3896 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3897 the left x-coordinate of the area to shift.
3898
76846b31
GM
3899 * dired.c (directory_files_internal): Set result list to nil
3900 before retrying.
3901
0fc71a77
KH
39022001-02-15 Kenichi Handa <handa@etl.go.jp>
3903
3904 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3905 invalid multibyte sequence, treat *SRC as a character of
3906 eight-bit-graphic.
3907
25078b54
EZ
39082001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3909
3910 * textprop.c (Fset_text_properties): Doc fix.
3911
8399f8a0
GM
39122001-02-15 Gerd Moellmann <gerd@gnu.org>
3913
3914 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3915
9a2a6f73
DL
39162001-02-14 Dave Love <fx@gnu.org>
3917
3918 * coding.c: Doc and message fixes.
3919
bf853fee
AI
39202001-02-14 Andrew Innes <andrewi@gnu.org>
3921
3922 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3923 Emacs frame above the screen size.
3924
78c663d8
GM
39252001-02-14 Gerd Moellmann <gerd@gnu.org>
3926
3927 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3928
7cc9f69f
GM
39292001-02-13 Gerd Moellmann <gerd@gnu.org>
3930
0a411995
GM
3931 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3932 case that TO ends up beyond ZV after running before-change-functions.
3933
5ddc1b75
GM
3934 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3935 the selected window if it is showing the buffer in question.
3936
7cc9f69f
GM
3937 * dired.c (directory_files_internal): Initialize errno.
3938 (toplevel): Include errno.h.
3939
2e6621ca
GM
39402001-02-13 Kenichi Handa <handa@etl.go.jp>
3941
3942 * xfaces.c (best_matching_font): New parameter width_ratio.
3943 Multiply avgwidth by width_ratio.
3944 (choose_face_font): Call best_matching_font with width_ratio
3945 calculated from the column width of C.
3946
60222d69
AI
39472001-02-12 Andrew Innes <andrewi@gnu.org>
3948
3949 The following changes are to draw box lines inside characters area
3950 if line-width is negative.
52283633 3951
60222d69
AI
3952 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3953 face->box_line_width is negative.
3954 (x_produce_stretch_glyph): Likewise.
3955 (x_produce_glyphs): Likewise.
3956 (x_estimate_mode_line_height): Likewise.
3957 (x_draw_glyph_string_background): Likewise.
3958 (x_draw_glyph_string_foreground): Likewise.
3959 (x_draw_composite_glyph_string_foreground): Likewise.
3960 (x_draw_glyph_string_box): Likewise.
3961 (x_draw_image_foreground): Likewise.
3962 (x_draw_image_relief): Likewise.
3963 (x_draw_image_foreground_1): Likewise.
3964 (x_draw_image_glyph_string): Likewise.
3965
9804b846
KH
39662001-02-09 Kenichi Handa <handa@etl.go.jp>
3967
3968 The following changes are to draw box lines inside characters area
3969 if line-width is negative.
52283633 3970
9804b846
KH
3971 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3972 face->box_line_width is negative.
3973 (x_produce_stretch_glyph): Likewise.
3974 (x_produce_glyphs): Likewise.
3975 (x_estimate_mode_line_height): Likewise.
3976 (x_draw_glyph_string_background): Likewise.
3977 (x_draw_glyph_string_foreground): Likewise.
3978 (x_draw_composite_glyph_string_foreground): Likewise.
3979 (x_draw_glyph_string_box): Likewise.
3980 (x_draw_image_foreground): Likewise.
3981 (x_draw_image_relief): Likewise.
3982 (x_draw_image_foreground_1): Likewise.
3983 (x_draw_image_glyph_string): Likewise.
3984
3985 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3986 and :line-width can be negative.
52283633 3987 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3988
49be9f70
JR
39892001-02-09 Jason Rumney <jasonr@gnu.org>
3990
3991 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3992 characters the same as ASCII and latin-1.
3993 (x_display_and_set_cursor): Check for the focus frame's selected
3994 window instead of selected_window.
3995 (x_after_update_window_line): Don't clear if frame's internal
3996 border width is zero.
3997 (x_new_font): Don't change a tooltip's size.
3998 (w32_initialize): Set char_ins_del_ok to 1.
3999
4000 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4001 (x_set_font): If font hasn't changed, avoid recomputing
4002 faces and other things.
52283633
SM
4003 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4004 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4005 (x_create_tip_frame): Prevent changing the tooltip's
4006 background color by specifying a color for the default font
4007 in .Xdefaults.
4008 (Qcancel_timer): New variable.
4009 (syms_of_w32fns): Initialize and staticpro it.
4010 (Fx_hide_tip, Fx_show_tip): Use it.
4011 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4012 the timer.
4013 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4014
4015 * w32.c (init_environment): Duplicate local string before putenv.
4016
555e35d2
SZ
40172001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4018
4019 * charset.c (Fstring): A typo.
4020
19c92c94
KH
40212001-02-09 Kenichi Handa <handa@etl.go.jp>
4022
e47a1c33
KH
4023 * charset.c (Fstring): If all arguments are less than 256, return
4024 a unibyte string.
4025
4026 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4027 return a unibyte string.
4028
19c92c94
KH
4029 * coding.c (code_convert_region): After detecting a coding, if
4030 nothing found, set coding->composing to COMPOSITION_NO.
4031 (decode_coding_string): Likewise.
4032
d8e675f5
SM
40332001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4034
4035 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4036 to avoid overflow.
4037
bd503487
KH
40382001-02-07 Kenichi Handa <handa@etl.go.jp>
4039
4040 * charset.c (parse_str_to_multibyte): New function.
4041
4042 * charset.h (parse_str_to_multibyte): Extern it.
4043
4044 * print.c (print_string): If we are going to print a unibyte
4045 string into a multibyte buffer, convert the string to multibyte by
4046 str_to_multibyte.
4047
a8370d72
AI
40482001-02-06 Andrew Innes <andrewi@gnu.org>
4049
4050 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4051 been created. It seems we can get sent window messages such as
4052 WM_ERASEBKGND before we properly update a frame.
4053
c363a1d6
GM
40542001-02-06 Gerd Moellmann <gerd@gnu.org>
4055
4056 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4057 Avoid some unnecessary cursor positioning.
4058
a08332c0
GM
40592001-02-05 Gerd Moellmann <gerd@gnu.org>
4060
52283633 4061 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4062 (LFACE_AVGWIDTH): New macro.
4063 (LFACEP): Use AREF.
4064 (check_lface_attrs): Check LFACE_AVGWIDTH.
4065 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4066 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4067 (merge_face_vectors): Check LFACE_AVGWIDTH.
4068 (Finternal_make_lisp_face): Use AREF.
4069 (xm_set_menu_resources_from_menu_face)
4070 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4071 (Finternal_lisp_face_empty_p): Use AREF.
4072 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4073 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4074 Compare average widths..
4075 (best_matching_font): Arrange for comparing average widths.
4076
52283633
SM
4077 * dispextern.h (enum lface_attribute_index):
4078 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4079
5cb3c8d4
DL
40802001-02-05 Dave Love <fx@gnu.org>
4081
4082 * puresize.h: Revert last change following loadup.el change.
4083
193fba87
AI
40842001-02-05 Andrew Innes <andrewi@gnu.org>
4085
4086 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4087 invocation of temacs, to work with Windows 2000.
4088 (bootstrap-emacs): Ditto.
4089
e16f52ce
GM
40902001-02-05 Gerd Moellmann <gerd@gnu.org>
4091
7a58ab59
GM
4092 * xterm.c (x_display_and_set_cursor): Check for the focus
4093 frame's selected window instead of selected_window.
4094
e89aaabd
GM
4095 * xdisp.c (try_scrolling): If point is in the line below the
4096 window, make sure to move the iterator at least a canonical
4097 char height down.
4098
52283633 4099 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4100
789ce875
KH
41012001-02-05 Kenichi Handa <handa@etl.go.jp>
4102
52283633
SM
4103 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4104 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4105 (ccl_driver): If the CCL program is terminated because of
4106 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4107 destination instead of throwing them away.
4108
20b28f82
GM
41092001-02-02 Gerd Moellmann <gerd@gnu.org>
4110
79fb38c0
GM
4111 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4112 faces and other things.
4113
20b28f82
GM
4114 * xdisp.c (get_next_display_element): Fix case of empty
4115 display table entry.
4116
5a72551e
EZ
41172001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4118
eb24d0bf
EZ
4119 * editfns.c (Fconstrain_to_field): Doc fix.
4120
6a3f48c7
EZ
4121 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4122 into `thoroughly', to make it consistent with the doc string.
4123
5a72551e
EZ
4124 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4125
01acdb05
GM
41262001-02-01 Gerd Moellmann <gerd@gnu.org>
4127
0353b28f
GM
4128 * search.c (search_buffer): Call set_search_regs with a byte
4129 position, not a character position.
4130
01acdb05
GM
4131 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4132 minibuffer-only,
4133
e86b5133
EZ
41342001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4135
4136 * frame.c (Fmodify_frame_parameters): Doc fix.
4137
7442878f
GM
41382001-01-31 Gerd Moellmann <gerd@gnu.org>
4139
01acdb05
GM
4140 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4141 identifier which is not reserved by Standard C.
52283633 4142
7442878f
GM
4143 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4144
4145 * window.c (enum window_part): New enumeration.
4146 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4147 Qright_bitmap_area.
4148 (coordinates_in_window): Return an enumerator from enum
4149 window_part. Fix handling of right scroll bar.
4150 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4151 `right-fringe' instead of `left-bitmap-area' and
4152 `right-bitmap-area'. Use enumerators from enum window_part
4153 instead of hard-coded integers.
52283633
SM
4154 (check_window_containing, window_from_coordinates):
4155 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4156 (syms_of_window): Replace Qleft_bitmap_area and
4157 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4158
7c132cba
EZ
41592001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4160
4161 * editfns.c (Fformat_time_string): Doc fix.
4162
c359dd9e
SM
41632001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4164
4165 * keymap.c (Fwhere_is_internal): Use the first valid binding
4166 if no ascii binding is found (when firstonly is t).
4167
ce070307
GM
41682001-01-31 Gerd Moellmann <gerd@gnu.org>
4169
b4f30ec5
GM
4170 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4171 instead of Finteractive_p.
4172
4173 * lisp.h (interactive_p): Add prototype.
4174
4175 * eval.c (interactive_p): New function.
4176 (Finteractive_p): Use it.
4177
ce070307
GM
4178 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4179
f57b6e64
DL
41802001-01-31 Dave Love <fx@gnu.org>
4181
d61c7afe
DL
4182 * .gdbinit (hook-run): Define to run xreload.
4183
f57b6e64
DL
4184 * textprop.c (Fset_text_properties): Fix newline in doc string.
4185
eef93f99
GM
41862001-01-30 Gerd Moellmann <gerd@gnu.org>
4187
52283633
SM
4188 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4189 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4190
4191 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4192 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4193 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4194
4195 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4196 height.
4197
d9c1f6f9
DL
41982001-01-30 Dave Love <fx@gnu.org>
4199
4200 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4201 AFTER_POTENTIAL_GC.
4202
e8f044a0
GM
42032001-01-29 Gerd Moellmann <gerd@gnu.org>
4204
52283633
SM
4205 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4206 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4207
8e1db7b3
EZ
42082001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4209
4210 * textprop.c (Fset_text_properties): Doc fix.
4211
4eefd9d2
GM
42122001-01-29 Gerd Moellmann <gerd@gnu.org>
4213
4214 * xdisp.c (forward_to_next_line_start): Remove xassert.
4215
fccb8288
EZ
42162001-01-29 Jason Rumney <jasonr@gnu.org>
4217
4eefd9d2 4218 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4219 returning without releasing it.
4220
76581eab
KH
42212001-01-29 Kenichi Handa <handa@etl.go.jp>
4222
4223 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4224 for '^', '$', and '\0'.
4225
83a96b4d
AC
42262001-01-28 Andrew Choi <akochoi@i-cable.com>
4227
5604ec34
AC
4228 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4229 regex for '^', '$', and '\0'.
4230
83a96b4d
AC
4231 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4232 only if current_sblock has been initialized.
4233
4234 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4235 terminal frame even if it is the only visible frame.
4236
c09a6440
KH
42372001-01-28 Kenichi Handa <handa@etl.go.jp>
4238
4239 * fontset.c (font_family_registry): Even if FONTNAME conform to
4240 XLFD, if it specifies other fields than family and registry,
52283633 4241 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4242 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4243 a signle byte character. Don't set FAMILY part to nil here.
4244 It is handled by the caller choose_face_font.
c09a6440
KH
4245 (Fnew_fontset): Call font_family_registry with FORCE 0.
4246 (Fset_fontset_font): Likewise.
4247
4dcd74e6
GM
42482001-01-27 Gerd Moellmann <gerd@gnu.org>
4249
4250 * xdisp.c (display_line): Don't treat a newline as fitting
4251 on the line.
4252
d2906bf8
GM
42532001-01-26 Gerd Moellmann <gerd@gnu.org>
4254
0130fe1a
GM
4255 * window.c (size_window): Set the window's orig_top to nil when
4256 changing heights, so that a future shrink_mini_window won't
4257 restore a bogus height.
4258
550f0e6a
GM
4259 * frame.c (do_switch_frame): If selected frame has a mini-window,
4260 resize that to exact size.
4261
b7b20fbd
GM
4262 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4263
a47b7816
GM
4264 * xdisp.c (display_line): Simplify check for glyphs fitting
4265 entirely in the line.
4266
d2906bf8
GM
4267 * xfns.c (xic_style): New variable.
4268 (create_frame_xic): Move static variable to global scope for
550f0e6a 4269 the case that `static' gets defined away.
d2906bf8 4270
73df2b1e
KH
42712001-01-26 Kenichi Handa <handa@etl.go.jp>
4272
4273 * coding.c (decode_coding): Set a flag for inhibiting
4274 inconsistent eol.
4275 (code_convert_region): Always set saved_coding_symbol.
4276 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4277 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4278
6613cfc4
GM
42792001-01-25 Gerd Moellmann <gerd@gnu.org>
4280
c5e6e06b
GM
4281 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4282 XClearArea.
4283
4284 * xterm.c (x_after_update_window_line): Don't clear if frame's
4285 internal border width is zero.
4286 (x_clear_area): New function.
4287 (x_after_update_window_line, x_clear_end_of_line)
4288 (x_scroll_bar_create, x_scroll_bar_set_handle)
4289 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4290 instead of XClearArea.
4291
4292 * xterm.h (x_clear_area): Add prototype.
4293
6613cfc4
GM
4294 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4295 which doesn't seem necessary anymore with Lesstif 0.92.
4296
650cc6cc
DL
42972001-01-25 Dave Love <fx@gnu.org>
4298
34ac3367
DL
4299 * puresize.h (BASE_PURESIZE): Up to 720000.
4300
650cc6cc
DL
4301 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4302
5e37dc22
GM
43032001-01-25 Gerd Moellmann <gerd@gnu.org>
4304
e1e441f9
GM
4305 * xdisp.c (echo_area_display): Don't call redisplay_internal
4306 when Emacs is shutting down. We can't run hooks etc. that
4307 would be necessary to do a redisplay.
4308
5e37dc22
GM
4309 * lread.c (read_integer): Use type EMACS_INT instead of int.
4310
0fb94c7f
EZ
43112001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4312
4313 * ccl.c (ccl_driver): Fix last change.
4314
e3778624
KH
43152001-01-25 Kenichi Handa <handa@etl.go.jp>
4316
4317 * ccl.h (sturct ccl_program): New member suppress_error.
4318
bb264518 4319 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4320 insert error message to the output.
4321 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4322
4323 * coding.h (struct coding_system): New member suppress_error.
4324
4325 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4326 (Fset_terminal_coding_system_internal): Set the member
4327 suppress_error to 1.
4328 (Fset_safe_terminal_coding_system_internal): Likewise.
4329
245ed2b1
SM
43302001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4331
4332 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4333 as if it was a `charset'.
4334
f9aaedb6
GM
43352001-01-24 Gerd Moellmann <gerd@gnu.org>
4336
4337 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4338 value in where_is_cache; the next lookup in the cache returns
4339 something bogus if we do.
4340
c3902c3e
EZ
43412001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4342
4343 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4344 if HAVE_WINDOW_SYSTEM isn't defined.
4345
3497f73e
GM
43462001-01-24 Gerd Moellmann <gerd@gnu.org>
4347
e7e41584
GM
4348 * fns.c (sweep_weak_table): Fix code taking items out of
4349 the hash collision chain. Some cleanup.
4350
3497f73e
GM
4351 * xterm.c (x_new_font): Don't change a tooltip's size.
4352
4353 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4354 background color by specifying a color for the default font
4355 in .Xdefaults.
4356
3d48e687
KH
43572001-01-24 Kenichi Handa <handa@etl.go.jp>
4358
96531b20
KH
4359 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4360 a workaround for SunOS 4's cc.
4361 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4362 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4363 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4364 statement.
3d48e687 4365
a30629d2
GM
43662001-01-23 Gerd Moellmann <gerd@gnu.org>
4367
4368 * xterm.c (x_set_window_size_1): New function extracted from
4369 x_set_window_size.
4370 (x_set_window_size): Use it.
4371 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4372 doesn't have a widget, like tooltips.
4373
5a43decf
EZ
43742001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4375
52283633 4376 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4377
b0e98867
KH
43782001-01-23 Kenichi Handa <handa@etl.go.jp>
4379
4380 * fns.c (Fset_char_table_default): Fix to make sub char-table
4381 correctly.
4382
50606b4c
GM
43832001-01-22 Gerd Moellmann <gerd@gnu.org>
4384
cb2ddc53 4385 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4386 a desired tool bar string, even if there are no tool bar items.
4387
57c28064
GM
4388 * xdisp.c (Ftool_bar_lines_needed): New function.
4389 (syms_of_xdisp): Defsubr it.
4390
50606b4c
GM
4391 * editfns.c (Fformat): Don't extend text properties from arguments
4392 to padding chars in the result.
4393
2f169c38
EZ
43942001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4395
4396 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4397
0f32f023
AI
43982001-01-20 Andrew Innes <andrewi@gnu.org>
4399
52283633 4400 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4401 (w32_initialize): Don't set term hooks that aren't actually needed
4402 in windowed mode.
4403
4404 * xfaces.c (realize_default_face):
4405 (realize_face):
4406 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4407
4408 * xdisp.c (handle_single_display_prop): Remove references to
4409 FRAME_W32_CONSOLE_P.
4410
52283633 4411 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4412
4413 * frame.h (output_method): Remove output_w32_console method.
4414 (FRAME_W32_CONSOLE_P): Remove macro.
4415
4416 * frame.c (Qw32_console): Remove variable.
4417 (Fframep): Remove references to it.
4418 (syms_of_frame): Ditto.
4419 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4420
4421 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4422 redefinition.
4423
7173eada
KH
44242001-01-20 Kenichi Handa <handa@etl.go.jp>
4425
4426 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4427
755b45ce
AI
44282001-01-19 Andrew Innes <andrewi@gnu.org>
4429
4430 * w32.c (init_environment): Add a version-independent site-lisp
4431 directory to EMACSLOADPATH, after the version dependent one.
4432
0a949811
GM
44332001-01-19 Gerd Moellmann <gerd@gnu.org>
4434
8501998a
GM
4435 * editfns.c (Fbuffer_substring): Doc fix.
4436
52283633
SM
4437 * xdisp.c (message_dolog, message2, message2_nolog):
4438 Rename parameter LEN to NBYTES.
0a949811 4439
e6ebcbbe
KH
44402001-01-19 Kenichi Handa <handa@etl.go.jp>
4441
200ecca2
KH
4442 * charset.c (strwidth): Use c_string_width.
4443 (c_string_width): New function.
4444 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4445 Caller changed.
4446
4447 * charset.h (c_string_width, lisp_string_width): Extern them.
4448
52283633 4449 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4450
e6ebcbbe
KH
4451 * indent.c (check_composition): Check validity of composition.
4452
200ecca2
KH
4453 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4454 characters by calling c_string_width.
4455 (x_consider_frame_title): Get byte length of frame tile string
4456 correctly.
4457 (display_mode_element): Pay attention to width of non-ASCII
4458 characters by calling strwidth.
4459
8692ca92
GM
44602001-01-18 Gerd Moellmann <gerd@gnu.org>
4461
8962e303
GM
4462 * xfns.c (Qcancel_timer): New variable.
4463 (syms_of_xfns): Initialize and staticpro it.
4464 (Fx_hide_tip, Fx_show_tip): Use it.
4465 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4466 the timer.
4467 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4468
91523be9
GM
4469 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4470
4471 * window.h (WINDOW_LIVE_P): New macro.
4472
b0b7ed0e
GM
4473 * window.c (window_size_fixed): New variable.
4474 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4475 the doc string.
4476
06bccf8e
GM
4477 * eval.c (specbind): If binding a per-buffer variable which
4478 doesn't have a buffer-local value in the current buffer, change
4479 the global value by changing the value of the symbol bound in all
4480 buffers not having their own value, to make it consistent with
4481 what happens with other buffer-local variables.
4482
8692ca92
GM
4483 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4484
4485 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4486 when searching for a newline.
4487
bb3a3b50
KH
44882001-01-18 Kenichi Handa <handa@etl.go.jp>
4489
4490 * xdisp.c (display_string): Fix previous change.
4491
c2cc16fa
JR
44922001-01-18 Jason Rumney <jasonr@gnu.org>
4493
4494 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4495 GLYPH_DEBUG is defined.
4496 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4497 true for images with `:ascent 100'.
4498 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4499 meantime, use face MOUSE_FACE_ID.
4500 If first glyph isn't a character glyph, use the ASCII NUL
4501 character to determine the face.
4502 (expose_area): Do not treat left margin specially.
4503 (note_mode_line_highlight): If no local_map, check global keymap.
4504 (note_mouse_highlight): Initialize overlay.
52283633 4505 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4506 (show_scroll_bars): Remove unused function.
4507 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4508 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4509 Clip to row.
52283633 4510 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4511 (x_free_frame_resources): Unload relief colors.
4512
9c11f79e
GM
45132001-01-17 Gerd Moellmann <gerd@gnu.org>
4514
3aec8722 4515 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4516 get_next_display_element when the newline is already found.
4517 This may change the iterator's position, when its current position is
3aec8722
GM
4518 equal to the iterator's stop_charpos.
4519
f3ffc2c3
GM
4520 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4521 zero, use this method only at the end of a line.
4522
52283633 4523 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4524 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4525 if SCALABLE_FONTS_P is set.
52283633 4526
d26d6fd9
GM
4527 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4528 so that scalable fonts are included.
4529
9c11f79e
GM
4530 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4531 In the cache, use a key containing the information if scalable
4532 fonts are included.
4533 (x_load_font): Adapt to change of keys in the font cache.
4534
45352001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4536
d26d6fd9
GM
4537 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4538 XListFonts to take advantage of font caching.
4539
9c11f79e
GM
4540 * xterm.c (x_list_fonts): Ensure caching font information when
4541 called for a null frame, which is the case frequently when Emacs
4542 starts.
4543
51446987
GM
45442001-01-17 Gerd Moellmann <gerd@gnu.org>
4545
f864120f
GM
4546 * xfns.c (QCconversion): Replaces QCalgorithm.
4547
4548 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4549
4550 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4551 of :algorithm.
52283633 4552
e37d1417
GM
4553 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4554 not everything could be displayed.
4555
51446987
GM
4556 * line.h, x-list-font.c: Files removed because unused.
4557
9ad4f3e5
AI
45582001-01-17 Andrew Innes <andrewi@gnu.org>
4559
4560 * dired.c (directory_files_internal): Convert result from readdir
4561 to a unibyte string initially, to avoid possible misinterpretation
4562 of some bytes as the internal form of Emacs characters.
4563
2eda09b5
KH
45642001-01-17 Kenichi Handa <handa@etl.go.jp>
4565
4566 * fns.c (concat): Be sure to avoid putting the same `composition'
4567 property on the adjacent regions.
4568
826f3788
GM
45692001-01-16 Gerd Moellmann <gerd@gnu.org>
4570
52283633 4571 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4572 (Fscroll_right, Fscroll_left): Set it here instead, if called
4573 interactively.
4574
d57b83b3
GM
4575 * buffer.c (Fset_buffer_modified_p): Set buffer's
4576 prevent_redisplay_optimizations_p flag.
4577
826f3788 4578 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4579 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4580 with additional arg.
4581
4582 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4583 Change prototype.
826f3788 4584
826f3788
GM
4585 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4586 FROM_WHERE, for debugging.
4587
261d788b
KH
45882001-01-16 Kenichi Handa <handa@etl.go.jp>
4589
4590 * ccl.c (Fregister_ccl_program): Handle the return value of
4591 resolve_symbol_ccl_program correctly.
52283633 4592 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4593
bccee4f2
GM
45942001-01-15 Gerd Moellmann <gerd@gnu.org>
4595
e4ded23c
GM
4596 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4597 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4598
4599 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4600 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4601 the display; we didn't open it.
4602
bccee4f2
GM
4603 * dispnew.c (save_or_restore_current_matrices): Function removed.
4604 (save_current_matrix, restore_current_matrix): New functions.
4605 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4606 restore the frame's current matrix. Due to the glyph pointer
4607 setup done in adjust_glyph_matrix, there is no easy way to make
4608 saving the current matrix in the desired matrix generally correct,
4609 so don't try it.
4610
ebeccffa
KH
46112001-01-15 Kenichi Handa <handa@etl.go.jp>
4612
4613 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4614 truncation glyphs.
4615 (display_line): Optimize for wide characters.
e4ded23c 4616 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4617 partially. On ttys, produce more than one truncation glyph for
4618 multi-column characters that don't fit on the line.
4619
64388126
KH
46202001-01-13 Kenichi Handa <handa@etl.go.jp>
4621
52283633
SM
4622 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4623 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4624
8edb0a6f
JR
46252001-01-13 Jason Rumney <jasonr@gnu.org>
4626
4627 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4628 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4629 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4630 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4631
52283633
SM
4632 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4633 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4634 (x_draw_image_glyph_string): Adapt to change of image margins.
4635
4636 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4637 variables.
4638
4639 * w32bdf.c (search_file_line, get_cached_font_char)
4640 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4641
4642 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4643
4644 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4645 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4646 (Fw32_send_sys_command): Remove unused variables.
4647 (w32_msg_pump): Add parentheses.
4648
4649 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4650 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4651 Add parentheses.
4652
4956d1ef
GM
46532001-01-12 Gerd Moellmann <gerd@gnu.org>
4654
b30623be
GM
4655 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4656 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4657 being a pair of margins.
4658 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4659 to DEFVAR_LISP. Extend doc.
4660
4661 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4662 margins.
4663 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4664 pair of integers `(X . Y)', use X for the horizontal and Y for the
4665 vertical margin.
4666 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4667 (parse_image_spec): Check it.
52283633
SM
4668 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4669 (tiff_format, gif_format, gs_format):
4670 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4671
52283633
SM
4672 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4673 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4674 (x_draw_image_glyph_string): Adapt to the change of image margins.
4675
4676 * dispextern.h (struct image): Replace member `margin' with
4677 `hmargin' and `vmargin'.
4678
4554cc79
GM
4679 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4680 and GLYPHS.
4681
4682 * dispnew.c (update_text_area): Put code which decrements the
4683 stop position when the row's face extends to the end of the
3bffc665 4684 line in #if 0.
4554cc79 4685
3cccce8d
GM
4686 * xfns.c (x_set_mouse_color): Fix color allocation.
4687
4956d1ef
GM
4688 * keyboard.c: Call get_local_map with new argument list.
4689
4690 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4691
4692 * intervals.h (enum map_property): Removed.
4693 (get_local_map): Change prototype.
4694
4695 * keymap.c: Call get_local_map with new argument list.
4696 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4697
2c2ff7f2
GM
46982001-01-11 Gerd Moellmann <gerd@gnu.org>
4699
a23887b9
GM
4700 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4701 of the size needed for the tool bar string. For the last image,
4702 use a `display' property that reaches to the end of the string.
4703
a7ee2d2e
GM
4704 * xselect.c (selection_request_dpyinfo): New variable.
4705 (x_handle_selection_request): Set it.
4706 (x_selection_request_lisp_error): Don't call
4707 x_decline_selection_request if selection request's display has
4708 been closed.
4709
52283633
SM
4710 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4711 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4712
457b792c
GM
47132001-01-10 Dave Love <fx@gnu.org>
4714
4715 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4716 ${SOME_MACHINE_LISP}, not ${lisp}.
4717
c1efd260
GM
47182001-01-10 Gerd Moellmann <gerd@gnu.org>
4719
52283633
SM
4720 * xdisp.c (display_line): On ttys, produce more than one truncation
4721 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4722
ac95a621
GM
4723 * xselect.c (x_reply_selection_request): Add a comment.
4724
c1efd260
GM
4725 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4726 XkbGetNames instead of XkbGetKeyboard.
4727
1bfb1345
DL
47282001-01-10 Dave Love <fx@gnu.org>
4729
4730 * sysdep.c (random): Revert the declaration.
4731
38119822
GM
47322001-01-09 Gerd Moellmann <gerd@gnu.org>
4733
52283633
SM
4734 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4735 Call function string_bytes.
35f464a7
GM
4736 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4737
4738 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4739 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4740 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4741 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4742 the current sblock.
4743 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4744 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4745 after sweeping strings, and at the end.
4746 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4747
38119822
GM
4748 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4749 ensure that pop_message is called.
4750
4751 * keyboard.c (Fexecute_extended_command): Use a
4752 record_unwind_protect to ensure that pop_message is called.
4753
4754 * lisp.h (push_message_unwind): Add prototype.
4755
4756 * xdisp.c (push_message_unwind): New function.
4757
4758 * fileio.c (do_auto_save_unwind): Do the pop_message here
4759 instead of in Fdo_auto_save.
4760 (Fdo_auto_save): Don't call pop_message.
4761
f47a9ec4
KR
47622001-01-08 Ken Raeburn <raeburn@gnu.org>
4763
4764 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4765 in inner block.
4766
a758f97d
GM
47672001-01-08 Gerd Moellmann <gerd@gnu.org>
4768
6d0afc03
GM
4769 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4770 when increasing window's vscroll.
4771
a758f97d
GM
4772 * macros.c (Qkbd_macro_termination_hook): New variable.
4773 (syms_of_macros): Initialize and staticpro it.
4774 (pop_kbd_macro): Run kbd-macro-termination-hook.
4775
4776 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4777
1bfb1345 47782001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4779
4780 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4781 arglist, for documentation's sake.
4782
0dac6924
AI
47832001-01-06 Andrew Innes <andrewi@gnu.org>
4784
4785 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4786 of *.pdb.
4787
8182406a
AI
47882001-01-05 Andrew Innes <andrewi@gnu.org>
4789
4790 * term.c (update_end): Don't check updating_frame; for some reason
4791 this can be 0 sometimes, such as after dismissing a popup menu,
4792 and isn't necessary given the explicit frame argument.
4793
3828218c
GM
47942001-01-05 Gerd Moellmann <gerd@gnu.org>
4795
4796 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4797 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4798
2f5ded21
GM
47992001-01-04 Gerd Moellmann <gerd@gnu.org>
4800
52283633 4801 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4802
4803 * xfns.c (x_create_tip_frame): Preserve the value of
4804 face_change_count around the creation of the tip frame.
52283633 4805
2f5ded21
GM
4806 * xfns.c (last_show_tip_args): New variable.
4807 (compute_tip_xy): New function.
4808 (Fx_show_tip): Reuse an existing tip frame, if possible.
4809 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4810
dfad65fa
DL
48112001-01-04 Dave Love <fx@gnu.org>
4812
64d4ec0f
DL
4813 * editfns.c (Fformat): Doc fix.
4814
dfad65fa
DL
4815 * systime.h (set_file_times): Prototype.
4816
4817 * widget.h (EmacsFrameSetCharSize_): Prototype.
4818
4819 * sysdep.c (random, srandom): Declare explicitly.
4820
4821 * dispextern.h (move_it_vertically_backward): Declare.
4822
85fe3b5e
GM
48232001-01-04 Gerd Moellmann <gerd@gnu.org>
4824
0f2ac578
GM
4825 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4826 like in Fx_create_frame.
4827
482cca61
GM
4828 * xfaces.c (set_font_frame_param): Don't do anything for
4829 non-graphical frames.
4830
85fe3b5e
GM
4831 * window.c (Fdelete_other_windows): Set window's window_end_valid
4832 to nil when changing the window's start. Don't change the
4833 window's start when its top position hasn't changed. If we do,
4834 this will set the window's optional_new_start, which act's like a
4835 force_start during redisplay with C-x 1 M-> under particular
4836 circumstances (see report from Per Starback to emacs-pretest-bug
4837 from 2000-12-13.).
4838
3e99d3b4
GM
48392001-01-03 Gerd Moellmann <gerd@gnu.org>
4840
a77dc1ec
GM
4841 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4842 short cut at the start of the function. Add an assertion.
4843 (reseat_at_next_visible_line_start): Add an assertion.
4844
2f3cad6c
GM
4845 * window.c (Frecenter): When changing the window start, set the
4846 window's window_end_valid to nil.
4847 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4848
4849 * dispextern.h (move_it_past_eol): Add prototype.
4850
4851 * xdisp.c (move_it_past_eol): New function.
4852
3e99d3b4
GM
4853 * window.c (Fwindow_end): Doc fix.
4854
48552001-01-03 Dave Love <fx@gnu.org>
4856
52283633 4857 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4858
bafb434c
GM
48592001-01-03 Gerd Moellmann <gerd@gnu.org>
4860
4861 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4862 the enabled_p flag of the glyph row at window_end_vpos to 0.
4863 (handle_single_display_prop): Fix last change.
4864
5297fb00
RS
48652001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4866
4867 * window.c (Frecenter): Doc fix.
4868
13d6a61c
AI
48692001-01-02 Andrew Innes <andrewi@gnu.org>
4870
4871 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4872
4873 * frame.h (output_method): Add output_w32_console method.
4874 (FRAME_W32_CONSOLE_P): New macro.
4875
4876 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4877 use output_w32_console method.
4878 (Qw32_console): New Lisp_Object.
4879 (Fframep): Return it.
4880 (syms_of_frame): Init it.
52283633 4881 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4882
4883 * xfaces.c (realize_default_face): Set face foreground and
4884 background to unspecified for w32_console frames.
4885 (realize_face): Realize face cache for w32_console frames.
4886 (realize_tty_face): Accept w32_console frames.
4887
52283633 4888 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4889 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4890 necessary, even if running interactively.
4891
4892 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4893 w32_console frames.
4894
52283633
SM
4895 * w32term.c (x_update_begin):
4896 (x_update_end):
4897 (x_clear_frame):
4898 (x_ins_del_lines):
4899 (x_change_line_highlight):
4900 (x_delete_glyphs):
4901 (w32_ring_bell):
4902 (x_update_begin):
4903 (x_update_end):
4904 (w32_reassert_line_highlight):
4905 (w32_frame_rehighlight):
13d6a61c
AI
4906 (w32_frame_raise_lower): Do nothing if not w32 frame.
4907
4908 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4909
4910 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4911 system doesn't tell us directly.
4912 (Fx_display_visual_class): Implement properly.
4913
d6bb0c0d
GM
49142001-01-02 Gerd Moellmann <gerd@gnu.org>
4915
4916 * window.c (Frecenter): Handle centering in graphical frames
4917 specially. Centering on the basis of line counts doesn't work
4918 reliably with variable-height lines.
52283633 4919
315f5865
EZ
49202001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4921
4922 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4923 and al[].
4924
52283633 4925 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4926 (update_compositions): Remove unused variable `hook'.
4927
4928 * intervals.c (get_local_map): Remove unused variable `tem'.
4929
4930 * doprnt.c (doprnt1): Remove unused variable `size'.
4931
4932 * fns.c (Flength): Remove unused variable `tail'.
4933 (Fdelete): Remove unused variable `size'.
4934
4935 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4936 and `gcpro2'.
4937
52283633 4938 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4939
4940 * data.c (find_symbol_value): Remove extra 3rd argument in the
4941 call to swap_in_symval_forwarding.
4942
52283633 4943 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4944
4945 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4946 (trivial_regexp_p): Remove unused variable `c'.
4947 (boyer_moore): Remove unused variable `k'.
4948
4949 * indent.c (current_column): Remove unused variable `stopchar'.
4950 (Fcompute_motion): Remove unused variable `contin'.
4951
4952 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4953
4954 * dired.c (directory_files_internal): Fix a typo in a comment.
4955 Remove an unused variable `handler'.
52283633 4956 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4957 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4958 on BSD4_2.
4959
52283633 4960 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4961
4962 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4963 and `buf'.
4964 (Fmarker_insertion_type): Remove unused variable `buf'.
4965
4966 * insdel.c (make_gap): Remove unused variable `result'.
4967
52283633 4968 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4969 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4970 (menu_bar_items): Remove unused function-scope variable `tem'.
4971
4972 * fontset.c (fontset_ref): Remove unused variable `i'.
4973 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4974 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4975 (make_fontset_for_ascii_face): Remove unused variable `name'.
4976 (fs_load_font): Remove unused variable `font_idx'.
52283633 4977 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4978 (list_fontsets): Remove unused variable `tail'.
4979 (Fnew_fontset): Remove unused variables `family' and `registry'.
4980 (accumulate_font_info): Remove unused variable `tmp'.
4981 (Ffontset_font): Remove unused variable `id'.
4982 (syms_of_fontset): Remove unused variable `i'.
4983
4984 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4985 to x_term_init.
4986 (lookup_image): Remove unused variable `file'.
4987 (xbm_load): Remove unused variables `bitmap_data', `height', and
4988 `width'. Remove function-local variable `i', leave the
4989 block-local one.
4990 (gif_load): Remove unused variable `inc'.
4991
52283633 4992 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4993 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4994 leave only the one in the inner block.
4995
4996 * xfaces.c (face_fontset, realize_default_face): Remove unused
4997 variable `fontset'.
4998 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4999
5000 * term.c (encode_terminal_code): Remove unused variable `c'.
5001
5002 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5003 char *' instead of `char *'.
5004
5005 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5006 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5007 (Fchar_category_set): Remove unused variables `val', `charset',
5008 `c1' and `c2'.
5009
52283633
SM
5010 * coding.c (detect_coding_iso2022, setup_coding_system):
5011 Remove unused variable `i'.
315f5865
EZ
5012 (detect_coding_mask): Remove unused variable `idx'.
5013 (detect_coding): Remove unused variable `i'.
5014 (ccl_coding_driver): Remove unused variable `result'.
5015 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5016 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5017 (encode_coding_string): Remove unused variables `gcpro1' and
5018 `saved_coding_symbol'.
5019 (Ffind_coding_systems_region_internal): Remove function-local
5020 variable args[], leave only the block-local one.
5021 (code_convert_region1): Remove unused variable `len'.
5022
5023 * charset.c (char_printable_p): Remove unused variable `chars'.
5024 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5025 (str_to_multibyte): Remove unused variable `c'.
5026
5027 * window.c (size_window): Remove block-local variable `min_size'.
5028
5029 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5030 `header_line_height'.
5031 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5032 enum display_element_type.
5033
1a8a9daf
GM
50342001-01-02 Gerd Moellmann <gerd@gnu.org>
5035
6dde6abc 5036 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5037 statements that call X. Save away the error message in a local copy.
5038
1883b2c6
GM
5039 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5040 the start.
5041
a13be207
GM
5042 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5043 in or at the start of invisible text.
5044
1a8a9daf
GM
5045 * dispnew.c (update_window): Don't check_current_matrix_flags.
5046
3608c0f9
JR
50472001-01-01 Jason Rumney <jasonr@gnu.org>
5048
5049 * w32fns.c (x_figure_window_size): Do not allow new_height and
5050 new_width of frame to override specified values.
5051
abb1acc4
KH
50522000-12-30 Kenichi Handa <handa@etl.go.jp>
5053
52283633 5054 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5055
762a68ec
GM
50562000-12-29 Gerd Moellmann <gerd@gnu.org>
5057
52283633 5058 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5059 (update_window) [GLYPH_DEBUG]: Call it.
5060 (scrolling_window): Prevent including current rows which are below
5061 what's displayed in the window.
5062
5063 * xdisp.c (try_window_reusing_current_matrix)
5064 <new start <= old start>: Disable rows in the current matrix
5065 which are below the window after scrolling.
52283633 5066
762a68ec
GM
5067 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5068 is zero. It's not worth the complexity.
5069 (invisible_text_between_p): Put in #if 0 because unused.
5070
2d5912c1
GM
50712000-12-28 Gerd Moellmann <gerd@gnu.org>
5072
46f6a258
GM
5073 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5074 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5075
89f93679
GM
5076 * keyboard.c (echo_char): If C is an integer, always call
5077 push_key_description. Former code could signal an invalid
5078 character error.
5079
5080 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5081 If set, print multibyte text.
5082 (Fsingle_key_description): Call push_key_description with
5083 FORCE_MULTIBYTE set.
5084 (describe_buffer_bindings): Likewise.
5085
5086 * lisp.h (push_key_description): Add prototype.
5087
c06017fb
GM
5088 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5089 around the call to redisplay_internal.
5090
f1d2ce7f
GM
5091 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5092
2d5912c1
GM
5093 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5094
9371f831
KH
50952000-12-28 Kenichi Handa <handa@etl.go.jp>
5096
5097 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5098 (ccl_driver): New local variable `extra_bytes'.
5099
5100 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5101
52283633
SM
5102 * coding.c (setup_coding_system):
5103 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5104 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5105
0c80628a
KH
51062000-12-28 Kenichi Handa <handa@etl.go.jp>
5107
5108 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5109 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5110 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5111 (decode_composition_emacs_mule): New function.
5112 (decode_coding_emacs_mule): Decode composition sequence by calling
5113 decode_composition_emacs_mule.
5114 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5115 (encode_coding_emacs_mule): Changed from macro to function.
5116 If a text contains compositions, encode them correctly.
0c80628a
KH
5117 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5118 that decoding and encoding are required.
5119
3e32cc27
GM
51202000-12-27 Gerd Moellmann <gerd@gnu.org>
5121
5e25feee
GM
5122 * xfaces.c (PT_PER_INCH): New macro.
5123 (xlfd_point_size): Compute real point size from font's pixel size.
5124 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5125 instead of 72.
5126
892d8fcd
GM
5127 * .gdbinit: Comment out the line pointing to the Lesstif source
5128 directory.
5129
12c8b416
GM
5130 * window.c (Frecenter): Use displayed_window_lines instead
5131 of window_internal_height.
5132
6061fbf0
GM
5133 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5134 instead of x-toolkit-scroll-bars-p.
5135 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5136
5137 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5138 instead of x-toolkit-scroll-bars-p.
5139 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5140
3e32cc27
GM
5141 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5142 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5143 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5144 New variables.
5145 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5146 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5147 (build_frame_matrix_from_leaf_window): Remove unused code.
5148 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5149 redisplay history.
5150 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5151 (update_window) [GLYPH_DEBUG]: Likewise.
5152 (syms_of_display): Defsubr dump-redisplay-history.
5153
31798cfe
GM
51542000-12-23 Gerd Moellmann <gerd@gnu.org>
5155
f717c2ba
GM
5156 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5157 the end of the prompt. Set echo_after_prompt to the offset
5158 of echoptr in echobuf.
5159
aeb2b8fc
GM
5160 * xdisp.c (init_from_display_pos): Pop until the iterator's
5161 stack is empty; there may be frames for stretch or images
5162 on the stack.
5163
31798cfe
GM
5164 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5165 (save_or_restore_current_matrix): New function for the same
5166 purpose, but more efficient.
5167 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5168
f8156156
EZ
51692000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5170
5171 * xdisp.c (syms_of_xdisp): Fix last change.
5172
bdd6d4e8
GM
51732000-12-23 Gerd Moellmann <gerd@gnu.org>
5174
5175 * xdisp.c (syms_of_xdisp): Doc fix.
5176
5177 * xdisp.c (redisplay_window): Remove label restore_buffers;
5178 use finish_scroll_bars instead to make sure that scroll bars
5179 are redeemed. If we don't do this, flickering can result from
5180 scroll bars being destroyed and recreated.
5181
9436cdf9
JR
51822000-12-22 Jason Rumney <jasonr@gnu.org>
5183
5184 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5185 in the wrong colors when the foreground is not black.
5186 (expose_window): Don't redraw the window that's currently being
5187 updated.
5188
951f9df5
GM
51892000-12-22 Gerd Moellmann <gerd@gnu.org>
5190
856ff7a7
GM
5191 * window.c (size_window): When setting the window's too_small_ok
5192 flag, compare old size with minimum size depending on WIDTH_P,
5193 don't compare with window_min_width.
52283633 5194
951f9df5
GM
5195 * window.c (delete_window): Simplify somewhat.
5196 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5197 freeing window matrices. The flag windows_or_buffers_changed is
5198 set, so the next redisplay will consider all windows; this should
5199 suffice.
5200
886bc933
KH
52012000-12-22 Kenichi Handa <handa@etl.go.jp>
5202
5203 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5204
5205 * ccl.h (struct ccl_program): New member cr_consumed.
5206
5207 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5208 (CCL_READ_CHAR): Handle EOL conversion here.
5209 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5210
177f4e88
GM
52112000-12-21 Gerd Moellmann <gerd@gnu.org>
5212
52283633 5213 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5214
5215 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5216 otherwise tabs of different size compare equal.
5217
5218 * callint.c (Fcall_interactively): Prevent a compiler warning.
5219
5220 * print.c (print_unwind): Return nil.
5221 (PRINTDECLARE): Initialize all local variables.
5222 (print_preprocess): Add a default case.
5223
8e15274f
GM
5224 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5225
5226 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5227
52283633 5228 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5229 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5230
5231 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5232
5233 * dispnew.c (ensure_frame_matrix): Removed.
5234 (save_frame_matrix, restore_frame_matrix): New functions.
5235 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5236
5237 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5238 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5239
99012074
AI
52402000-12-21 Andrew Innes <andrewi@gnu.org>
5241
5242 * w32term.c (x_update_begin): Regenerate the palette here, rather
5243 than for each window.
5244
5245 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5246 palette is NULL, since this corrupts memory! Also get
5247 display_info reference from frame.
5248
29ef7d2d
JR
52492000-12-21 Jason Rumney <jasonr@gnu.org>
5250
5251 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5252
5253 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5254 to avoid returning without releasing it.
3e27fa1f 5255
3f9d67a6
KH
52562000-12-21 Kenichi Handa <handa@etl.go.jp>
5257
587fc3f9
KH
5258 * keymap.c (push_key_description): Don't convert eight-bit-control
5259 and eight-bit-graphic to multibyte character.
5260
3f9d67a6
KH
5261 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5262 generic character and CODE1 is nil, return the smallest character
5263 in CHARSET.
5264
774ba8c9
DL
52652000-12-20 Dave Love <fx@gnu.org>
5266
5267 * s/osf5-0.h (NSIG): Don't redefine.
5268
88416888
SM
52692000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5270
5271 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5272 excluding menu-bar and tool-bar.
5273 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5274 (menu_item_p): Remove.
5275 (where_is_internal_1): Don't ignore menu-items.
5276
a6426c6f
GM
52772000-12-20 Gerd Moellmann <gerd@gnu.org>
5278
03ff8aab
GM
5279 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5280 into account.
5281
5282 * window.c (make_window): Initialize window's min_hscroll.
5283 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5284 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5285 to zero.
5286 (struct saved_window): New member min_hscroll.
5287 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5288 (Fset_window_configuration): Set window's min_hscroll.
5289 (save_window_save): Save window's min_hscroll.
5290 (compare_window_configurations): Compare min_hscroll values.
5291
5292 * window.h (struct window): New member min_hscroll.
5293
5294 * keyboard.c (echo_prompt): Prevent a compiler warning.
5295
8de4aaf8
GM
5296 * xdisp.c (try_cursor_movement): Fix last change. The real
5297 condition is that PT is at the end of the row, and should
5298 be displayed at the start of the next row.
52283633 5299
3f7e3031
GM
5300 * xdisp.c (try_cursor_movement): If we end on a partially
5301 visible line, end we already decided to scroll, return -1.
5302
a6426c6f
GM
5303 * dispextern.h (ensure_frame_matrix): Add prototype.
5304
5305 * window.c (delete_window, Fsplit_window)
5306 (Fset_window_configuration): Call ensure_frame_matrix.
5307
52283633
SM
5308 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5309 New functions.
a6426c6f
GM
5310 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5311 completed, call fake_current_matrices instead of marking frame
5312 garbaged.
5313
57fa2774
JR
53142000-12-20 Jason Rumney <jasonr@gnu.org>
5315
5316 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5317
d925df90
EZ
53182000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5319
5320 * fns.c (Frequire): Doc fix.
5321
7b93a85b
GM
53222000-12-19 Gerd Moellmann <gerd@gnu.org>
5323
52283633 5324 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5325
c74e645b
GM
5326 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5327 currently displaying a message.
5328
7b93a85b
GM
5329 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5330 xterm.h.
5331 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5332
90d97e64
AI
53332000-12-18 Andrew Innes <andrewi@gnu.org>
5334
5335 * w32.c (w32_strerror): New function.
5336
5337 * w32.h (w32_strerror): New extern.
5338
5339 * w32fns.c (Fw32_shell_execute): Use it.
5340
91c9e6ce
GM
53412000-12-18 Gerd Moellmann <gerd@gnu.org>
5342
5343 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5344
6f4745e2
EZ
53452000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5346
5347 * msdos.c (IT_set_face): Obey inverse_video.
5348
c9e088ce
KH
53492000-12-18 Kenichi Handa <handa@etl.go.jp>
5350
5351 * dired.c (directory_files_internal): Always return decoded filenames.
5352
c3695f5f
GM
53532000-12-18 Gerd Moellmann <gerd@gnu.org>
5354
52d8e4ff
GM
5355 * xterm.c (x_connection_closed): Prevent being called recursively
5356 because of an error condition in XtCloseDisplay.
52283633 5357
62be9979
GM
5358 * xdisp.c (init_iterator): If noninteractive, and the frame's
5359 face cache is null, make one.
5360
52283633 5361 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5362
c3695f5f
GM
5363 * process.c (wait_reading_process_input): Check for pending
5364 input when running timers.
5365
78555fbe
EZ
53662000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5367
52283633 5368 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5369
b2b36264
KH
53702000-12-18 Kenichi Handa <handa@etl.go.jp>
5371
5372 * process.c (read_process_output): Don't run a filter if the code
5373 decoder produces nothing but carryover.
5374
9c543fbf
AI
53752000-12-17 Andrew Innes <andrewi@gnu.org>
5376
5377 * w32.c (sys_rename): Only check errno against EEXIST, and not
5378 EACCES, when determining whether rename failed because the target
5379 exists. This was resulting in indefinite looping on Windows 9x if
5380 the source file was locked by another process.
5381
5382 * w32fns.c (Ffile_system_info): New function.
5383 (syms_of_w32fns): Defsubr it.
5384
10c2b5a8
GM
53852000-12-17 Gerd Moellmann <gerd@gnu.org>
5386
b0228ace
GM
5387 * window.c (coordinates_in_window): Fix computation for
5388 position on vertical line between mode lines.
5389
10c2b5a8
GM
5390 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5391 Don't alter tip_frame or tip_window.
5392 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5393 was deleted.
5394
c844a81a
GM
5395 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5396 Don't alter tip_frame or tip_window.
5397 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5398 was deleted.
5399
6c825f8e
EZ
54002000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5401
5402 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5403 be consistent with the doc string. Reported by NAKAJIMA Mikio
5404 <minakaji@osaka.email.ne.jp>.
5405
af4bb4c8
KH
54062000-12-16 Kenichi Handa <handa@etl.go.jp>
5407
5408 * xfaces.c (Vface_ignored_fonts): New variable.
5409 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5410 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5411
8062e53a
GM
54122000-12-15 Gerd Moellmann <gerd@gnu.org>
5413
e87b8809
GM
5414 * dispnew.c (update_window): Detect pending input every nth line
5415 updated, i.e. do it depending on real work done, and not on the
5416 vpos of the line.
5417
5418 * xterm.c (expose_window): Don't redraw the window that's
5419 currently being updated.
5420
a6768cc5
GM
5421 * window.c (Fset_window_point): Remove test for
5422 cursor_in_non_selected_windows.
5423
4ea7fdca
GM
5424 * lread.c (read1): Recognize end of file after `\\'.
5425
8062e53a
GM
5426 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5427 not unwind_create_frame.
5428
bb7959c1
GM
54292000-12-15 Dave Love <fx@gnu.org>
5430
5431 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5432 bcopy & al.
5433
5434 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5435
ced04c42
KH
54362000-12-15 Kenichi Handa <handa@etl.go.jp>
5437
c5443913
KH
5438 * coding.c (setup_coding_system): Clear all members of the struct
5439 coding_system at first.
bc137305
KH
5440 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5441 argument.
5442 (code_convert_region): Don't override coding->src_multibyte and
5443 coding->dst_multibyte.
c5443913 5444
ced04c42
KH
5445 * fns.c (Fmd5): Docstring improved.
5446
c2d7f289
MB
54472000-12-15 Miles Bader <miles@gnu.org>
5448
5449 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5450 are actually marked as mode-lines; otherwise use
5451 estimate_mode_line_height.
5452
9d7d9263
GM
54532000-12-14 Gerd Moellmann <gerd@gnu.org>
5454
5455 * editfns.c (Fformat): Prevent a buffer overrun when the format
5456 specifies a precision.
5457
7cf0153a
EZ
54582000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5459
5460 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5461 argument is outside the range [2..3].
5462
1de0f662
AI
54632000-12-14 Andrew Innes <andrewi@gnu.org>
5464
5465 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5466 nothing to do. Bind inhibit-quit.
5467 (tip_frame): Make it a Lisp_Object.
5468 (x_create_tip_frame): Set tip_frame after it has been added to
5469 Vframe_list.
5470 (Fx_show_tip): Don't set tip_frame here.
52283633 5471 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5472 (unwind_create_frame, unwind_create_tip_frame): New functions.
5473 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5474 while a frame is only partially constructed.
5475
5476 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5477 (x_free_frame_resources): New function.
5478 (x_destroy_window): Use it.
5479
02387dcc
GM
54802000-12-14 Gerd Moellmann <gerd@gnu.org>
5481
5482 * xfns.c (Fx_backspace_delete_keys_p): New function.
5483 (syms_of_xfns): Defsubr it.
5484
5485 * config.in (HAVE_XKBGETKEYBOARD): Add.
5486
0544ef49
KH
54872000-12-14 Kenichi Handa <handa@etl.go.jp>
5488
98d62747
KH
5489 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5490 Always store string in multibyte representation in echobuf.
5491 (echo_char): Always store string in multibyte representation in
5492 echobuf.
5493 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5494 (read_key_sequence): Adjusted for the change of echo_prompt.
5495
a20193cd
KH
5496 * fns.c (Fmd5): Docstring improved.
5497
191b83b6
KH
5498 * lisp.h (detect_coding_system): Prototype adjusted.
5499
0544ef49
KH
5500 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5501 (detect_coding_emacs_mule, detect_coding_iso2022,)
5502 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5503 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5504 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5505 (detect_coding_mask, detect_coding_system): New argument
5506 MULTIBYTEP. Callers changed.
1da1bb05
KH
5507 (decode_coding_string): Set coding->src_multibyte and
5508 coding->dst_multibyte before calling detect_coding and detect_eol.
5509 Update them after some coding system is detected.
52283633 5510
d5b3eb1b
SM
55112000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5512
5513 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5514
5515 * keyboard.c (menu_bar_items, tool_bar_items):
5516 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5517
f7f8bb69
GM
55182000-12-13 Gerd Moellmann <gerd@gnu.org>
5519
52283633 5520 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5521 New variables.
5522 (unwind_create_frame, unwind_create_tip_frame): New functions.
5523 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5524 while a frame is only partially constructed.
5525
5526 * xterm.h (x_free_frame_resources): Declare.
5527
5528 * xterm.c (x_free_frame_resources): New function.
5529 (x_destroy_window): Use it.
5530
e10da507
GM
5531 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5532 don't interrupt the update for pending input initially, i.e.
5533 update at least some lines.
5534
5535 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5536
d5b3eb1b 5537 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5538
5539 * xfns.c (gray_bitmap_bits): Declare `char *'.
5540
90aa2856
GM
55412000-12-12 Gerd Moellmann <gerd@gnu.org>
5542
5543 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5544 lines start with a relief line.
5545
a308c9cd
DL
55462000-12-12 Dave Love <fx@gnu.org>
5547
5548 * window.c (Fdisplay_buffer): Doc fix.
5549 (Fwindow_list): Remove unused var.
5550
5551 * buffer.h (mmap_set_vars): Declare.
5552
5553 * window.h (Fset_window_point): Declare.
5554
d575011f
EZ
55552000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5556
bf6282d2 5557 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5558 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5559 variable `area'. When looking for a row under (X,Y), give up if some
5560 of the previous rows is not enabled.
d575011f 5561
ecf4d726
GM
55622000-12-12 Gerd Moellmann <gerd@gnu.org>
5563
2ebf6139
GM
5564 * window.c (Fset_window_point): If displaying cursors in windows
5565 other than the selected window, make sure redisplay updates
5566 other windows to show the new value of point in the window.
5567
5568 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5569
bfdb75ee
GM
5570 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5571 the buffer is the sole visible buffer when in the mini-buffer.
5572
52283633 5573 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5574 Bind `inhibit-read-only' to t.
5575 (unwind_with_echo_area_buffer): Use AREF.
5576
c0006262
GM
5577 * xfns.c (Fx_hide_tip): Simplified.
5578
52283633
SM
5579 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5580 instead of `1'.
e9a59cad 5581
ecf4d726
GM
5582 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5583
e5959a9a
GM
55842000-12-11 Gerd Moellmann <gerd@gnu.org>
5585
a3642e49 5586 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5587
44b5a125
GM
5588 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5589 nothing to do. Bind inhibit-quit.
5590 (tip_frame): Make it a Lisp_Object.
5591 (x_create_tip_frame): Set tip_frame after it has been added to
5592 Vframe_list.
5593 (Fx_show_tip): Don't set tip_frame here.
5594
5595 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5596
5597 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5598 Lisp_Object.
5599
5600 * dispextern.h: Change external declaration of tip_frame.
5601
d990421f
GM
5602 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5603 return an empty string.
5604
4db87380
GM
5605 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5606 of the window's update_mode_line flag, since the former is set by
5607 force-mode-line-update, not the latter. This makes
5608 column-number-mode slightly faster.
52283633 5609
e5959a9a
GM
5610 * xdisp.c (try_window_id) <all changes above window start>:
5611 Set the cursor.
5612
169fe44e
GM
56132000-12-11 Paul Eggert <eggert@twinsun.com>
5614
5615 * config.in (HAVE_FTELLO): Remove.
5616 (HAVE_FSEEKO): Add.
5617 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5618 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5619 HAVE_FTELLO.
5620 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5621 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5622
59ec59ae
MB
56232000-12-11 Miles Bader <miles@gnu.org>
5624
5625 * window.c (displayed_window_lines): Don't round up when
5626 converting empty space at bottom to lines.
ff904dd6
MB
5627 Handle non-newline-terminated final lines properly.
5628 (Fwindow_text_height): New function (used to be in lisp).
5629 (syms_of_window): Initialize it.
59ec59ae 5630
42ebfa31
SM
56312000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5632
5633 * syntax.c (scan_lists): Check that the right quote char has the
5634 right Sstring syntax when jumping over strings.
5635 (init_syntax_once): Use Smax rather than 13.
5636
5cdb3cf3
MB
56372000-12-09 Miles Bader <miles@gnu.org>
5638
5639 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5640 with PARTIALLY, inverting the sense.
5641 (window_scroll_pixel_based): Scroll partially visible lines into
5642 place if we hit the beginning or end of the buffer.
a12167c5
MB
5643 (displayed_window_lines): Don't include partially visible lines.
5644 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5645
842b2a94
GM
56462000-12-08 Gerd Moellmann <gerd@gnu.org>
5647
5648 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5649
5650 * tparam.c (tparam1): Change the way buffers are reallocated to be
5651 portable and less obfuscated.
5652
5653 * termcap.c (tgetent): Change the way buffers are reallocated to
5654 be portable and less obfuscated.
5655
5656 * macros.c (store_kbd_macro_char): Change the way buffers are
5657 reallocated to be portable and less obfuscated.
5658
5659 * lread.c (read1): Change the way buffers are reallocated to be
5660 portable and less obfuscated.
5661
5662 * doc.c (Fsubstitute_command_keys): Change the way buffers
5663 are reallocated so that it is portable.
5664
137cad7c
EZ
56652000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5666
5667 * dosfns.c (Ffile_system_info): New function.
5668 (syms_of_dosfns): Defsubr it.
5669
5c7f629c
SM
56702000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5671
5672 * alloc.c (gc_sweep): Add comment.
5673
959e647d
GM
56742000-12-07 Gerd Moellmann <gerd@gnu.org>
5675
52283633
SM
5676 * sound.c (vox_configure): Change order of ioctls.
5677 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5678 Ignore errors when changing volume.
5679 (vox_close): Don't reset the device.
5680
926b7e5e
GM
5681 * process.c (read_process_output): Make sure the process marker's
5682 position is valid when the process buffer is changed in
5683 after-change functions. W3 does that.
52283633 5684
959e647d
GM
5685 * xfns.c (x_free_gcs): New function.
5686
5687 * xterm.h (x_free_gcs): Add prototype.
5688
5689 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5690 freeing GCs here.
5691
5692 * xterm.c (x_destroy_window): Call x_free_gcs so that
5693 resources of non-toolkit X windows will be freed.
5694
478ea067
AI
56952000-12-07 Andrew Innes <andrewi@gnu.org>
5696
5697 * w32fns.c (xlfd_charset_of_font): Fix last change.
5698
fbee3231
DL
56992000-12-06 Dave Love <fx@gnu.org>
5700
67292061
DL
5701 * md5.h (__P): Don't define -- it comes from config.h.
5702
fbee3231
DL
5703 * strftime.c: Change some #if foo to #ifdef foo.
5704
4ee87dbb
AI
57052000-12-06 Andrew Innes <andrewi@gnu.org>
5706
5707 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5708
52283633 5709 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5710 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5711 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5712
9765b4a4
GM
57132000-12-06 Gerd Moellmann <gerd@gnu.org>
5714
d285b373
GM
5715 * alloc.c (gc_sweep): Prevent symbols read during loadup
5716 from being freed.
5717
384333ee
GM
5718 * xdisp.c (underlying_face_id): New function.
5719 (handle_face_prop, face_before_or_after_it_pos): Use it
5720 to determine the face ``under'' a string. Let strings inherit
5721 the face of the buffer under them.
5722
5723 * xfaces.c (face_at_string_position): Update function comment.
52283633 5724
d4b72d58
GM
5725 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5726 matrix if the window's left position has changed; we need to
5727 redraw it in this case.
5728
5729 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5730
e1d05387
GM
5731 * window.c (coordinates_in_window): Check mouse on mode-line or
5732 header-line first.
5733
eb1b0c74
GM
5734 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5735 advertized by the function documentation.
5736
d94d636f
GM
5737 * window.c (syms_of_window): Doc fix.
5738
3887b449
GM
5739 * sound.c (vox_configure): Set volume for left and right channel.
5740 (sound_cleanup): Return nil.
5741
efc8f57a
GM
5742 * xdisp.c (move_it_by_lines): Fix paren typo.
5743
9765b4a4
GM
5744 * xterm.c (x_load_font): Don't use the font's max_bounds for
5745 computing the height of the font. If max_bounds' ascent or
5746 descent are greater than the font's ascent or descent, this means
5747 glyphs overlap, which should be handled now by redisplay.
5748
6529ed87
GM
5749 * window.c (Veven_window_heights): New variable.
5750 (syms_of_window): DEFVAR_LISP it.
5751 (Fdisplay_buffer): Check Veven_window_heights before evening the
5752 window heights.
52283633 5753
0eb2ecde
MB
57542000-12-06 Miles Bader <miles@gnu.org>
5755
5756 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5757 update `default-frame-alist' instead of setting no frame parameters.
5758
03d7a167
KH
57592000-12-06 Kenichi Handa <handa@etl.go.jp>
5760
5761 * composite.c (update_compositions): Fix typo (use the correct
5762 variable).
5763
5f8803c2
JR
57642000-12-05 Jason Rumney <jasonr@gnu.org>
5765
5766 * md5.h: Remove underscores from function declarations.
5767 (__attribute__, __alignof__) [!__GNUC__]: Define.
5768
5769 * md5.c: Delay include of md5.h until after namespace cleaning.
5770
c28a075b
JR
5771 * makefile.w32-in (fns.o): Depend on md5.h
5772 (md5.o): New target.
5773 (sunfns.o): Remove.
5774
5775 * makefile.nt: Likewise.
5776
ff3c7056
JR
57772000-12-05 Jason Rumney <jasonr@altavista.net>
5778
5779 * w32term.c (expose_area): Complete last change.
5780
0c21eeeb
KR
57812000-12-05 Ken Raeburn <raeburn@gnu.org>
5782
5783 * minibuf.c: Include intervals.h.
5784
f201d732
JR
57852000-12-05 Jason Rumney <jasonr@gnu.org>
5786
5787 * w32term.c (x_produce_glyphs): If a font for a component of
5788 a composition is not found, use 1 pixel dot ascent and 0 dot
5789 descent value to avoid displaying terribly tall empty boxes.
5790 (expose_area): Pass x-coordinate relative to the exposed
5791 area to x_draw_glyphs instead of a window-relative coordinate.
5792
21999ab9
GM
57932000-12-05 Gerd Moellmann <gerd@gnu.org>
5794
4d2036e4
GM
5795 * xdisp.c (next_element_from_ellipsis): Save face before selective
5796 display in saved_face_id, and set face_before_selective_p.
5797 (reseat_1): Reset face_before_selective_p.
5798 (append_space, extend_face_to_end_of_line): If iterator's
5799 face_before_selective_p is set, use the face from saved_face_id.
5800 (extend_face_to_end_of_line): For tty frames, make sure to
5801 use the right face id when producing spaces at the end of
5802 the line.
5803
5804 * dispextern.h (struct it): Add face_before_selective_p.
5805
52be17cc
GM
5806 * keyboard.c (record_char): Don't record identical help-echo
5807 events in recent_keys.
5808
8a4f36cc
GM
5809 * xterm.c [USE_X_TOOLKIT]: Close the display.
5810 (xim_close_dpy): Handle case that the display has been closed.
5811
57d6e381
GM
5812 * xterm.c (x_destroy_window): Reset the frame's X window after
5813 destroying it.
5814
21999ab9
GM
5815 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5816 variable window_width.
5817 (line_draw_cost): Fix code skipping over spaces at the end of the
5818 line when must_write_spaces is not set.
5819 (scrolling_window): Fix code inserting runs in list of all runs.
5820
91372bb7
KH
58212000-12-05 Kenichi Handa <handa@etl.go.jp>
5822
5823 * coding.c (setup_coding_system): Be sure to initialize
5824 coding->category_idx.
5825
6c083b4c
GM
58262000-12-04 Gerd Moellmann <gerd@gnu.org>
5827
0c68ce6f 5828 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5829
6452929e
GM
5830 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5831 area to x_draw_glyphs instead of a window-relative coordinate.
5832
d7f31e22
GM
5833 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5834 error in the message.
5835
ae18aa3b
GM
5836 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5837 timer after having read a key. It's not good for code reading
5838 several keys in a loop, like an input method.
5839
caa15ef7
GM
5840 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5841 record undo information for format-decode.
5842
5843 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5844 current buffer is read-only, not if it isn't.
5845
6c083b4c
GM
5846 * keyboard.c (record_char): Record `help-echo' input events
5847 in recent_keys only if they display some help. Don't record
5848 `help-echo' events as macro char.
5849
caa15ef7
GM
58502000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5851
5852 * editfns.c (save_excursion_restore): Don't move point
5853 in another window if it is showing the wrong buffer.
5854 Avoid the call to Fwindow_live_p, for speed.
5855
5a13529b
KH
58562000-12-04 Kenichi Handa <handa@etl.go.jp>
5857
e225faa7
KH
5858 * xfaces.c (struct font_name): New member registry_priority.
5859 (split_font_name): Initialize the above member to zero.
5860 (concat_font_list): New function.
5861 (font_list): Include fonts of all alternative registries.
5862 (FONT_POINT_SIZE_QUANTUM): New macro.
5863 (better_font_p): Ignore point size difference less than
5864 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5865
e89648b4
KH
5866 * xterm.c (x_produce_glyphs): If a font for a component of
5867 a composition is not found, use 1 pixel dot ascent and 0 dot
5868 descent value to avoid displaying terribly tall empty boxes.
5869
5a13529b
KH
5870 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5871
d7935eb6
KR
58722000-12-03 Ken Raeburn <raeburn@gnu.org>
5873
5874 * coding.h (code_convert_string1): Declare.
5875
5876 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5877
52283633 5878 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5879
0dd5e255
JR
58802000-12-02 Jason Rumney <jasonr@gnu.org>
5881
5882 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5883 correctly for single byte character case.
5884 (w32_per_char_metric): Do not try to make any assumptions about
5885 the metrics of BDF fonts.
250cfece 5886 (x_estimate_mode_line_height): If `mode-line' face
52283633 5887 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5888 (note_mouse_highlight): Change the cursor shape on the vertical
5889 border between windows [not enabled].
5890
5891 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5892
5893 * w32fns.c (Fx_create_frame): Reintroduce the call to
5894 face-set-after-frame-defaults.
5895 (Vx_window_horizontal_drag_shape): New variable.
5896 (syms_of_xfns): DEFVAR_LISP it.
5897 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5898 enabled].
0dd5e255 5899
b5d8d2ca
GM
59002000-12-02 Simon Josefsson <simon@josefsson.org>
5901
5902 * fns.c (Fmd5): Use a different logic to decide the coding system
5903 to use.
5904
5905 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5906
fbb87147
EZ
59072000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5908
52283633 5909 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5910
447e9da0
GM
59112000-12-01 Gerd Moellmann <gerd@gnu.org>
5912
7708ced0
GM
5913 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5914 height for YNegative.
5915 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5916 height; also see comment there.
5917
447e9da0
GM
5918 * window.c (coordinates_in_window): Handle computations for
5919 positions on the vertical bar and fringes differently for
5920 window-system frames. Consider some pixels near the vertical bar
5921 as on the bar if the frame doesn't have vertical scroll bars.
5922 Associate positions between mode or header lines with the
5923 right window, the left one.
5924
86d1db20
JR
59252000-12-01 Jason Rumney <jasonr@gnu.org>
5926
5927 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5928
5929 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5930 invalid frame.
5931
a1d58e5b
GM
59322000-12-01 Gerd Moellmann <gerd@gnu.org>
5933
52283633 5934 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5935 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5936 (save_window_save, Fset_window_configuration): Save/restore
5937 window's orig_top and orig_height.
5938
89c609af
JR
59392000-12-01 Jason Rumney <jasonr@gnu.org>
5940
4d177746 5941 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5942
89c609af
JR
5943 * w32fns.c (x_set_cursor_color): Fix last change.
5944
eccc05db
GM
59452000-11-30 Gerd Moellmann <gerd@gnu.org>
5946
31b6671b
GM
5947 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5948 sure that the next redisplay displays the minibuffer, so that
5949 the cursor will be replaced with what the minibuffer wants.
5950
eccc05db
GM
5951 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5952 #ifndef instead of using #if.
5953 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5954 USE_TOOLKIT_SCROLL_BARS is defined.
5955
162de750
JR
59562000-11-30 Jason Rumney <jasonr@gnu.org>
5957
5958 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5959 x_display_cursor.
5960
693c4692
GM
59612000-11-30 Gerd Moellmann <gerd@gnu.org>
5962
5963 * fns.c (Fmd5): Doc fix.
5964
b5d8d2ca 59652000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5966
5967 * fns.c (Fmd5): New function.
5968 (syms_of_fns): Defsubr md5.
5969
5970 * Makefile.in (obj): Add md5.o
5971
b02cd40b
GM
59722000-11-30 Gerd Moellmann <gerd@gnu.org>
5973
edfb795e
GM
5974 * md5.h, md5.c: New files, taken from glibc.
5975
df3aedcf
GM
5976 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5977
b02cd40b 5978 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5979 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5980
8b5176cd
SM
59812000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5982
5983 * eval.c (Frun_hooks): Allow 0 arguments.
5984
346598f1
GM
59852000-11-29 Gerd Moellmann <gerd@gnu.org>
5986
f9396e03
GM
5987 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5988 is over the menu bar widget, say it's not on the frame.
5989
4a967a9b
GM
5990 * xfns.c (Fx_create_frame): Reintroduce the call to
5991 face-set-after-frame-defaults.
5992
346598f1
GM
5993 * eval.c (Fsignal): Reset handling_signal.
5994
222456a1
JR
59952000-11-28 Jason Rumney <jasonr@gnu.org>
5996
5997 * w32menu.c (add_menu_item): Reset menu item text when changing
5998 type to radio button.
5999
8049ddc0
GM
60002000-11-28 Gerd Moellmann <gerd@gnu.org>
6001
346598f1 6002 * xselect.c: Update copyright.
f4f4ee4d 6003
bebe4a2c
GM
6004 * window.c (coordinates_in_window): If on a mode or header line,
6005 but sufficiently close to its start, return ``on vertical
6006 border''. This gives us a way to drag windows horizontally when
6007 using toolkit scroll bars.
6008
6009 * xterm.c (note_mouse_highlight): Change the cursor shape
6010 on the vertical border between windows.
6011
6012 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6013
6014 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6015 (syms_of_xfns): DEFVAR_LISP it.
6016 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6017
8d2c2642
GM
6018 * textprop.c (text_read_only): New function.
6019 (verify_interval_modification): Use it instead of signaling
6020 `text-read-only'. This makes it easier to catch this error
52283633 6021 with a breakpoint.:
8d2c2642 6022
52283633 6023 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6024 not end of line, which includes CR.
6025
5a2bae6c
KH
60262000-11-28 Kenichi Handa <handa@etl.go.jp>
6027
6028 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6029 include no-conversion.
6030
ae31f84d
JR
60312000-11-27 Jason Rumney <jasonr@gnu.org>
6032
6033 * w32fns.c (w32_load_system_font): Always mark font as double byte
6034 if codepage is unicode.
6035
67f1cf4c
GM
60362000-11-27 Gerd Moellmann <gerd@gnu.org>
6037
4a74d071 6038 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6039 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6040
902ae620
GM
6041 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6042 `vertical-line', `mode-line' and `header-line' events.
6043
6044 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6045 of a character, a TAB for instance. This is easier than to set
6046 up the iterator exactly, and it's not a frequent case, so the
6047 additional effort wouldn't really pay off.
6048
c1e279c2
AC
60492000-11-26 Andrew Choi <akochoi@i-cable.com>
6050
67f1cf4c 6051 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6052 init_window_once.
6053
a609568a
JR
60542000-11-25 Jason Rumney <jasonr@gnu.org>
6055
52283633
SM
6056 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6057 Args to window_from_coordinates should be pixel coordinates.
48b21762 6058
a609568a
JR
6059 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6060 redisplay handles them properly.
6061
a658d039
MB
60622000-11-25 Miles Bader <miles@gnu.org>
6063
6064 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6065
d3416cca
JR
60662000-11-24 Jason Rumney <jasonr@gnu.org>
6067
6068 * w32.c (init_environment): Set LANG environment variable based on
6069 locale settings, if not set.
6070
6071 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6072 making tool bar smaller. When clearing the frame, also
6073 clear current matrices. Clear frame when tool bar disappears.
6074 Don't use more lines for the tool-bar than is available.
6075 (x_change_window_heights): New function.
6076
ba193890
GM
60772000-11-24 Gerd Moellmann <gerd@gnu.org>
6078
2be8f184
GM
6079 * xdisp.c (init_from_display_pos): If POS says we're already after
6080 an overlay string ending at POS, make sure to pop the iterator
6081 because it will be in front of that overlay string. When POS is
6082 ZV, we've thereby also ``processed'' overlay strings at ZV.
6083
ba193890
GM
6084 * xfaces.c (lface_from_face_name): Function comment fix.
6085
1862a24e
MB
60862000-11-24 Miles Bader <miles@gnu.org>
6087
6088 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6089 apply `mode-line-inverse-video' -- zero means force display using
6090 the default face, non-zero means display using the specialized face.
6091 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6092
f07fa1b8
KH
60932000-11-23 Kenichi Handa <handa@etl.go.jp>
6094
6095 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6096 hard coded `4'.
6097
2bcdf662
EZ
60982000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6099
6100 * coding.c (decode_coding_emacs_mule): Fix the case of
6101 CODING_EOL_LF, which used uninitialized value of c.
6102
ba8299ff
SM
61032000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6104
6105 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6106
f4117c4d
GM
61072000-11-22 Gerd Moellmann <gerd@gnu.org>
6108
03e757c1
GM
6109 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6110 buffer object.
6111
f4117c4d
GM
6112 * frame.h (struct frame): Replace desired_tool_bar_items,
6113 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6114 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6115
6116 * frame.c (make_frame): Change initialization of tool bar
6117 items accordingly.
6118
6119 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6120 Change references to members deleted from struct frame to use the
f4117c4d
GM
6121 new ones.
6122
6123 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6124 references to members deleted from struct frame to use the new ones.
f4117c4d 6125
52283633 6126 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6127
6128 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6129
6130 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6131 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6132 from struct frame to use the new ones.
6133
f8e2f3f2
MB
61342000-11-23 Miles Bader <miles@gnu.org>
6135
6136 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6137 the face's inverse-video attribute, rather than overriding it.
6138
60e8e0a5
GM
61392000-11-22 Gerd Moellmann <gerd@gnu.org>
6140
6141 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6142 making tool bar smaller.
6143
92dd1b29
DL
61442000-11-22 Dave Love <fx@gnu.org>
6145
6146 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6147
e672fdce
MB
61482000-11-22 Miles Bader <miles@gnu.org>
6149
3a17d6cc
MB
6150 * keyboard.c (Vminibuffer_message_timeout): New variable.
6151 (command_loop_1): Use it to determine message timeout.
6152 (syms_of_keyboard): Initialize it.
6153
60e8e0a5 6154 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6155
e9655d81
KH
61562000-11-22 Kenichi Handa <handa@etl.go.jp>
6157
6158 * sysdep.c: Move the code for declaring h_errno after #include
6159 <netdb.h>.
6160
77270fac
GM
61612000-11-21 Gerd Moellmann <gerd@gnu.org>
6162
cd913aae
GM
6163 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6164 the menu bar when the tooltip is unmapped.
6165
77270fac
GM
6166 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6167 sole visible buffer when we're currently in the mini-buffer, and
6168 give up if so.
52283633 6169
556635d6
JR
61702000-11-21 Jason Rumney <jasonr@gnu.org>
6171
6172 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6173 put on the clipboard.
6174 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6175 copy of what Emacs last put there. If they are the same, do not
52283633 6176 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6177
5b7bde64
MB
61782000-11-22 Miles Bader <miles@gnu.org>
6179
6180 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6181 (syms_of_minibuf): Initialize it.
6182 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6183 to prompt, don't make read-only.
6184
ff23e1dd
GM
61852000-11-21 Gerd Moellmann <gerd@gnu.org>
6186
52283633
SM
6187 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6188 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6189
7aaf4388
GM
6190 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6191
f5f47add 6192 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6193
ff23e1dd
GM
6194 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6195
37c35586
KH
61962000-11-21 Kenichi Handa <handa@etl.go.jp>
6197
6198 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6199 ... #endif scope.
6200
ff9ab414
GM
62012000-11-20 Gerd Moellmann <gerd@gnu.org>
6202
52283633 6203 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6204 screen supports it.
6205
29a01b72
GM
6206 * s/gnu-linux.h: Don't use `#cpu'.
6207
09dfdf85
GM
6208 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6209 not defined in mman.h.
6210
52283633 6211 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6212 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6213 and store an index in the XClientMessageEvent. Storing a
6214 Lisp_Object or pointer can fail on a 64 bit system, since X only
6215 transfers 32 bits.
52283633
SM
6216 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6217
81459ac9
DL
62182000-11-20 Dave Love <fx@gnu.org>
6219
6220 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6221
56c13ae6
GM
62222000-11-20 Gerd Moellmann <gerd@gnu.org>
6223
6224 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6225
495a6df3
KH
62262000-11-20 Kenichi Handa <handa@etl.go.jp>
6227
2bcf3714
KH
6228 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6229 by WIDTH.
6230
495a6df3
KH
6231 * alloc.c (make_string): Fix previous change. Be sure to make
6232 unibyte string correctly.
6233
6d950f4c
GM
62342000-11-19 Gerd Moellmann <gerd@gnu.org>
6235
39b39373
GM
6236 * window.c (Fwindow_list): Change parameter list to be XEmacs
6237 compatible.
6238 (window_list_1): New function.
6239 (window_loop): Use it instead of Fwindow_list.
6240
b95b34e5
GM
6241 * sysdep.c (emacs_ospeed): New variable.
6242 (toplevel): Don't declare ospeed extern.
6243 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6244
6245 * termcap.c (ospeed): Remove.
6246 (tputs) [!emacs]: Remove unused code.
6247 (tgetent): Avoid a compiler warning.
6248
e83dc917
GM
6249 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6250 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6251 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6252
6253 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6254 removed.
6255 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6256 Take the X display as additional argument.
6257 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6258 `Widget' is a pointer type that's not easily stored in Lisp_Object
6259 form in a portable way.
52283633 6260
6d950f4c
GM
6261 * dispnew.c (update_text_area): Fix last change.
6262
e47306e6
GM
62632000-11-18 Gerd Moellmann <gerd@gnu.org>
6264
fb3cd89b
GM
6265 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6266
6267 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6268 clear current matrices.
6269
edaa9aed
GM
6270 * buffer.c (mmap_enlarge): Don't print a message on stderr
6271 if mapping new memory at the end of the existing region fails.
6272
e47306e6
GM
6273 * dispnew.c (update_text_area): Don't skip over equal glyphs
6274 when the last current glyph overlaps the glyph to its right.
6275
509633e3
MB
62762000-11-18 Miles Bader <miles@gnu.org>
6277
6278 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6279 lines that *end* with "..." too (that's the most common case!).
6280
d392e9c5
GM
62812000-11-18 Gerd Moellmann <gerd@gnu.org>
6282
67988445
GM
6283 * xdisp.c (resize_mini_window): Temporarily change to the
6284 mini-window's buffer if necessary.
1bfdbe43 6285
d392e9c5
GM
6286 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6287 the tooltip obscures less text under it.
6288
62892000-11-17 Gerd Moellmann <gerd@gnu.org>
6290
6291 * puresize.h (BASE_PURESIZE): Increase to 700000.
6292
92bb977f
JR
62932000-11-18 Jason Rumney <jasonr@gnu.org>
6294
6295 * w32term.c (w32_draw_bitmap): Use face to set colors.
6296
26fbf20b
DL
62972000-11-17 Dave Love <fx@gnu.org>
6298
6299 * lread.c (Fload): Fix #ifdef for pcc.
6300
100b593b
GM
63012000-11-17 Gerd Moellmann <gerd@gnu.org>
6302
6303 * xdisp.c (pos_visible_p): Compute the default character height
6304 differently.
6305
a288d0d1
GM
63062000-11-16 Gerd Moellmann <gerd@gnu.org>
6307
cac94de6 6308 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6309 knowing the line's height; use the default font's height in that case.
cac94de6 6310
a288d0d1
GM
6311 * xfaces.c (weight_table): Add `demi' with the same meaning as
6312 `demibold'.
6313
981fb6f6
KH
63142000-11-16 Kenichi Handa <handa@etl.go.jp>
6315
2cca872d 6316 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6317 (clear_glyph_row): Delete local static variable null_row.
6318
e5fa381b
JR
63192000-11-15 Jason Rumney <jasonr@gnu.org>
6320
6321 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6322 (w32_alloc_lighter_color): Use new brightness calculations from
6323 xterm.c. Scale delta to be in the range expected by W32.
6324 (w32_draw_relief_rect): Use frame relief colors.
6325
8e42f043
GM
63262000-11-15 Gerd Moellmann <gerd@gnu.org>
6327
6d133d1f
GM
6328 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6329 (Qinhibit_default_face_x_resources): New variable.
6330 (syms_of_frame): Initialize it.
6331 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6332
6333 * xdisp.c (pos_visible_p): Improve function comment.
6334
6335 * lisp.h (BINDING_STACK_SIZE): New macro.
6336
8e42f043
GM
6337 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6338 reading the directory if readdir returns null and errno is EAGAIN
6339 or EINTR.
6340
e8c87124
SM
63412000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6342
6343 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6344 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6345 Set amount_to_scroll to max of dx and scroll_step so that
6346 scroll-conservatively doesn't defeat scroll-step>1.
6347 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6348 scroll-conservatively for line-at-a-time scrolling.
6349
5f0c971d
GM
63502000-11-14 Gerd Moellmann <gerd@gnu.org>
6351
6352 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6353 extra argument.
6354
6355 * xdisp.c (current_mode_line_height, current_header_line_height):
6356 New variables.
6357 (init_xdisp): Initialize them.
6358 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6359 and use exact mode line heights if it is set.
6360
6361 * lisp.h (pos_visible_p): Change prototype.
6362
6363 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6364 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6365 and current_header_line_height first.
52283633
SM
6366 (current_mode_line_height, current_header_line_height):
6367 Declare extern.
5f0c971d 6368
d7361edf
MB
63692000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6370
6371 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6372 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6373 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6374
ee5e440a
MB
63752000-11-14 Miles Bader <miles@gnu.org>
6376
6377 * xterm.c (x_alloc_lighter_color): Include an additive component
6378 too for dark colors, because FACTOR isn't enough.
6379 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6380 New macros.
6381
5ca020fc
GM
63822000-11-13 Gerd Moellmann <gerd@gnu.org>
6383
6384 * keyboard.c (show_help_echo): Call message3_nolog with number of
6385 bytes in the help string as 2nd parameter, instead of the number
6386 of characters.
6387
9d348294
MB
63882000-11-13 Miles Bader <miles@gnu.org>
6389
6390 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6391 (Fload): Use new openp return protocol.
6392 Don't try to use Vload_source_file_function to load .elc files.
6393 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6394 openp return protocol.
6395 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6396
1729bb9a
KH
63972000-11-11 Kenichi Handa <handa@etl.go.jp>
6398
4e677396
KH
6399 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6400
6401 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6402 Defined these macros.
6403 (NLIST_STRUCT): Avoid re-defining it.
6404
1729bb9a
KH
6405 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6406 -I/usr/contrib/X11R6/include.
6407 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6408
a82fe213
JR
64092000-11-10 Jason Rumney <jasonr@gnu.org>
6410
6411 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6412
6413 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6414 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6415
6416 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6417 (Qw32_charset_vietnamese): New symbol.
6418 (xlfd_charset_of_font): New function.
6419 (w32_load_system_font): Use it.
6420 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6421 when Vw32_charset_info_alist is nil to ensure default face always
6422 has font. Use Fcar and Fcdr for safety.
6423 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6424 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6425 pseudo-codepages for special cases.
6426 (w32_to_x_font): New parameter to allow charset portion to be
6427 specified where there is many to one mapping. Callers changed.
6428 (w32_list_fonts): Avoid listing fonts that won't display.
6429
52d89894
GM
64302000-11-10 Gerd Moellmann <gerd@gnu.org>
6431
6432 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6433 (font_list_1): Renamed from font_list.
6434 (font_list): New function, trying alternative registries from
6435 Vface_alternative_font_registry_alist.
6436 (Finternal_set_alternative_font_registry_alist): New function.
6437 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6438 Vface_alternative_font_registry_alist.
6439 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6440
651cd3da
KR
64412000-11-09 Ken Raeburn <raeburn@gnu.org>
6442
6443 * lisp.h (Flooking_at): Declare.
6444
388ac098
GM
64452000-11-09 Gerd Moellmann <gerd@gnu.org>
6446
778fbc46 6447 * dired.c (directory_files_internal): Fix a braino.
52283633 6448
388ac098
GM
6449 * dired.c (directory_files_internal): Add missing GCPRO's.
6450 Some cleanup.
6451
ecaedde1
GM
64522000-11-08 Gerd Moellmann <gerd@gnu.org>
6453
f7eb32aa
GM
6454 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6455 (resize_mini_window): Return quickly if Vresize_mini_window is
6456 nil. Don't return if Vmax_mini_window_height is nil.
6457
6458 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6459 (syms_of_xdisp): Initialize them.
6460 (resize_mini_window): Act according to the setting of
6461 Vresize_mini_window.
6462 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6463
ecaedde1
GM
6464 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6465 scroll bar widget after configuring it, so that it will appear at
6466 the right position from the start.
6467 (XTredeem_scroll_bar): Cleaned up.
6468
3747ef2c
KH
64692000-11-08 Kenichi Handa <handa@etl.go.jp>
6470
6471 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6472 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6473 division by two.
6474
6475 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6476
03391420
DL
64772000-11-07 Dave Love <fx@gnu.org>
6478
7758f1c1 6479 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6480
6481 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6482
b5de343d
GM
64832000-11-07 Gerd Moellmann <gerd@gnu.org>
6484
acad3c0b
GM
6485 * window.c (Fset_window_configuration): Don't try to preserve
6486 point in the current buffer, if that buffer is displayed in more
6487 than one window.
6488
b5de343d
GM
6489 * xfaces.c (lookup_named_face): If default face isn't realized,
6490 try to realize it. Return -1 if not successful.
6491 (Fx_list_fonts): Handle case that face cannot be determined.
6492 (Fface_font): Likewise.
6493
cdb1fe49
GM
64942000-11-06 Gerd Moellmann <gerd@gnu.org>
6495
6496 * window.c (displayed_window_lines): Detect partially
6497 visible lines at the bottom correctly.
6498
d3a67486
SM
64992000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6500
6501 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6502 when ensuring we don't do visit in indirect buffer.
6503
ff8dd5d5
KH
65042000-11-06 Kenichi Handa <handa@etl.go.jp>
6505
6506 * composite.h (compose_chars_in_text): Add prototype.
6507
6508 * composite.c (Vcomposition_function_table): New variable.
6509 (Qcomposition_function_table): New variable.
6510 (run_composition_function): Call
6511 Vcompose_chars_after_function with three arguments.
6512 (compose_chars_in_text): New function.
6513 (syms_of_composite): Modified the doc-string of
6514 Vcompose_chars_after_function. Declare composition-function-table
6515 as a lisp variable, and initialize it.
6516
6517 * xfns.c (x_encode_text): Suppress producing escape sequences for
6518 composition.
6519
6520 * xselect.c: Include composite.h.
6521 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6522
d1145f85
AI
65232000-11-05 Andrew Innes <andrewi@gnu.org>
6524
6525 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6526
6527 * sysdep.c (read_input_waiting): Remove extraneous argument to
6528 read_socket_hook.
6529
6530 * w32fns.c (Fx_server_version): Include w32_build_number in the
6531 return list.
6532
6533 * w32heap.c (w32_build_number): New variable.
6534 (cache_system_info): Set it.
6535
6536 * w32heap.h (w32_build_number): Add extern.
6537
6538 * emacs.c (syms_of_emacs): Update docstring for
6539 system-configuration, to reflect the actual usage on MS-Windows.
6540
e85ee976
GM
65412000-10-31 Gerd Moellmann <gerd@gnu.org>
6542
26dcb81b
GM
6543 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6544 process idle timers while waiting for another event.
6545
52283633 6546 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6547 the default face are colored.
6548
e85ee976
GM
6549 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6550 window height hasn't changed.
6551
01b220b6
JR
65522000-10-31 Jason Rumney <jasonr@gnu.org>
6553
6554 * w32term.c (x_produce_glyphs): Handle composite characters.
6555 (x_draw_glyph_string_foreground)
6556 (x_draw_composite_glyph_string_foreground): Restore old font.
6557
4e6b7204
MB
65582000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6559
6560 * minibuf.c (read_minibuf): Reset the undo history just before
6561 starting the recursive-edit.
6562
d4358b37
GM
65632000-10-30 Gerd Moellmann <gerd@gnu.org>
6564
563f68f1
GM
6565 * xfaces.c (menu_face_change_count): New variable.
6566 (Finternal_set_lisp_face_attribute): Increment it for changes
6567 of the `menu' face.
6568 (realize_basic_faces): Reflect changes in the `menu' faces
6569 in menu bars.
6570
82e274d1
GM
6571 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6572 dy obtained from the iterator's y-position after moving from
6573 scroll_margin_pos to PT; see comment there.
52283633 6574
0dbf9fd2
GM
6575 * xdisp.c (safe_eval_handler): Call add_to_log.
6576
906b3b14
GM
6577 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6578 is not a symbol or string.
6579
d4358b37
GM
6580 * xdisp.c (echo_area_display): Don't perform a display update from
6581 inside redisplay. The update will happen anyway at the end of
6582 redisplay, and it can confuse redisplay (GC messages while
6583 redisplaying, for instance.)
6584
70c825df
SM
65852000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6586
cf9b4b0b
SM
6587 * xrdb.c (x_load_resources): Use the class name in the defaults.
6588
70c825df
SM
6589 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6590 (regex_compile): Catch bogus \(\1\).
6591
a1d34b1e
GM
65922000-10-30 Gerd Moellmann <gerd@gnu.org>
6593
cae71efe
GM
6594 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6595 RGB values.
52283633 6596
35efe0a1
GM
6597 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6598 we have a color cache, check that the cached color equals the
6599 allocated color. If not, clear the color cache.
6600
1d3baf74
GM
6601 * window.c (displayed_window_lines): Change buffers if necessary.
6602 Fix computation of displayed lines.
6603
a1d34b1e
GM
6604 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6605 update_menu_bindings to DEFVAR_BOOL.
6606
70737ea9
KH
66072000-10-30 Kenichi Handa <handa@etl.go.jp>
6608
70c825df 6609 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6610
fa0cb51d
KH
6611 * puresize.h (BASE_PURESIZE): Increase to 680000.
6612
70737ea9
KH
6613 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6614
0e4c08e8
JR
66152000-10-29 Jason Rumney <jasonr@gnu.org>
6616
6617 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6618
6619 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6620 (w32_cache_char_metrics): Handle possibility that 'x' does not
6621 exist in a BDF font.
6622 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6623
6624 * w32bdf.h (bdffont): Add nchars.
6625
6626 * w32bdf.c (set_bdf_font_info): Set it.
6627 (w32_BDF_TextOut): Swap byte order of double byte characters.
6628 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6629
45b84006
EZ
66302000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6631
6632 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6633 don't override the colors in frame's param_alist, unless they are
6634 unspecified.
6635
6636 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6637 reverse the effect of the highlight flag.
6638
caf9deee
KR
66392000-10-27 Ken Raeburn <raeburn@gnu.org>
6640
6641 * window.h (Fwindow_live_p): Declare.
6642
ae0b9b46
KR
6643 * undo.c (record_delete): Check that last_undo_buffer is really a
6644 buffer before applying XBUFFER to it.
6645
6646 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6647 Faref.
6648
02067692
SM
66492000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6650
6651 * lisp.h (KEYMAPP): New macro.
6652 (get_keymap): Remove.
6653 (get_keymap_1): Rename get_keymap.
6654
6655 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6656
6657 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6658
6659 * xmenu.c (single_submenu): Use KEYMAPP.
6660 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6661 Use KEYMAPP rather than Fkeymapp.
6662
6663 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6664
6665 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6666 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6667 Use KEYMAPP rather than Fkeymapp.
6668 (single_submenu): Use KEYMAPP.
6669 (w32_menu_show, w32_dialog_show): Use TRUE.
6670
6671 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6672
6673 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6674 (Fkeymapp): Use KEYMAPP.
6675 (get_keymap): Rename from get_keymap_1. Remove old def.
6676 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6677 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6678 (Fminor_mode_key_binding): Don't raise an error if the binding
6679 is not a keymap.
6680 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6681 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6682
6683 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6684 Allow Vspecial_event_map to be autoloaded.
6685 (menu_bar_items): Fetch the keymap rather than using keymapp.
6686 (menu_bar_one_keymap): No need to follow func-indirect any more.
6687 (parse_menu_item): get_keymap_1 -> get_keymap.
6688 (tool_bar_items): Fetch the keymap rather than using keymapp.
6689 (read_key_sequence): Use KEYMAPP.
6690
6691 * intervals.c (get_local_map): Use get_keymap rather than following
6692 function-indirections explicitly.
6693
6694 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6695
f9d80af3
JR
66962000-10-27 Jason Rumney <jasonr@gnu.org>
6697
6698 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6699 point, as Windows has oversized fonts.
6700
6701 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6702
a3ba27da
GM
67032000-10-27 Gerd Moellmann <gerd@gnu.org>
6704
6705 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6706 (freehook, reallochook): Handle null pointer arguments.
6707 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6708
aa3b80cc
SM
67092000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6710
6711 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6712 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6713 Giving in to popular pressure to shut up the compiler with casts.
6714
e24e84cc
GM
67152000-10-27 Gerd Moellmann <gerd@gnu.org>
6716
6717 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6718 signed value, and use a default value computed from the font's
6719 maximum descent.
6720
05ea7ef2
MB
67212000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6722
6723 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6724 that specify a negative underline position can still use underlines.
6725
6726 * window.c (Fpos_visible_in_window_p): Make POS default to
6727 WINDOW's point, not the current buffer's point.
6728
0b95284b
DL
67292000-10-26 Dave Love <fx@gnu.org>
6730
6731 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6732 when it's necessary.
6733
6c5b90af
GM
67342000-10-26 Gerd Moellmann <gerd@gnu.org>
6735
8b6d9dc9
GM
6736 * window.c (size_window): Compute size difference from sum of old
6737 child window sizes instead of from parent's size.
6738
6bc92b2e
GM
6739 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6740 Handle obscured lines at the top of the window.
6741
6742 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6743 down after the last error condition check.
6744
6c5b90af
GM
6745 * frame.c (Fdelete_frame): Run delete-frame-hook.
6746
42f92d4d
KH
67472000-10-26 Kenichi Handa <handa@etl.go.jp>
6748
6749 * coding.c (decode_coding): Fix previous change (check also
6750 CODING_MODE_LAST_BLOCK).
6751
d97151cb
SM
67522000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6753
e7efc503
SM
6754 * regex.c: More `unsigned char' -> `re_char' changes.
6755 Also change several `int' into `re_wchar_t'.
6756 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6757 (PUSH_FAILURE_POINTER): Don't cast any more.
6758 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6759 We want GCC to complain, since this piece of code makes
6760 re_match non-reentrant, which *should* be fixed.
6761 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6762 (EXTEND_BUFFER): Use RETALLOC.
6763 (SET_LIST_BIT): Don't cast.
6764 (re_wchar_t): New type.
6765 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6766 that those two functions will always properly return.
6767 (IMMEDIATE_QUIT_CHECK): Cast to void.
6768 (analyse_first): Use recursion rather than an explicit stack.
6769 (re_compile_fastmap): Can't fail anymore.
6770 (re_search_2): Don't check re_compile_fastmap for failure.
6771 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6772 Now also sets the new value (passed in a new argument).
6773 (re_match_2_internal): Use it.
6774 Also, use a new var `reg' of type size_t when looping through regs
6775 rather than reuse the inappropriate `mcnt'.
6776
d97151cb
SM
6777 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6778 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6779 (where_is_internal): Renamed from Fwhere_is_internal.
6780 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6781 (Fwhere_is_internal): New function wrapping where_is_internal.
6782 (where_is_internal_1): Handle the case where we're filling the cache.
6783 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6784
d5789b65
MB
67852000-10-25 Miles Bader <miles@gnu.org>
6786
6787 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6788
4ecda532
GM
67892000-10-25 Gerd Moellmann <gerd@gnu.org>
6790
6791 * window.c (pos_fully_visible_p): Removed.
6792 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6793 if position is visible and/or fully visible.
6794
6795 * lisp.h (pos_visible_p): Add prototype.
6796
6797 * xdisp.c (pos_visible_p): New function.
6798
68c3a137
KH
67992000-10-25 Kenichi Handa <handa@etl.go.jp>
6800
6801 * process.c (send_process): If OBJECT is t, it means that the data
6802 is from C string, but we should encode it. Before calling
6803 setup_raw_text_coding_system, be sure to flush out data by the
6804 previous coding system.
6805
7ae1c032
MB
68062000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6807
ff4dcd4b
MB
6808 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6809 assignment of startpos to prev when startpos == pos.
6810
7ae1c032
MB
6811 * editfns.c (find_field): Set the field stickiness correctly from
6812 overlay fields. Use renamed `text_property_stickiness'.
6813 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6814 Only check text properties, not overlays.
7ae1c032
MB
6815 * textprop.c (get_char_property_and_overlay): New function.
6816 (Fget_char_property): Use it.
6817 * intervals.h (get_char_property_and_overlay): Add declaration.
6818
49801145
SM
68192000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6820
6821 * keymap.c: Use AREF, ASET and ASIZE macros.
6822 (Fmake_sparse_keymap): Docstring fix.
6823 (synkey): Remove.
6824 (shadow_lookup): Move up.
6825 Handle the case where lookup-key returns an integer.
6826 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6827 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6828 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6829 Simplify/rewrite the keymap-finding code.
6830 Add check for command shadowing, using shadow_lookup.
6831
39e776cd
SM
68322000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6833
6834 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6835 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6836 a symbol.
6837
2488aba5
AI
68382000-10-24 Andrew Innes <andrewi@gnu.org>
6839
6840 * dired.c (directory_files_internal_unwind): New function.
6841 (directory_files_internal): Use it to ensure closedir is called
6842 even if expand-file-name or file-attributes throw, eg. because of
6843 a user interrupt. Also enable immediate_quit while calling
6844 re_search, so that matching can be interrupted as well.
6845
b94fdf61
AI
68462000-10-24 Andrew Innes <andrewi@gnu.org>
6847
6848 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6849 NT-Emacs only.
6850 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6851 so that re_search functions only quit when callers expect them to.
6852
68532000-10-24 Kenichi Handa <handa@etl.go.jp>
6854
6855 * regex.c (regex_compile): Change the way of handling a range from
6856 a char less than 256 to a char not less than 256.
6857
1946f901
GM
68582000-10-24 Gerd Moellmann <gerd@gnu.org>
6859
7ae2f10f
GM
6860 * window.c (size_window): Prevent setting window's width or
6861 height to a negative value (esp. with XSETFASTINT).
6862
5dcab13e
GM
6863 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6864 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6865 (protect_malloc_state) [GC_MALLOC_CHECK &&
6866 GC_PROTECT_MALLOC_STATE]: New function.
6867 (PROTECT_MALLOC_STATE): New macro.
6868 (__malloc_initialize, morecore, _malloc_internal)
6869 (_free_internal) _realloc_internal): Use it to make _heapinfo
6870 read-only outside of gmalloc.
6871
63e1b552
GM
6872 * keymap.c: Update copyright.
6873
1946f901
GM
6874 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6875 a symbol.
6876
4fa09beb
GM
68772000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6878
6879 * filelock.c (unlock_all_files): Use unlock_file to expand each
6880 buffer's file_truename before trying remove its lock file.
6881
23afac01
EZ
68822000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6883
6884 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6885 or CRLF, decode EOLs.
6886
04448b95
KH
68872000-10-24 Kenichi Handa <handa@etl.go.jp>
6888
6889 * window.c (Fdisplay_buffer): Fix doc.
6890
3090a5a5
JR
68912000-10-23 Jason Rumney <jasonr@gnu.org>
6892
6893 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6894 ASCII font of default fontset on Windows.
6895
6896 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6897 xterm.c comment below).
6898
6899 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6900
a83fee2c
GM
69012000-10-23 Gerd Moellmann <gerd@gnu.org>
6902
6903 * xterm.c (x_connection_closed): Reset handling_signal.
6904
52283633 6905 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6906
6ffdb539
MB
69072000-10-23 Miles Bader <miles@gnu.org>
6908
6909 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6910 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6911 maintain old behavior.
6912 * minibuf.c (Fminibuffer_complete): Likewise.
6913
7f1c969b
MB
69142000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6915
6916 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6917 that when a font can't be exactly centered, it errs up rather than
6918 down.
6919
23afac01 69202000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6921
52283633 6922 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6923
1a578e9b
AC
69242000-10-23 Andrew Choi <akochoi@i-cable.com>
6925
6926 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6927
6928 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6929 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6930
6931 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6932 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6933 syms_of_search, x_term_init, and init_keyboard before calling
6934 init_window_once. Also, call syms_of_xmenu.
6935
6936 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6937 default fontset to Monaco.
6938
6939 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6940 NewMacWindow and DisposeMacWindow.
6941 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6942 instead of calling NewMacWindow and setting fields of
6943 f->output_data.mac directly. Call init_frame_faces.
6944 (Fdelete_frame) [macintosh]: Remove unused code.
6945 (Fmodify_frame_parameters) [macintosh]: Call
6946 x_set_frame_parameters instead of mac_set_frame_parameters.
6947
6948 * frame.h [macintosh]: Define menu_bar_lines field in struct
6949 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6950
6951 * keyboard.c [macintosh]: Include macterm.h.
6952 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6953 and menu_bar_activate_event type events as for X and NT.
6954 (make_lispy_event) [macintosh]: Construct lisp events of type
6955 MENU_BAR_EVENT as for X and NT.
6956
6957 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6958 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6959 (sys_subshell) [macintosh]: Remove definition entirely.
6960 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6961 Vwindow_system_version here. Remove initialization of
6962 Vx_bitmap_file_path.
6963 (read_input_waiting): Correct the number of parameters passed to
6964 read_socket_hook.
6965 Move all Macintosh functions to mac/mac.c.
6966
6967 * term.c [macintosh]: Include macterm.h.
6968
6969 * window.c [macintosh]: Include macterm.h.
6970
6971 * xdisp.c [macintosh]: Include macterm.h. Declare
6972 set_frame_menubar and pending_menu_activation.
6973 (echo_area_display) [macintosh]: Do not return if terminal frame
6974 is the selected frame.
6975 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6976 Allow only the selected frame to set menu bar.
6977 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6978 calling FRAME_EXTERNAL_MENU_BAR (f).
6979 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6980
6981 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6982 and check_x. Declare XCreateGC. Define x_create_gc and
6983 x_free_gc. Initialize font_sort_order.
6984 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6985 but call x_list_fonts instead of w32_list_fonts.
6986 (Finternal_face_x_get_resource) [macintosh]: Do not call
6987 display_x_get_resource.
6988 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6989 (realize_x_face) [macintosh]: Load the font if it is specified in
6990 ATTRS.
52283633 6991 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6992
1ffbabe3
SM
69932000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6994
6995 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6996 is nil: since we go to the end of submap anyway, we'd end up
6997 setting nil to nil.
6998 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6999 doesn't obey autoload.
7000
bed43f1d
EZ
70012000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7002
1ffbabe3 7003 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7004
ea4233a7
JR
70052000-10-21 Jason Rumney <jasonr@gnu.org>
7006
7007 * w32term.c (w32_cache_char_metrics): Double check that font is
7008 really fixed pitch before trusting tmPitchAndFamily.
7009
f3d3c491
AI
70102000-10-21 Andrew Innes <andrewi@gnu.org>
7011
7012 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7013
7014 * w32term.h: Extern decl for w32_cache_char_metrics.
7015
7016 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7017
7018 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7019 (w32_unload_font): Free per_char array if present.
7020
7021 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7022 cached information in emulated XFontStruct to handle common cases
7023 quickly. Do not allocate XCharStruct for return.
7024 (w32_native_per_char_metric): New function.
7025 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7026 allocating one.
7027 (x_produce_glyphs): Don't get an HDC. Change calls to
7028 w32_per_char_metric to match arg change above. Remove calls to
7029 free results.
7030 (w32_get_glyph_overhangs): Ditto.
7031 (w32_cache_char_metrics): New function.
7032
7033 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7034 ($(BLD)/casefiddle.$(O)): Remove compile command.
7035 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7036 ($(BLD)/dispnew.obj):
7037 ($(BLD)/keyboard.obj):
7038 ($(BLD)/w32inevt.obj):
7039 ($(BLD)/w32bdf.obj):
7040 ($(BLD)/alloc.obj):
7041 ($(BLD)/buffer.obj):
7042 ($(BLD)/editfns.obj):
7043 ($(BLD)/emacs.obj):
7044 ($(BLD)/fileio.obj):
7045 ($(BLD)/fns.obj):
7046 ($(BLD)/indent.obj):
7047 ($(BLD)/insdel.obj):
7048 ($(BLD)/intervals.obj):
7049 ($(BLD)/minibuf.obj):
7050 ($(BLD)/print.obj):
7051 ($(BLD)/scroll.obj):
7052 ($(BLD)/sysdep.obj):
7053 ($(BLD)/textprop.obj):
7054 ($(BLD)/widget.obj):
f3d3c491
AI
7055 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7056 ($(BLD)/term.obj): Add dependency on dispextern.h.
7057
52283633
SM
7058 * makefile.nt ($(BLD)\dispnew.obj):
7059 ($(BLD)\keyboard.obj):
7060 ($(BLD)\w32inevt.obj):
7061 ($(BLD)\w32bdf.obj):
7062 ($(BLD)\alloc.obj):
7063 ($(BLD)\buffer.obj):
7064 ($(BLD)\editfns.obj):
7065 ($(BLD)\emacs.obj):
7066 ($(BLD)\fileio.obj):
7067 ($(BLD)\fns.obj):
7068 ($(BLD)\indent.obj):
7069 ($(BLD)\insdel.obj):
7070 ($(BLD)\intervals.obj):
7071 ($(BLD)\minibuf.obj):
7072 ($(BLD)\print.obj):
7073 ($(BLD)\scroll.obj):
7074 ($(BLD)\sysdep.obj):
7075 ($(BLD)\textprop.obj):
7076 ($(BLD)\widget.obj):
f3d3c491
AI
7077 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7078 ($(BLD)\term.obj): Add dependency on dispextern.h
7079
18ad4821
EZ
70802000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7081
7082 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7083 with an additional argument of Qt.
7084
de54681a
MB
70852000-10-21 Miles Bader <miles@gnu.org>
7086
7087 * window.c (pos_fully_visible_in_window_p): New function.
7088 (Fpos_visible_in_window_p): Add FULLY argument.
7089 Use pos_fully_visible_in_window_p.
7090 (window_scroll_pixel_based, window_scroll_line_based): Update
7091 calls to Fpos_visible_in_window_p.
7092 * lisp.h (Fpos_visible_in_window_p): Update prototype
7093
13c844fb
GM
70942000-10-20 Gerd Moellmann <gerd@gnu.org>
7095
7096 * alloc.c (toplevel): Conditionalize compilation of mem_*
7097 functions differently.
52283633 7098
d9506268
JR
70992000-10-20 Jason Rumney <jasonr@gnu.org>
7100
7101 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7102 mem_init where it used to be. mem_z etc not defined otherwise.
7103
8094989b
GM
71042000-10-20 Gerd Moellmann <gerd@gnu.org>
7105
7106 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7107 GC_MALLOC_CHECK.
7108 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7109 structure definition and related variabled to the top of the file.
7110 Include this code when GC_MALLOC_CHECK is defined.
7111 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7112 register/unregister allocated region.
7113 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7114 which isn't allocated.
7115 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7116 something which is already in use.
7117 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7118 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7119 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7120 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7121
7122 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7123 _malloc_internal instead of malloc.
7124 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7125 of free.
7126
ea456eb4
AI
71272000-10-20 Andrew Innes <andrewi@gnu.org>
7128
7129 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7130 Windows.
7131 (my_strftime) <macro>: Don't use macro arg list when redefining as
7132 _strftime_copytm.
7133 (my_strftime) <function>: Supply 0 as ut argument.
7134
e64c3a75
JR
71352000-10-19 Jason Rumney <jasonr@altavista.net>
7136
7137 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7138 including dispextern.h, as it stops faces from working.
7139
7140 * w32fns.c (Fx_create_frame): Don't bother calling
7141 face-set-after-frame-default since the caller does it for us
7142 anyway. Clean up calls to x_get_arg to be consistent with X.
7143
7144 * w32term.c (x_produce_glyphs): Handle
7145 unibyte_display_via_language_environment correctly.
7146 (w32_draw_box_rect): Fix the calculation of width and height.
7147
7148 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7149 as it has stopped working.
7150 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7151 menu-bar.
7152
17401c97
GM
71532000-10-19 Gerd Moellmann <gerd@gnu.org>
7154
7155 * eval.c (skip_debugger): Prevent a compiler warning.
7156 (Fcondition_case): Likewise.
7157 (Fbacktrace_frame): Use a null interactive spec.
7158
773272d8
KH
71592000-10-19 Kenichi Handa <handa@etl.go.jp>
7160
7161 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7162
a42943e9
GM
71632000-10-18 Gerd Moellmann <gerd@gnu.org>
7164
e50517d9
GM
7165 * strftime.c: Sync with glibc, file version 1.78.
7166 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7167 should no longer be used according to ISO 8601.
7168
9035a35a
GM
7169 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7170 no map for meta_prefix_char, don't try to use it as a keymap.
7171 Instead, if T_OK is non-zero, look up a default binding, if any,
7172 otherwise, if T_OK is zero, return nil.
7173
a42943e9
GM
7174 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7175 (x_to_xcolors, png_load): Use x_query_color.
7176
52283633
SM
7177 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7178 New functions.
a42943e9
GM
7179 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7180 which can be slow.
7181 (x_copy_color, x_alloc_lighter_color): Likewise.
7182
7183 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7184 (x_query_color, x_query_colors): Add prototype.
7185
7186 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7187 check_string_bytes only if not noninteractive, increase count to 50.
7188
00de2987
MB
71892000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7190
7191 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7192 markers correctly.
7193
54918e2b
GM
71942000-10-17 Gerd Moellmann <gerd@gnu.org>
7195
1f0b3fd2
GM
7196 * alloc.c (pure_bytes_used): Renamed from pureptr.
7197 (ALIGN): New macro.
7198 (pure_alloc): New function.
7199 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7200 Use it.
7201 (Fpurecopy): Use PURE_POINTER_P.
7202
68c5d1db
GM
7203 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7204 PT has moved backward.
52283633 7205
9a038881
GM
7206 * xdisp.c (cursor_row_p): Take continued lines into account.
7207
361b097f
GM
7208 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7209 string's size_byte.
7210 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7211 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7212 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7213 string allocated.
7214
54918e2b
GM
7215 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7216 of selective display off while searching for the next line start.
7217
03ed0806
KH
72182000-10-17 Kenichi Handa <handa@etl.go.jp>
7219
7220 * Makefile.in (term.o): Depend on dispextern.h.
7221
7e05cdaf
SM
72222000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7223
7224 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7225
a6801fd1
GM
72262000-10-16 Gerd Moellmann <gerd@gnu.org>
7227
483de32b
GM
7228 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7229 the iterator at the beginning, so that they can be set later on,
7230 for instance in reseat_at_next_visible_line_start, without being
7231 overwritten.
7232
a6801fd1
GM
7233 * xfns.c (pbm_format): Add :foreground and :background keywords.
7234 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7235 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7236
dbf1fcc1
EZ
72372000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7238
7239 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7240
52283633 7241 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7242
7243 * msdos.c (IT_set_face): Compare highlighted face with the default
7244 face, and invert colors if these faces' colors are identical.
7245 (Fmsdos_remember_default_colors): Don't swap foreground and
7246 background colors in initial_colors[].
7247 (IT_set_frame_parameters): Don't swap frame's foreground and
7248 background pixels. If ALIST includes "(reverse . t)", swap
7249 foreground-color and background-color properties in frame's
7250 param_alist. If the original frame's param_alist doesn't specify
7251 the colors, store unspecified-fg and unspecified-bg, reversed if
7252 required.
7253
7254 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7255 the colors are unspecified and reversed, reverse fore- and back-
7256 ground in the returned value.
7257 (Fframe_parameter): Ditto.
7258
b41fe2c3 72592000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7260
3a6b59d9
GM
7261 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7262 get_last_unchanged_at_beg_row.
7263 (find_first_unchanged_at_end_row): Renamed from
7264 get_first_unchanged_at_end_row.
7265 (find_first_unchanged_at_end_row): Convert assertions to
7266 unconditional tests which abort. When looking for a row in
7267 unchanged text, don't go further back than first_text_row.
7268
b41fe2c3
GM
7269 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7270 Don't add in the last line's height when deciding if the new
7271 position is below the scroll margin.
9d1af64f 7272
b41fe2c3 72732000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7274
7275 * editfns.c (Fconstrain_to_field): Check carefully for field
7276 boundaries if either OLD_POS or NEW_POS has a non-nil field
7277 property, even if they're the same.
7278
c412cb7b
KH
72792000-10-16 Kenichi Handa <handa@etl.go.jp>
7280
7281 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7282 height for XFillRectangle.
7283
5586f3eb
SM
72842000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7285
7286 * syntax.c (Fstring_to_syntax): New function extracted from
7287 Fmodify_syntax_entry.
7288 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7289 (skip_chars, Fforward_comment): Remove unused variables.
7290 (syms_of_syntax): Add defsubr for string-to-syntax.
7291 (describe_syntax): Add code for comment and string fences.
7292
db785038
SM
72932000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7294
7295 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7296 Do the meta->esc mapping. Call get_keyelt before returning.
7297 Start scanning from the second element (the first is always `keymap')
7298 to make it easier to detect when we reach a parent map.
7299 Handle the case of inheriting from a symbol whose function is a map.
7300 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7301 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7302 (get_keyelt, Flookup_key): Update call to access_keymap.
7303 Remove the meta->esc mappings.
7304 (define_as_prefix): Delete old disabled code.
7305 (menu_item_p): New function.
7306 (where_is_internal_1): Skip over the few remaining menu items.
7307 * lisp.h (access_keymap): Update prototype.
7308 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7309 Update call to access_keymap.
7310 (follow_key, read_key_sequence): Update calls to access_keymap.
7311 Remove the meta->esc mappings.
7312
cafafe0b
GM
73132000-10-13 Gerd Moellmann <gerd@gnu.org>
7314
a2e2a7f6
GM
7315 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7316 with additional argument.
7317
cafafe0b
GM
7318 * xdisp.c (cursor_row_p): New function.
7319 (try_cursor_movement, display_line): Use it.
52283633 7320
cafafe0b
GM
7321 * xdisp.c (append_space): Also save/restore iterator's current
7322 character and its length.
7323
7324 * xdisp.c (init_from_display_pos): Add an assertion.
7325 (handle_stop): Don't set iterator's add_overlay_start.
7326 (handle_invisible_prop): Likewise.
7327 (load_overlay_strings): If text under an overlay is invisible,
7328 take both before- and after-strings into account when the iterator
7329 is positioned either at the start or at the end of the overlay.
7330 (forward_to_next_line_start): Rewritten.
7331 (reseat_at_next_visible_line_start): Rewritten.
7332 (set_iterator_to_next): Add parameter RESEAT_P.
7333
7334 * dispextern.h (struct it): Remove member add_overlay_start.
7335 (set_iterator_to_next): Change prototype.
7336
c744452b
KH
73372000-10-13 Kenichi Handa <handa@etl.go.jp>
7338
7339 * coding.c (code_convert_region): Be sure to initialize
7340 coding->category_idx.
e4a3f4e1
KH
7341 (decode_coding_string): Set coding->src_multibyte and
7342 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7343 (encode_coding_string): Set coding->src_multibyte and
7344 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7345
321fd26f
SM
73462000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7347
7348 * xfns.c (Fx_create_frame): Don't bother calling
7349 face-set-after-frame-default since the caller does it for us anyway.
7350
76832439
EZ
73512000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7352
7353 * window.c (coordinates_in_window): Fix detection of vertical line
7354 on character terminals.
7355
2483cf58
GM
73562000-10-12 Gerd Moellmann <gerd@gnu.org>
7357
7358 * editfns.c (save_excursion_save): Additionally record the
7359 selected window.
7360 (save_excursion_restore): If buffer was visible in a window, and a
7361 different window was selected, and the old selected window is
7362 still live, restore point in that window.
7363
eb991b25
KH
73642000-10-12 Kenichi Handa <handa@etl.go.jp>
7365
8a0eba09
KH
7366 * xterm.c (x_produce_glyphs): Handle
7367 unibyte_display_via_language_environment correctly.
7368
20401fcc
KH
7369 * regex.c (regex_compile): Change the way of handling a range from
7370 unibyte char to multibyte char.
7371
7372 * syntax.c (skip_chars): Change the way of handling a range from
7373 unibyte char to multibyte char.
7374
eb991b25
KH
7375 * process.c (read_process_output): Cancel previous change.
7376
365dd325
EZ
73772000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7378
c1b096cb
EZ
7379 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7380
365dd325
EZ
7381 * charset.c (Ffind_charset_string): Doc fix.
7382 (Ffind_charset_region): Doc fix.
7383
eb483c2b
KH
73842000-10-11 Kenichi Handa <handa@mule.m17n.org>
7385
7386 * process.c (read_process_output): Fix previous change. Adjust
7387 multibyteness of text to insert in a buffer by
52283633 7388 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7389
b40bfb99
AS
73902000-10-10 Andreas Schwab <schwab@suse.de>
7391
7392 * alloc.c (mark_object): Remove all workarounds installed on
7393 1993-08-08.
7394
caff31d4
KH
73952000-10-10 Kenichi Handa <handa@etl.go.jp>
7396
52283633 7397 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7398 (base64_encode_1): Make it work for a text of multibyte form.
7399 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7400 case. Don't call str_to_multibyte because base64_decode_1
7401 produces correct multibyte form for eight-bit codes.
52283633 7402 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7403 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7404 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7405 codes.
7406
7407 * charset.h (CHAR_STRING): Optimized for single byte characters.
7408
cba026ef
AS
74092000-10-09 Andreas Schwab <schwab@suse.de>
7410
7411 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7412 -1 after socket is closed, to fall through to error processing.
7413
1e21fe48
EZ
74142000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7415
7416 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7417 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7418 background-color, change also the colors of the default face for
7419 this frame.
7420
a640322e
EZ
74212000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7422
7423 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7424 them extern (they are defined on xfaces.c).
7425 (syms_of_msdos): Don't intern and don't staticpro
7426 Qbackground_color and Qforeground_color.
7427
a115794c
EZ
74282000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7429
7430 * frame.c (Fframe_parameter): For non-windowed frames, if
7431 f->param_alist says foreground or background color is unspecified,
7432 call tty_color_name to return the color name computed from the
7433 frame's current colors.
7434
f5533b63
DL
74352000-10-06 Dave Love <fx@gnu.org>
7436
7437 * terminfo.c (ospeed): Don't declare.
7438
7439 * sysdep.c: Don't include string.h.
7440 (h_errno): Declare conditional also on TRY_AGAIN.
7441
7442 * charset.c (Ffind_charset_string): Doc fix.
7443
52283633 7444 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7445 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7446 error messages.
7447
2b06561a
DL
74482000-10-05 Dave Love <fx@gnu.org>
7449
7450 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7451 position like menu-bar.
7452
ca839c85
GM
74532000-10-05 Gerd Moellmann <gerd@gnu.org>
7454
7455 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7456
7457 * xdisp.c (handle_single_display_prop): Use safe_call1.
7458 (safe_call): Renamed from call_function.
7459 (safe_call1): New function.
7460 (handle_fontified_prop): Use safe_call1 instead of call1.
7461 (safe_eval): Renamed from eval_form.
7462 (safe_eval_handler): Renamed from eval_handler.
7463 (handle_single_display_prop, display_mode_element): Use safe_eval
7464 instead of eval_form.
7465
7466 * xfaces.c (merge_face_heights): Use safe_call instead of
7467 call_function.
7468
7469 * keyboard.c (show_help_echo): Use safe_call instead of
7470 call_function; use safe_eval instead of eval_form.
7471
7472 * lisp.h (safe_call): Renamed from call_function.
7473 (safe_eval): Renamed from eval_form.
7474 (safe_call1): Add prototype.
7475
a3489ece
MB
74762000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7477
7478 * xfns.c (image_ascent): Rearrange ascent calculation for the
7479 has-a-font case.
7480
35810b6f
SM
74812000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7482
7483 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7484 (where_is_internal_1): Don't bother ignoring menu-items any more.
7485
3dc78168
GM
74862000-10-04 Gerd Moellmann <gerd@gnu.org>
7487
7488 * keyboard.c (update_menu_bindings): New variable.
7489 (parse_menu_item): Use AREF. If update_menu_bindings
7490 is 0, don't update menu bindings.
7491 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7492
1efc2bb9
EZ
74932000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7494
7495 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7496 to `mark_object'.
7497
3f679f55
SM
74982000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7499
7500 * syntax.c (forw_comment): Match nestedness of ender/starter.
7501 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7502 (prev_char_comstart_first): Remove.
7503 (back_comment): Check two-char comment markers more carefully
7504 to better handle overlapping cases like *//* or /* */* */ ...
7505 Match nestedness of ender/starter.
7506
2021ab61
DL
75072000-10-02 Dave Love <fx@gnu.org>
7508
7509 * config.in (HAVE_GAI_STRERROR): Add undef.
7510
7511 * process.c (Fopen_network_stream): Use it.
7512
7513 * m/alpha.h (NO_REMAP): Don't define.
7514
64e6cc18
GM
75152000-10-02 Gerd Moellmann <gerd@gnu.org>
7516
7517 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7518 return with a string converted to an integer or vice versa when
7519 Vmocklisp_arguments is t.
7520 (Fsignal): Likewise. The function can return for `quit'.
7521 (struct gcpro): Declare member `var' to point to a volatile
7522 Lisp_Object.
7523
7524 * eval.c (error): Prevent compiler warning.
7525
b1904cd9
SM
75262000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7527
7528 * keymap.c (keymap_memberp): New function.
7529 (Fset_keymap_parent): Use it.
7530 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7531 Use keymap_memberp to avoid creating cycles.
7532 (access_keymap): Use KEYMAPP.
7533
71c9ec51
GM
75342000-09-30 Gerd Moellmann <gerd@gnu.org>
7535
7536 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7537 gai_strerror. Make sure xerrno is set if connect fails. Improve
7538 error recovery.
71c9ec51 7539
c70c6b58
JR
75402000-09-29 Jason Rumney <jasonr@gnu.org>
7541
7542 * w32term.c (w32_char_font_type, w32_encode_char)
7543 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7544 (w32_bdf_per_char_metric): New function.
7545 (w32_per_char_metric): Use it.
7546 (x_draw_glyph_string_background): Always draw background for BDF
7547 glyphs.
7548
7549 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7550 GDI object which is a scarce resource.
7551
7552 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7553 (get_quoted_string): Fix limit on memchr search.
7554 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7555 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7556 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7557 (get_cached_font_char, cache_char_offset): Use macro
7558 BDF_CODEPOINT_RANGE_COVER_P.
7559 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7560 (clear_cached_bitmap_slots): New function.
7561 (GET_HEX_VALUE): G-Z, g-z are not hex.
7562 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7563 (get_bitmap_with_cache): Use new cache implementation.
7564 (create_offscreen_bitmap): New function.
7565 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7566
7567 * w32term.c (x_produce_glyphs): If the distance from the current
7568 position to the next tab stop is less than a canonical character
7569 width, use the tab stop after that.
7570 (x_draw_glyphs): Handle case START and END are out of bounds more
7571 carefully.
7572 (x_clear_mouse_face): Block/unblock input.
7573 (x_display_and_set_cursor): Don't show a hollow box cursor for
7574 buffers whose cursor_type is nil.
7575
fe01239f
GM
75762000-09-29 Gerd Moellmann <gerd@gnu.org>
7577
52283633 7578 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7579
7580 * dispextern.h (updating_frame): Declare extern.
7581
e7c52f1f
AS
75822000-09-29 Andreas Schwab <schwab@suse.de>
7583
7584 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7585
de6e1f7c
GM
75862000-09-29 Gerd Moellmann <gerd@gnu.org>
7587
25126faa
GM
7588 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7589 use its function definition.
7590 (tool_bar_items): Likewise.
7591
de6e1f7c 7592 * lisp.h (fatal): Declare NO_RETURN.
52283633 7593
454ee39b
KH
75942000-09-29 Kenichi Handa <handa@etl.go.jp>
7595
7596 * keymap.c: Remove the line "#undef NULL".
7597
96301c5f
GM
75982000-09-28 Gerd Moellmann <gerd@gnu.org>
7599
52283633 7600 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7601
efffeeb4
DL
76022000-09-28 Dave Love <fx@gnu.org>
7603
ecb8b666
DL
7604 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7605
dc3cd20f
DL
7606 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7607
7608 * .gdbinit (xreload): Note its need on GNU/Linux.
7609
efffeeb4
DL
7610 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7611 r_alloc, r_alloc_free.
7612
8610d903
KH
76132000-09-28 Kenichi Handa <handa@etl.go.jp>
7614
7615 * syntax.c (skip_chars): Handle negation correctly.
7616
8901d1ac
GM
76172000-09-27 Gerd Moellmann <gerd@gnu.org>
7618
6f22f1ad
GM
7619 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7620 with non-zero FORCE_P argument.
7621
52283633 7622 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7623 Add assertions.
7624
7625 * xdisp.c (window_box_height): Add an assertion.
7626
7627 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7628 tool-bar than is available.
7629 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7630
36f1966f
DL
76312000-09-27 Dave Love <fx@gnu.org>
7632
efffeeb4 7633 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7634
31d929e5
GM
76352000-09-26 Gerd Moellmann <gerd@gnu.org>
7636
c98863bf
GM
7637 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7638 instead of BITS_PER_INT.
7639 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7640 EMACS_UINT, respectively.
7641 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7642
7643 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7644
7645 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7646
77072ab1
GM
7647 * window.c (freeze_window_starts): Construct last argument for
7648 foreach_window differently.
7649
7650 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7651
7652 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7653 EMACS_UINT instead of `int' and `unsigned int'.
7654 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7655
7656 * frame.h (struct frame): Make the `nothing' member of union
7657 output_data an EMACS_INT.
7658
52283633 7659 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7660 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7661 size in the sdata structure.
7662 (SDATA_NBYTES, SDATA_DATA): New macros.
7663 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7664 differently for the different layout of the sdata structure.
7665 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7666 in sdata.
7667 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7668 Check that size recorded in the string size and size recorded in
7669 the sdata structure agree.
7670
3e60b029
DL
76712000-09-25 Dave Love <fx@gnu.org>
7672
7673 * buffer.c: Include stdio.h.
7674
7675 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7676
3e60b029
DL
7677 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7678
7679 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7680 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7681 (__malloc_extra_blocks): Declare as __malloc_size_t.
7682
8ff16b4e
GM
76832000-09-25 Gerd Moellmann <gerd@gnu.org>
7684
755a2ccd
GM
7685 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7686
d8b4516f
GM
7687 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7688 (read_char): If help-echo is showing, preserve the echo area
7689 when redisplaying.
7690
7691 * xdisp.c (help_echo_showing_p): New variable.
7692 (set_message): Reset it to 0.
7693 (init_xdisp): Initialize help_echo_showing_p.
7694
7695 * dispextern.h (help_echo_showing_p): Declare extern.
7696
7697 * config.in: Fix typo in __GNUC_MINOR__.
7698
7699 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7700
b11af2dd
GM
7701 * s/freebsd.h (POSIX_SIGNALS): Define.
7702
8ff16b4e
GM
7703 * xterm.c (x_clear_mouse_face): Block/unblock input.
7704
844eb643
DL
77052000-09-24 Dave Love <fx@gnu.org>
7706
7707 * fns.c (base64_encode_1): Fix last change.
7708
b30ab1b3
GM
77092000-09-22 Gerd Moellmann <gerd@gnu.org>
7710
7711 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7712
7713 * xdisp.c (try_window_reusing_current_matrix): More fixes
7714 for the case window has a header-line.
7715
c6cbe5f0
DL
77162000-09-22 Dave Love <fx@gnu.org>
7717
4c7c1f3f
DL
7718 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7719 a doc string.
7720
7721 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7722
c6cbe5f0
DL
7723 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7724
550a625e
GM
77252000-09-21 Gerd Moellmann <gerd@gnu.org>
7726
4c7c1f3f 7727 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7728 for GCC >= 2.5.
7729
52283633
SM
7730 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7731 Declare NO_RETURN.
fca99116 7732
80d26f99
GM
7733 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7734 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7735 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7736 warnings.
52283633 7737
80d26f99
GM
7738 * marker.c (byte_char_debug_check): Return void.
7739
623a0aae
GM
7740 * xfns.c (Fx_create_frame): Set default frame parameter value
7741 for tool-bar-lines to 1.
7742
7743 * dispnew.c (scrolling_window): Compare y-positions of rows
7744 equal at the start. Some simplification.
7745
7746 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7747 reused rows' y-position in the case window has a header-line, and
7748 new window start is greater than old window start.
7749
42ac0ae5
GM
7750 * process.c (process_sent_to): New variable.
7751 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7752 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7753 Declare more parameters volatile.
7754
550a625e
GM
7755 * lread.c (Vrecursive_load_depth_limit): New variable.
7756 (Fload): Check recursive loads whose recursion depth exceeds
7757 Vrecursive_load_depth_limit.
7758 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7759
8320414c
GM
77602000-09-20 Gerd Moellmann <gerd@gnu.org>
7761
f46c275e
GM
7762 * fileio.c (Fread_file_name): Doc fix.
7763
7764 * editfns.c (Fmessage_or_box): Doc fix.
7765
7766 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7767
b7e11c5b 7768 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7769
8320414c
GM
7770 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7771 symbols are specified, add color translations to the cache.
52283633 7772 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7773 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7774 xpm_cache_color.
7775 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7776 structures to xpm_init_color_cache.
7777
da1608d9
GM
77782000-09-19 Gerd Moellmann <gerd@gnu.org>
7779
52283633 7780 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7781
6badfa25
AI
77822000-09-19 Andrew Innes <andrewi@gnu.org>
7783
7784 * makefile.nt (bootstrap-emacs): Don't change directory.
7785
3a5f42bb
KH
77862000-09-19 Kenichi Handa <handa@etl.go.jp>
7787
1b7649bd
KH
7788 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7789
3a5f42bb
KH
7790 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7791 If output buffer is too small, signal an appropriated error.
7792
9f83cf0b
DL
77932000-09-18 Dave Love <fx@gnu.org>
7794
52283633 7795 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7796 (current_active_maps): Remove redundant get_local_map call.
7797
28c7826c
GM
77982000-09-18 Gerd Moellmann <gerd@gnu.org>
7799
5cefa566
GM
7800 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7801 cursor for buffers whose cursor_type is nil.
52283633 7802
6fed3546
GM
7803 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7804 a feature to implement that is already implemented.
7805 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7806 warnings.
7807
7808 * xfns.c (x_clear_image_1): New function.
7809 (x_clear_image): Use it.
52283633 7810 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7811
05b1f851
GM
7812 * dispnew.c (update_window): Move test for invisible lines
7813 at the top to update_window_line.
7814 (update_window_line): Handle invisible lines here.
7815
f4779de9
GM
7816 * xfns.c (clear_image_cache): Clear current matrices of all
7817 frames sharing an image cache. Block input while freeing
7818 images. Fix timestamp comparison.
7819 (x_clear_image): Also free the mask.
7820
28c7826c
GM
7821 * xfns.c (lookup_image): Block input while loading the image so
7822 that we won't get interrupted in a state where the image isn't yet
7823 set up completely.
7824 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7825 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7826 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7827 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7828
b7412313
GM
78292000-09-16 Gerd Moellmann <gerd@gnu.org>
7830
7831 * dispnew.c (update_window): Make sure to make desired rows
7832 current even if they are completely invisible at the top
7833 of a window.
7834
47e351a3
GM
78352000-09-15 Gerd Moellmann <gerd@gnu.org>
7836
7f8f1edc
GM
7837 * xfns.c (lookup_image): Build mask before applying an algorithm.
7838 Recognize algorithm `disabled'.
7839 (cross_disabled_images): New variable.
7840 (COLOR_INTENSITY): New macro.
7841 (x_detect_edges): Use COLOR_INTENSITY.
7842 (x_disable_image): New function.
7843 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7844
7845 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7846 disabled state, don't apply an image transformation algorithm if
7847 the user specified an image for the disabled state. Use
28c7826c 7848 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7849 user hasn't specified an image.
7850
ebb8f116
GM
7851 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7852 allocation functions with the XPM lib.
7853 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7854 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7855 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7856 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7857 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7858 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7859 functions, if possible, because these handle color allocation
7860 failure more gracefully.
7861 (Fimage_mask_p): New function.
7862
47e351a3
GM
7863 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7864 (Qedge_detection, Qheuristic): New symbols.
7865 (syms_of_xfns): Initialize new symbols.
7866 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7867 `algorithm (edge-detection ...)'.
7868 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7869 (tiff_format, gif_format, gs_format): Add `:mask'.
7870 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7871 (GIF_MASK, GS_MASK): New enumerators.
7872 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7873 (emboss_matrix, laplace_matrix): New variables.
7874 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7875 (x_edge_detection): New functions.
7876 (x_laplace): Rewritten in terms of x_detect_edges.
7877 (x_build_heuristic_mask): If image has a mask, free it.
7878
fe83b953
AI
78792000-09-14 Andrew Innes <andrewi@gnu.org>
7880
7881 * makefile.w32-in: Revert to Unix line endings.
7882
3021e816
AI
78832000-09-14 Andrew Innes <andrewi@gnu.org>
7884
7885 * makefile.w32-in: Standardize indentation somewhat.
7886 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7887 cater for differences between shells.
7888
7889 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7890
2a32b5ea
GM
78912000-09-14 Gerd Moellmann <gerd@gnu.org>
7892
7893 * xterm.c (x_produce_glyphs): If the distance from the current
7894 position to the next tab stop is less than a canonical character
7895 width, use the tab stop after that.
7896
b4331e96
DL
78972000-09-14 Dave Love <fx@gnu.org>
7898
7899 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7900
ef9e4345
GM
79012000-09-14 Gerd Moellmann <gerd@gnu.org>
7902
085536c2
GM
7903 * xdisp.c (handle_fontified_prop): While running fontification
7904 functions, bind `fontification-functions' and
7905 `after-change-functions' to nil.
7906
ef9e4345
GM
7907 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7908 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7909
7910 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7911
7912 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7913 USE_MMAP_FOR_BUFFERS.
7914
7915 * insdel.c (make_gap): Use enlarge_buffer_text.
7916
7917 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7918 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7919 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7920 from former r_alloc_* functions in ralloc.c.
52283633 7921 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7922 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7923 (mmap_init) [REL_ALLOC_MMAP]: New function.
7924 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7925 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7926 BUFFER_FREE.
7927
7928 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7929 (enlarge_buffer_text): Add prototype.
7930
7931 * ralloc.c: Remove everything having to do with the use of mmap.
7932
f8608968
GM
79332000-09-13 Gerd Moellmann <gerd@gnu.org>
7934
2a494b2d
GM
7935 * sound.c (Fplay_sound): Doc fix.
7936
8c907a56
GM
7937 * keyboard.c: Avoid some more compiler warnings.
7938 (parse_tool_bar_item): Ignore cached key bindings.
7939
f8608968
GM
7940 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7941 and allocation of Lisp data.
7942
6ab70e9a
GM
79432000-09-12 Gerd Moellmann <gerd@gnu.org>
7944
d12d0a9b
GM
7945 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7946 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7947 defaults first.
7948
6ab70e9a
GM
7949 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7950
63c36c3c
KH
79512000-09-12 Miyashita Hisashi <himi@meadowy.org>
7952
7953 * ccl.c: Comment fixed.
7954 (MAX_MAP_SET_LEVEL): Increased to 30.
7955 (PUSH_MAPPING_STACK): Enclose with do-while block.
7956 (POP_MAPPING_STACK): Likewise.
7957 (stack_idx_of_map_multiple): New variable.
7958 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7959 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7960 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7961 (ccl_driver) <CCL_MapSingle>: Likewise.
7962 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7963 with the case where looking up process reaches to the end of
7964 map-set, and call CCL programs as the above change.
7965
7ee3bd7b
GM
79662000-09-11 Gerd Moellmann <gerd@gnu.org>
7967
8ec8a5ec
GM
7968 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7969 that might be clobbered by longjmp.
7970 (check_x_display_info, x_decode_color, create_frame_xic)
7971 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7972 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7973
f74b0705
GM
7974 * lread.c (init_lread): Set Vloads_in_progress to nil.
7975 (Fload): Show list of recursively loaded files, when signaling an
7976 error.
7977
7ee3bd7b
GM
7978 * lread.c (Vloads_in_progress): New variable.
7979 (record_load_unwind): New function.
7980 (Fload): Check for recursive loads.
7981 (syms_of_lread): Initialize Vloads_in_progress.
7982 (read_integer, read1): Avoid some compiler warnings.
7983
7984 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7985 compiler warnings.
7986
974e1e5b
MB
79872000-09-11 Miles Bader <miles@gnu.org>
7988
7989 * editfns.c (Fbuffer_string): Doc fix.
7990
9824c4e3
GM
79912000-09-10 Gerd Moellmann <gerd@gnu.org>
7992
7993 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7994
6a72fdd1
KR
79952000-09-09 Ken Raeburn <raeburn@gnu.org>
7996
7997 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7998 whether to include other header files.
7999
28e6fb66
GM
80002000-09-09 Gerd Moellmann <gerd@gnu.org>
8001
52283633 8002 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8003 by Fmemq as a boolean.
28e6fb66 8004
7f8b6551
SM
80052000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8006
8007 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8008
a8710abf
GM
80092000-09-08 Gerd Moellmann <gerd@gnu.org>
8010
d1a02881
GM
8011 * ralloc.c (mmap_fd): Remove initializer which can make it
8012 read-only in a dumped Emacs.
8013 (mmap_fd_1): New variable.
8014 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8015 restore it from there.
8016 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8017 unconditionally so that mmap_fd can be initialized there.
8018 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8019 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8020 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8021
c454aac1
GM
8022 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8023
8024 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8025 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8026
fc653ef2
GM
8027 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8028
3015eec0
GM
8029 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8030 inheritance.
8031
bfe0ee88
GM
8032 * xdisp.c (try_window_id): When trying to locate cursor in
8033 unchanged rows at the top, handle the case that we can't find it.
8034
a8710abf
GM
8035 * xterm.c (x_draw_glyphs): Handle case START and END are out
8036 of bounds more carefully.
8037
6b7d4ae4
DL
80382000-09-08 Dave Love <fx@gnu.org>
8039
423193c5
DL
8040 * s/sol2.h (REL_ALLOC_MMAP): Define.
8041 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8042
8043 * ralloc.c: Don't include string.h (redundant).
8044 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8045 [!MAP_ANON]: Include fcntl.h.
8046 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8047 (r_alloc, r_re_alloc, r_alloc_free)
8048 (mmap_enlarge, mmap_set_vars): Use it.
8049 (r_alloc_init_fd): New function.
8050 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8051 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8052 malloc type.
8053
8054 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8055 Remove vm-limit.o.
8056
6b7d4ae4
DL
8057 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8058 change to __NetBSD__.
8059
44d31981
KH
80602000-09-08 Kenichi Handa <handa@etl.go.jp>
8061
8062 * search.c (compile_pattern): Check the multibyteness of cached
8063 string and PATTERN.
8064
aad40737
MB
80652000-09-08 Miles Bader <miles@gnu.org>
8066
8067 * xfaces.c (default_face_vector): Function removed.
8068 (Finternal_merge_in_global_face): Restore old global/local
8069 attribute override order. Use inline loop instead of calling
8070 default_face_vector.
8071
91a211b5
GM
80722000-09-07 Gerd Moellmann <gerd@gnu.org>
8073
8074 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8075 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8076 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8077 where necessary, in case POINTER_TYPE is `void'.
8078
03419440
EZ
80792000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8080
8081 * frame.c (make_terminal_frame): Initialize frame foreground and
8082 background colors to unspecified, for the initial instance of an
8083 MSDOS frame.
8084
f46f845b
GM
80852000-09-07 Gerd Moellmann <gerd@gnu.org>
8086
24f76fbf
GM
8087 * ralloc.c (mmap_find): Fix overlap computation.
8088 (mmap_enlarge): Compute nbytes before trying to find an
8089 overlapping region.
8090
f46f845b
GM
8091 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8092 instead of `!='.
8093
8094 * lread.c (syms_of_lread): Change value of regexp
8095 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8096
8097 * xmenu.c (xdialog_show): When looking up the selection in
8098 menu_items, take `quote' boundaries into account; this corresponds
8099 to a nil ITEM in x-popup-dialog.
8100
3c014385
KH
81012000-09-07 Kenichi Handa <handa@etl.go.jp>
8102
fd6f711b
KH
8103 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8104 not 0x81.
8105 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8106
3c014385 8107 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8108 encoding, not decoding. Fix the handling of latin-jisx0201.
8109 Check for the charset katakana-jisx0201 too.
3c014385 8110 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8111 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8112
0da3ecef
GM
81132000-09-07 Gerd Moellmann <gerd@gnu.org>
8114
ab0ee409
GM
8115 * xfaces.c (Vparam_value_alist): New variable.
8116 (syms_of_xfaces): Initialize it.
8117 (Finternal_set_lisp_face_attribute): Avoid more consing.
8118
8119 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8120 specially.
8121 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8122 (Qbackground_mode): New variable.
8123 (syms_of_frame_1): Initialize Qbackground_mode.
8124
8125 * lisp.h (Qdisplay): Declare extern.
1091dd67 8126
0da3ecef
GM
8127 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8128 change face on all frames, and change the default for new frames.
8129
b14654b9
DL
81302000-09-07 Dave Love <fx@gnu.org>
8131
8132 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8133
d24fd56f
KH
81342000-09-07 Kenichi Handa <handa@etl.go.jp>
8135
794f3670
KH
8136 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8137
0fddd0dc
KH
8138 * charset.c: Include composite.h
8139 (lisp_string_width): New function.
8140 (Fstring_width): Call lisp_string_width instead of strwidth.
8141
8142 * Makefile.in (charset.o): Depends on composite.h.
8143
d24fd56f
KH
8144 * process.c (read_process_output): Before inserting the decoded
8145 text in the buffer, adjust the multibyteness.
8146
fa0b693c
GM
81472000-09-06 Gerd Moellmann <gerd@gnu.org>
8148
52283633 8149 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8150 buffer's text buffer is null, map new memory.
8151
0a58f946
GM
8152 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8153 POINTER_TYPE and size_t.
8154 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8155 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8156 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8157 [REL_ALLOC_MMAP]: New macros.
8158 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8159 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8160 [REL_ALLOC_MMAP]: New functions.
8161
8162 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8163 before and after unexec.
8164
8165 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8166 text buffers if necessary.
8167
8168 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8169 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8170 in prototypes.
8171
fa0b693c
GM
8172 * config.in (HAVE_MMAP): Add #undef.
8173
877055f6
GM
81742000-09-05 Gerd Moellmann <gerd@gnu.org>
8175
08ba3862
GM
8176 * frame.c (Qdisplay_type): New variable.
8177 (syms_of_frame_1): Initialize it.
8178 (Fframe_parameter): New function that avoids consing.
8179 (syms_of_frame): Defsubr it.
8180
66ffe51c
GM
8181 * buffer.c (Fother_buffer): Consider buffers as invisible when
8182 they are displayed in a window on an invisible frame.
8183
877055f6
GM
8184 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8185 get-largest-window always return nil.
8186
bb970e67
GM
81872000-09-04 Gerd Moellmann <gerd@gnu.org>
8188
8189 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8190 variable; recognize Emacs 19 elc files.
8191
7a3d0e0e
MB
81922000-09-04 Miles Bader <miles@gnu.org>
8193
8194 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8195 before initially popping up the menu, so the menu doesn't flash
52283633 8196 when the face settings are significantly different from the defaults.
7a3d0e0e 8197
14473664
SM
81982000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8199
8200 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8201 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8202 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8203 (BIT_UNIBYTE): Remove.
8204 (re_match_2_internal): Delete corresponding code and streamline the
8205 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8206 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8207 (re_wctype_t): New type.
8208 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8209 (regex_compile): Use them and fix handling of overly long char classes.
8210
c1174479
AI
82112000-09-03 Andrew Innes <andrewi@gnu.org>
8212
f8803e97
AI
8213 * makefile.w32-in: Change to DOS line endings.
8214
c1174479
AI
8215 * s/ms-w32.h (ORDINARY_LINK): New define.
8216
8217 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8218 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8219
8220 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8221 (distclean): Delete them here instead.
8222
44ef7cf6
AI
8223 * w32proc.c (compare_env): Convert to uppercase for comparison,
8224 not lowercase, to match how the native Windows shell works.
8225
49b3bd82
JR
82262000-09-03 Jason Rumney <jasonr@gnu.org>
8227
8228 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8229 CVS changes the line-ends when checking in/out on DOS/Windows.
8230
8231 * makefile.nt (emacs): Do not change directory to run temacs, as
8232 the load-path is set relative to current directory.
8233
a3d35a39
MB
82342000-09-03 Miles Bader <miles@gnu.org>
8235
8236 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8237
d276b0cf
GM
82382000-09-02 Gerd Moellmann <gerd@gnu.org>
8239
715e84c9
GM
8240 * xdisp.c (redisplay_mode_lines): New function.
8241 (display_mode_lines): Return number of mode lines displayed.
8242 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8243 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8244
8892f40b
GM
8245 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8246 string.h and strings.h.
8247 (index) [HAVE_INDEX]: Add prototype.
8248
d276b0cf
GM
8249 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8250 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8251
8252 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8253 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8254
38404229
GM
82552000-09-01 Gerd Moellmann <gerd@gnu.org>
8256
8257 * lread.c (read1): Accept `?' as symbol constituent, for
8258 compatiblity with XEmacs.
8259
c0f9ea08
SM
82602000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8261
8262 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8263 (struct re_pattern_buffer): Remove newline_anchor.
8264 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8265 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8266 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8267 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8268 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8269 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8270 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8271 Get rid of references to newline_anchor.
8272 (regcomp): Allocate and precompute a fastmap.
8273
8c0f83fe
GM
82742000-08-31 Gerd Moellmann <gerd@gnu.org>
8275
8276 * lread.c (openp): GCPRO local variable `filename'.
8277
4bb91c68
SM
82782000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8279
8280 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8281
8282 * regex.c: Merge some changes from GNU libc. Add prototypes.
8283 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8284 Use memcmp and memcpy instead of bcopy and bcmp.
8285 (init_syntax_once): Use ISALNUM.
8286 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8287 (REG_UNSET_VALUE): Remove. Use NULL instead.
8288 (REG_UNSET, re_match_2_internal): Use NULL.
8289 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8290 New macros.
8291 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8292 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8293 (regex_compile): In handle_interval, return an error rather than try to
8294 unfetch the interval if we can't find the closing brace.
8295 Obey the RE_NO_GNU_OPS syntax bit.
8296 (TOLOWER): New macro.
8297 (regcomp): Use it.
8298 (regexec): Allocate regs.start and regs.end as one block.
8299
5226a931
GM
83002000-08-30 Gerd Moellmann <gerd@gnu.org>
8301
868dd24b
GM
8302 * xdisp.c (echo_area_display): Check display_completed instead
8303 of calling detect_input_pending.
8304
8305 * dispnew.c (update_frame): Only set display_completed here; move
8306 the update_begin and update_end calls here from update_frame_1.
8307 (update_frame_1): Don't set display_completed here, don't call
8308 update_begin/update_end.
8309
5226a931
GM
8310 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8311 instead of store_frame_param.
8312
2a8bd25f
GM
83132000-08-29 Gerd Moellmann <gerd@gnu.org>
8314
8315 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8316 desired window matrix hasn't been displayed, use the current row
8317 instead. Make sure that only those frame rows are updated for
8318 which there exists a corresponding enabled desired row.
52283633 8319
ba3478d9
MB
83202000-08-29 Miles Bader <miles@gnu.org>
8321
8322 * xfaces.c (default_face_vector): New function.
8323 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8324
87d0f685
GM
83252000-08-29 Gerd Moellmann <gerd@gnu.org>
8326
8327 * lread.c (openp): Prevent temporary string passed to
8328 Ffile_readable_p from being garbage collected.
8329
6fa86045
DL
83302000-08-28 Dave Love <fx@gnu.org>
8331
8332 * keymap.c (store_in_keymap): Add `static' to declaration.
8333
bb17930d
GM
83342000-08-28 Gerd Moellmann <gerd@gnu.org>
8335
8336 * emacs.c, callint.c, doc.c, editfns.c
8337 (toplevel) [HAVE_STRING_H]: Include string.h.
8338 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8339 (index): Remove prototypes which might conflict with non-standard
8340 definitions of index/strchr.
8341
8342 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8343 (rindex): Define only if !HAVE_RINDEX.
8344
8345 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8346
8347 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8348
87188200
MB
83492000-08-28 Miles Bader <miles@gnu.org>
8350
8351 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8352 made inconsistent by a font-related attribute in FROM.
8353 (merge_face_inheritance): Add function comment.
8354
41a68aef
KH
83552000-08-28 Kenichi Handa <handa@etl.go.jp>
8356
8357 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8358 the 4th arg (PREV_EVENT) Qt to suppress input method.
8359
f7c436c1
SM
83602000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8361
0b32bf0e
SM
8362 * regex.c: Indent cpp directives and remove parens after `defined'.
8363 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8364 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8365 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8366 (re_compile_pattern): Use size_t for length.
8367 (init_syntax_once): Move to a better place.
8368 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8369 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8370
f7c436c1
SM
8371 * syntax.c (back_comment): Detect cases where a comment-starter is
8372 actually inside another comment as in: /* a // b */ c // d \n.
8373 Make it clear that `comstart_pos' is unused for nested comments.
8374
8375 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8376 (KEYMAPP): New macro.
8377 (Fkeymap_parent, Fset_keymap_parent): Use it.
8378 (fix_submap_inheritance): Mark it static.
8379 (define_as_prefix, describe_buffer_bindings, describe_command)
8380 (describe_translation, describe_map): Complete prototypes.
8381
8382 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8383
8384 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8385 to better match the key-lookup behavior.
8386
6288c62f
GM
83872000-08-27 Gerd Moellmann <gerd@gnu.org>
8388
8389 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8390 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8391
e931344e
EZ
83922000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8393
8394 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8395 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8396 (xterm.o): Depend on coding.h
8397
d10dfeef
KH
83982000-08-26 Kenichi Handa <handa@etl.go.jp>
8399
8400 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8401 the corresponding '#endif'.
8402
2d73e8d3
MB
84032000-08-26 Miles Bader <miles@gnu.org>
8404
8405 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8406 * xfaces.c (QCinherit): New variable.
8407 (syms_of_xfaces): Initialize it.
8408 (LFACE_INHERIT): New macro.
8409 (Finternal_get_lisp_face_attribute)
52283633 8410 (merge_face_vector_with_property)
2d73e8d3
MB
8411 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8412 (check_lface_attrs): Allow new types of face height. Check
8413 inherit attribute.
8414 (CYCLE_CHECK): New macro.
8415 (merge_face_inheritance): New function.
8416 (merge_face_vectors): Merge inherited faces too. Add F and
8417 CYCLE_CHECK arguments.
8418 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8419 (lookup_named_face, lookup_derived_face, realize_named_face)
8420 (face_at_string_position, face_at_buffer_position): Supply
8421 new F and CYCLE_CHECK arguments to merge_face_vectors.
8422 (merge_face_heights): New function.
52283633 8423 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8424 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8425 handle relative face heights.
8426 (lface_same_font_attributes_p): Compare heights using EQ.
8427
6ce974d4
KH
84282000-08-26 Kenichi Handa <handa@etl.go.jp>
8429
8430 * charset.c (char_to_string): Check the character validity.
52283633 8431 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8432
dc1e502d
SM
84332000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8434
8435 * regex.c (PUSH_FAILURE_COUNT): New macro.
8436 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8437 Handle popping of a register's or a counter's data.
8438 (POP_FAILURE_POINT): Use the new name.
8439 (re_match_2_internal): Push counter data on the stack for succeed_n,
8440 jump_n and set_number_at and remove misleading dead code in succeed_n.
8441
bd9d0f3f
GM
84422000-08-25 Gerd Moellmann <gerd@gnu.org>
8443
8444 * xdisp.c (redisplay_internal): If considering all windows on all
8445 frames, update the display for each frame as soon as possible,
8446 instead of first building all desired matrices for all frames, and
8447 then updating them all.
8448 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8449
aa5b8e15
GM
84502000-08-24 Gerd Moellmann <gerd@gnu.org>
8451
17494071
GM
8452 * bytecode.c (mark_byte_stack): Add a comment.
8453
52283633
SM
8454 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8455 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8456 a graphical frame.
8457
c543db81
KH
84582000-08-24 Kenichi Handa <handa@etl.go.jp>
8459
d246d5f5
KH
8460 * minibuf.c (do_completion): Always use compare-string, not
8461 string-equal because the latter doesn't pay attention to
8462 multibyteness of strings.
8463
c543db81
KH
8464 * process.c (create_process): Don't setup raw-text coding here.
8465 (Fopen_network_stream): Don't set coding->src_multibyte and
8466 coding->dst_multibyte here.
8467 (read_process_output): For process filter, return unibyte string
8468 if default-enable-multibyte-characters is nil.
8469 (send_process): If OBJECT is multibyte text, be sure to encoded it
8470 by the specified coding system for the process. Otherwise, setup
8471 raw-text coding.
52283633 8472 (init_process): Don't initialize default-process-coding-system here.
c543db81 8473
9b47cfe0
EZ
84742000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8475
8476 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8477 <scroll-down-aggressively>: Likewise.
8478
f5a36960
KH
84792000-08-23 Kenichi Handa <handa@etl.go.jp>
8480
8481 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8482 zero. Set coding->produced_char correctly.
8483
69a7ffa7
AI
84842000-08-22 Andrew Innes <andrewi@gnu.org>
8485
8486 * makefile.w32-in: New file.
8487
8488 * unexw32.c (unexec): Ignore old_name, and use the actual location
8489 of the current executable instead. Base new_name on this.
8490
8491 * w32proc.c (create_child): Remove reference to security
8492 descriptor, which isn't needed and doesn't compile with mingw32.
8493
8494 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8495 up dllimport attributes.
8496 (x_update_window_end): Update prototype.
8497
8498 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8499 extern, which screws up dllimport attributes.
8500
8501 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8502 up dllimport attributes.
8503
8504 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8505 screws up dllimport attributes.
8506
8507 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8508 up dllimport attributes.
8509 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8510 screws up dllimport attributes.
8511
8512 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8513 up dllimport attributes.
8514
8515 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8516 screws up dllimport attributes.
8517
8518 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8519 screws up dllimport attributes.
8520
8521 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8522 up dllimport attributes.
8523
8524 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8525 unnecessary extern, which screws up dllimport attributes.
8526 (main): Ditto.
8527
8528 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8529 up dllimport attributes.
8530
8531 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8532 unnecessary extern, which screws up dllimport attributes.
8533
8534 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8535 screws up dllimport attributes.
8536
8537 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8538 up dllimport attributes.
8539
8540 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8541
52283633
SM
8542 * w32bdf.c (search_file_line):
8543 (set_bdf_font_info):
8544 (seek_char):
8545 (w32_get_bdf_glyph):
69a7ffa7
AI
8546 (w32_BDF_to_x_font): Fix compile warnings.
8547
52283633 8548 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8549
8550 * w32select.c: Include keyboard.h before frame.h.
8551
8552 * w32fns.c (max): Define macro.
8553 (JOHAB_CHARSET): Define if not known.
8554 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8555 (Fx_show_tip): Synch with X version.
8556
8557 * w32xfns.c: Include keyboard.h before frame.h.
8558
8559 * w32fns.c: Include keyboard.h before frame.h.
8560
8561 * w32term.c: Include keyboard.h before frame.h.
8562
8563 * fontset.c: Include keyboard.h before frame.h.
8564
8565 * w32inevt.c: Include keyboard.h before frame.h.
8566 (MOUSE_MOVED): Define if not known.
8567
8568 * minibuf.c: Include keyboard.h before frame.h.
8569
8570 * keyboard.c: Include keyboard.h before frame.h.
8571
8572 * indent.c: Include keyboard.h before frame.h.
8573
8574 * dispnew.c: Include keyboard.h before frame.h.
8575
8576 * buffer.c: Include keyboard.h before frame.h.
8577
8578 * alloc.c: Include keyboard.h before frame.h.
8579
8580 * print.c: Include keyboard.h before frame.h.
8581
8582 * process.c: Include keyboard.h before frame.h.
8583
8584 * scroll.c: Include keyboard.h before frame.h.
8585
8586 * sysdep.c: Include keyboard.h before frame.h.
8587
8588 * term.c: Include keyboard.h before frame.h.
8589
8590 * window.c: Include keyboard.h before frame.h.
8591
8592 * xdisp.c: Include keyboard.h before frame.h.
8593 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8594
8595 * frame.c: Include keyboard.h before frame.h.
8596
8597 * w32heap.h: Undefine min, max.
8598
8599 * w32gui.h: Undefine min, max.
8600
8601 * unexw32.c: Change PUCHAR to PCHAR.
8602 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8603 (relocate_offset):
8604 (get_section_info):
69a7ffa7
AI
8605 (copy_executable_and_dump_data): Remove unnecessary static defs.
8606 (copy_executable_and_dump_data): Fix compile warnings.
8607
8608 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8609
8610 * w32console.c (min): Define macro.
8611 (clear_frame, write_glyphs): Fix compile warning.
8612
52283633 8613 * w32proc.c (compare_env):
69a7ffa7
AI
8614 (find_child_console): Fix compile warning.
8615
8616 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8617 sys_errlist instead of _sys_errlist.
8618 (get_emacs_configuration_options): New function.
8619
8620 * s/ms-w32.h (sys_nerr): Provide default definition.
8621 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8622 name with _ prepended.
8623 (NSIG): Define if not known.
8624 (get_emacs_configuration): Provide extern declaration.
8625 (get_emacs_configuration_options): Provide extern declaration.
8626 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8627
8628 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8629 (map_w32_filename):
69a7ffa7
AI
8630 (read_unc_volume): Fix compile warning.
8631
8632 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8633 definitions from being used.
8634
8635 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8636
52283633 8637 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8638 (open_unc_volume): Make arg const.
8639
8640 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8641 (read_input_waiting): Remove excess parameter.
8642
8643 * w32.c (init_environment): Call _access.
8644 (check_windows_init_file): Call _close.
8645 (init_user_info): Call _putenv.
8646 (init_environment): Call _putenv and _strdup.
8647 (init_ntproc): Reset volume info cache on startup.
8648
8649 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8650 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8651 cannot override the CRT malloc.
8652
8653 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8654 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8655
8656 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8657 unless we are linking with a static CRT.
8658 (RVA_TO_PTR): Cast result to unsigned char*.
8659
8660 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8661 (add_volume_info): Use xstrdup.
8662
25060080
SM
86632000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8664
8665 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8666 (do_completion, Fminibuffer_complete_word): Use it.
8667 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8668 var so it can take non-boolean values.
8669
6917e6bb
GM
86702000-08-21 Gerd Moellmann <gerd@gnu.org>
8671
acb7cc89 8672 * editfns.c (find_field): Formatting changes.
52283633 8673 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8674 changed to prototypes, some new protypes added, some functions
8675 made static.
8676
8677 * lisp.h (set_time_zone_rule): Add prototype.
8678 (use_dialog_box): External declaration.
8679
0bbfdc25
GM
8680 * keyboard.c (gen_help_event): Add parameter SIZE.
8681 (kbd_buffer_events_waiting): Slightly rewritten.
8682 (clear_event): New function.
8683 (kbd_buffer_get_event): Use it, and clear the input_events of
8684 HELP_EVENTs.
8685 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8686 don't fill the newly created array with nils.
8687 (toplevel): Convert some old-style function forward declarations
8688 to prototypes.
8689
8690 * keyboard.h (gen_help_event): Change prototype.
8691
8692 * xterm.c (XTread_socket): Change calls to gen_help_event.
8693
8694 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8695
6917e6bb
GM
8696 * eval.c (Fmacroexpand): Doc fix.
8697
e5cd3d11
JR
86982000-08-20 Jason Rumney <jasonr@gnu.org>
8699
8700 * w32term.h (x_display_info_for_display): Remove as this function
8701 does not exist on W32.
8702
8703 * w32term.c (help_echo_window): New variable.
8704 (syms_of_w32term): staticpro it.
8705 (note_mode_line_highlight): Set it.
8706 (XTextExtents16): Removed as there is no equivalent on W32.
8707 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8708 the X way of doing this will not work for W32.
8709 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8710 (x_draw_image_foreground): Avoid drawing outside of the clip area
8711 when image doesn't have a mask.
8712 (note_mouse_highlight): Process overlays in the right order of
8713 priority. Set help_echo_window.
8714 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8715 because that's more visible for large images.
8716
8717 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8718 name to single_keymap_panes.
8719 (w32_menu_show): Set wv->title when dealing with titles.
8720 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8721
6e69ab8c
MB
87222000-08-21 Miles Bader <miles@gnu.org>
8723
8724 * minibuf.c (do_completion): Try again if we rewrite the input
8725 string, but no completion was done, so that any completion message
8726 will be correct.
8727
511bd4eb
GM
87282000-08-20 Gerd Moellmann <gerd@gnu.org>
8729
8730 * xfaces.c (lface_equal_p): Compare strings differently.
8731 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8732 (realize_tty_face): Use them.
8733 (syms_of_xfaces): Initialize new variables.
8734 (map_tty_color): New function, extracted from realize_tty_face.
8735 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8736 foreground or background color, store the new color name in the
8737 realized face; previous code trying to do this had no effect.
8738 (realize_tty_face): Use map_tty_color.
8739 (Fclear_face_cache): Set face_change_count and ensure thorough
8740 redisplay.
8741
1433385f
GM
87422000-08-19 Gerd Moellmann <gerd@gnu.org>
8743
511bd4eb
GM
8744 * undo.c (record_first_change, record_marker_adjustment): Don't
8745 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8746
419ac0a2
KH
87472000-08-18 Kenichi Handa <handa@etl.go.jp>
8748
8749 * coding.c (decode_coding_string): Set members consumed,
8750 consumed_char, produced, produced_char of *coding correctly. If
8751 decode_coding doesn't consume any byte, don't try anymore.
8752 (encode_coding_string): Likewise.
8753
7eb9e30d
GM
87542000-08-18 Gerd Moellmann <gerd@gnu.org>
8755
511bd4eb
GM
8756 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8757 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8758
8759 * xdisp.c (redisplay_internal): Compare windows for equality with
8760 EQ, instead of applying XWINDOW to something that might not
8761 be a window.
52283633 8762
dd34a735
KH
87632000-08-18 Kenichi Handa <handa@etl.go.jp>
8764
8765 * fontset.c (Finternal_char_font): Search only the selected frame
8766 for a window of the current buffer.
8767
385ff9e3
GM
87682000-08-18 Gerd Moellmann <gerd@gnu.org>
8769
511bd4eb 8770 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8771 Lisp_Objects.
8772
385ff9e3
GM
8773 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8774 second half of a HELP_EVENT is found at the start of kbd_buffer.
8775
d6abb4c7
MB
87762000-08-18 Miles Bader <miles@gnu.org>
8777
4618074a
MB
8778 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8779
d6abb4c7
MB
8780 * editfns.c (save_restriction_save): Rewrite to use markers.
8781 (save_restriction_restore): Rewrite to understand new form of data
8782 saved by save_restriction_save.
8783 (Fsave_restriction): Remove cautionary note in doc-string.
8784
a7b28523
GM
87852000-08-17 Gerd Moellmann <gerd@gnu.org>
8786
8787 * fileio.c (build_annotations): Add a comment explaining the
8788 return value of format-annotate-function. Replace a spurious call
8789 to Flength with a CONSP test. Call format-annotate-function with
8790 a fifth arg specifying how many times the function is been called
8791 in a row, to let it choose temporary buffers appropriately.
8792
03c9ed77
DL
87932000-08-17 Dave Love <fx@gnu.org>
8794
8795 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8796 declare make_temp_name twice.
8797
52283633 8798 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8799 (unreadpure): Give it an arg.
8800
8801 * unexalpha.c: Prototype fatal_unexec, mark_x,
8802 update_dynamic_symbols. Declare unexec as void.
8803
8804 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8805 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8806
8807 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8808 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8809
8810 * alloca.c: Use #error.
8811 [POINTER_TYPE]: Use it.
8812
8813 * eval.c (Fdefvar): Doc fix.
8814
8815 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8816 INITIALIZE_INTERVAL.
8817
8818 * buffer.h: Avoid DECLARE_INTERVALS.
8819
8820 * config.in: Add size_t.
8821
aae41d97
EZ
88222000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8823
8824 * w16select.c (set_clipboard_data): If there's not enough memory
8825 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8826 expects. In case of other failures, return 3.
8827 (system_error_msg): New error message.
8828 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8829 system_error_msg.
8830
65aa5e85
GM
88312000-08-16 Gerd Moellmann <gerd@gnu.org>
8832
8833 * term.c (write_glyphs): Also turn off inverse video after turning
8834 off other appearances in case TS_exit_attribute_mode is not equal
8835 to TS_end_standout_mode.
8836 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8837 with the same face.
8838 (turn_off_face): Reset standout_mode only if
8839 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8840 is equal to TS_end_standout_mode.
8841
ece23901
KH
88422000-08-16 Kenichi Handa <handa@etl.go.jp>
8843
9d7bcb2e
KH
8844 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8845 sequence at the end of the source block.
8846
ece23901
KH
8847 * ccl.c (Fccl_program_p): Docstring modified.
8848 (Fccl_execute): Likewise.
8849 (Fccl_execute_on_string): Likewise.
8850
5e30eaa2
EZ
88512000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8852
8853 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8854
290602fd
KH
88552000-08-16 Kenichi Handa <handa@etl.go.jp>
8856
8857 The following changes are mainly to fix bugs of
8858 encode/decode-coding-string failing if encoding/decoding return
8859 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8860 variable conversion_buffer.
8861
8862 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8863 decrement dst_end to avoid buffer overflow in the later call of
8864 string_as_multibyte
8865
8866 * coding.h (conversion_buffer_size, conversion_buffer)
8867 (get_conversion_buffer): Extern deleted.
8868
8869 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8870 (conversion_buffer, conversion_buffer_size): Variables deleted.
8871 (get_conversion_buffer): Function deleted.
8872 (struct conversion_buffer): New structure.
8873 (MAX_ALLOCA): New macro.
8874 (allocate_conversion_buffer): New macro.
8875 (extend_conversion_buffer, free_conversion_buffer): New functions.
8876 (ccl_coding_driver): Set coding->result.
8877 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8878 this is the last block of source.
8879 (encode_coding): Likewise. Handle the source block as the last
8880 one only when the whole source text is consumed.
8881 (decode_coding_string): Handle the case that the output buffer is
8882 too small to decode the whole source text. Use
8883 allocate_conversion_buffer, extend_conversion_buffer and
8884 free_conversion_buffer, not get_conversion_buffer.
8885 (encode_coding_string): Likewise.
8886 (init_coding): Function deleted.
52283633 8887 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8888
8889 * emacs.c (main): Don't call init_coding.
8890
52283633 8891 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8892
8893 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8894 (insert_glyphs): Likewise.
8895
8896 * w32console.c (write_glyphs): Use a locally declared
8897 conversion_buffer.
8898
b9f80d41
EZ
88992000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8900
8901 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8902 member of display_info is NULL.
8903
32dc52f7
GM
89042000-08-15 Gerd Moellmann <gerd@gnu.org>
8905
52283633 8906 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8907
32dc52f7 8908 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8909 appearances with capability `me'.
32dc52f7
GM
8910 (write_glyphs): Switch on inverse video before each face change.
8911
4eb22d33
DL
89122000-08-14 Dave Love <fx@gnu.org>
8913
8914 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8915 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8916 (lisp_free): Declare and make static.
8917
8918 * window.c: Fix embedded comment.
8919 (syms_of_window): Fix doc string.
8920
90cbf47e
GM
89212000-08-14 Gerd Moellmann <gerd@gnu.org>
8922
52283633 8923 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8924 make sure to print `C-' before `M-', like in the manual.
8925
440fc135
GM
89262000-08-11 Gerd Moellmann <gerd@gnu.org>
8927
8928 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8929 since they aren't relocated anymore.
52283633 8930 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8931
8932 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8933 partially visible line which is smaller than the window's height.
440fc135 8934
6e264fad
KH
89352000-08-11 Kenichi Handa <handa@etl.go.jp>
8936
8937 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8938 the multibyte form of eight-bit-control characters.
6e264fad
KH
8939 (Fccl_execute_on_string): Initialize ccl->multibyte.
8940
8941 * ccl.h (struct ccl_program): New member multibyte.
8942
8943 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8944
c371f69a
KH
89452000-08-11 Kenichi Handa <handa@etl.go.jp>
8946
8947 * regex.c (regex_compile) <normal_char>: Pay attention to
8948 multibyteness.
8949 (analyse_first) <exactn>: Setup fastmap correctly for
8950 eight-bit-control characters.
8951
89522000-08-11 Kenichi Handa <handa@etl.go.jp>
8953
52283633 8954 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8955
8956 * keyboard.c (make_lispy_event): Handle the new event type
8957 multibyte_char_keystroke.
8958
8959 * xterm.c: Include coding.h.
8960 (XTread_socket): Work around a bug of XmbLookupString. If the
8961 input is from XIM, decode it according to the current locale. In
8962 that case, generate multibyte_char_keystroke events.
8963
b8ddbe71
KH
89642000-08-11 Kenichi Handa <handa@etl.go.jp>
8965
8966 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8967 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8968
47589c8c
GM
89692000-08-10 Gerd Moellmann <gerd@gnu.org>
8970
8971 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8972 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8973 (move_it_in_display_line_to): Record iterator's ascent and descent
8974 before producing glyphs, and restore them when we know the glyph
8975 doesn't fit on the line.
8976 (move_it_to): Restructured so that it's easier to debug. If
8977 moving to a vpos, and not moving to an x or character position,
8978 stop as soon as the specified vpos is reached; don't move further
8979 into that line because that might change the computed line height.
8980 (try_cursor_movement): New function, extracted from the cursor
8981 movement branch of redisplay_window. If ending on a partially
8982 visible line, don't try to scroll if the cursor line is taller
8983 than the window.
8984 (redisplay_window): Use try_cursor_movement.
8985
8986 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8987 because that function doesn't cope with variable-height lines.
8988
8989 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8990 box cursor because that's better visible for large images.
52283633 8991
c51bacd6
MB
89922000-08-10 Miles Bader <miles@gnu.org>
8993
8994 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8995
bea56df7
GM
89962000-08-10 Gerd Moellmann <gerd@gnu.org>
8997
8998 * xdisp.c (Vmessages_buffer_name): New variable.
8999 (message_dolog): Use it.
9000 (syms_of_xdisp): Initialize it.
9001
99cd7364
EZ
90022000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9003
52283633 9004 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9005 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9006 redundant now that keyboard.h is included.
9007
7d093d56
EZ
90082000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9009
9010 * keyboard.c (kbd_buffer_events_waiting): New function.
9011
9012 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9013
9014 * msdos.c: Include keyboard.h.
9015 (XMenuActivate): Empty no_event events from the event buffer. If
9016 no events are left after that, call clear_input_pending.
9017 (mouse_clear_clicks): New function, code moved from mouse_init.
9018 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9019 mouse driver to ``forget'' any past clicks.
9020
9021 * Makefile.in (msdos.o): Depend on keyboard.h.
9022
41e757a6
GM
90232000-08-09 Gerd Moellmann <gerd@gnu.org>
9024
8e7bd231
GM
9025 * lisp.h (input_pending): External declaration.
9026
9027 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9028
8e7bd231
GM
9029 * xdisp.c (echo_area_display): Display thoroughly if input is
9030 pending. Bind redisplay-dont-pause to t during the redisplay.
9031 in case input is pending.
9032
9033 * dispnew.c (Qredisplay_dont_pause): New variable.
9034 (syms_of_display): Initialize and staticpro it.
9035 (update_frame_1): Don't interrupt the display for pending input if
9036 redisplay_dont_pause is set.
52283633 9037
43028b7e
GM
9038 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9039
41e757a6
GM
9040 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9041
2f2174fa
KH
90422000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9043
9044 * callproc.c (Fcall_process): Terminate the unwind-protect around
9045 the post-read-conversion of coding system.
9046
0a6fd67e
MB
9047 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9048 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9049 * buffer.h (overlays_at): Update prototype.
9050 * xdisp.c (next_overlay_change): Update call to overlays_at.
9051 * xfaces.c (face_at_buffer_position): Likewise.
9052 * textprop.c (Fget_char_property): Likewise.
9053 * xterm.c (note_mouse_highlight): Likewise.
9054
0c80756e
MB
9055 * minibuf.c (do_completion): Don't consider a simple change of
9056 case as `completion'.
9057
975f250a
KR
90582000-08-08 Ken Raeburn <raeburn@gnu.org>
9059
52283633 9060 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9061 * undo.c (record_delete): Make sure last_point_position_buffer is
9062 a buffer before comparing pointers.
9063
9064 * coding.h (decode_coding_string): Declare.
9065
9066 * intervals.h (Fprevious_single_char_property_change): Declare.
9067
9068 * textprop.c (Fprevious_single_char_property_change): Don't do
9069 arithmetic directly on lisp objects.
9070
52283633 9071 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9072
9073 * keyboard.h (menu_item_eval_property): Declare.
9074
9075 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9076 reuse as buffer name, instead of recreating (and discarding) every
9077 time a message is logged.
9078 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9079 (current_message_1, truncate_message_1, set_message_1)
9080 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9081 (current_message, truncate_echo_area, display_echo_area)
9082 (resize_echo_area_axactly): Changed calls.
b347b3fd 9083
975f250a 9084 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9085 Lisp object.
975f250a 9086 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9087 must be an integer, not a Lisp object.
975f250a 9088
46dc9912
KH
90892000-08-08 Kenichi Handa <handa@etl.go.jp>
9090
9091 * charset.c (Fchar_width): Doc fix.
9092
9f6d1a6c
GM
90932000-08-08 Gerd Moellmann <gerd@gnu.org>
9094
9095 * charset.c (Fstring_width): Doc fix.
9096
ff3d9573
GM
90972000-08-07 Gerd Moellmann <gerd@gnu.org>
9098
41e757a6 9099 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9100 line, clear ascent and descent members of the iterator structure;
9101 the height of the continued line does not affect the height of the
9102 continuation line.
9103 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9104 line taller than the window.
9105 (redisplay_window) <forced window start>: Handle case that the
9106 middle of the window is not found in any row.
9107 (dump_glyph_row): Show more information.
9108 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9109 first text line in a glyph matrix.
9110
9111 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9112 of the clip area when image doesn't have a mask.
9113
70fc58b3
GM
9114 * fns.c (sweep_weak_table): Fix survival conditions for
9115 key-or-value and key-and-value weakness.
9116
9117 * .gdbinit (xhashtable): New command.
9118
ac0e96ee
GM
9119 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9120 tables out of the list of all weak hash tables.
9121
ff3d9573
GM
9122 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9123 a new buffer is created, make sure echo_area_buffer[] references
9124 the new buffer.
9125
e0d8827b
EZ
91262000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9127
9128 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9129 the doc string.
9130
c6f35378
KH
91312000-08-07 Kenichi Handa <handa@etl.go.jp>
9132
9133 * syntax.c (skip_chars): Fix previous change. Make the handling
9134 of unibyte string consistent with that of regex search.
9135
1fd4c450
GM
91362000-08-05 Gerd Moellmann <gerd@gnu.org>
9137
e49aa397
GM
9138 * xmenu.c (popup_get_selection): Use xfree instead of free.
9139
9140 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9141
9142 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9143
9144 * callproc.c (child_setup): Use xfree instead of free.
9145
9146 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9147 instead of malloc.
9148 (run_mac_command, closedir): Use `xfree' instead of `free'.
9149
9150 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9151
9152 * eval.c (error): Use xfree instead of free.
9153
1fd4c450
GM
9154 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9155
9156 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9157 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9158
82d497fc
KH
91592000-08-05 Kenichi Handa <handa@etl.go.jp>
9160
9161 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9162 conversion.
9163
59f953a2
NF
91642000-08-04 Noah Friedman <friedman@splode.com>
9165
9166 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9167 docstring.
9168
688351f2
GM
91692000-08-04 Gerd Moellmann <gerd@gnu.org>
9170
9171 * syntax.c (skip_chars): Fix typo in error message.
9172
2dad51cc
AS
91732000-08-04 Andreas Schwab <schwab@suse.de>
9174
9175 * m/ia64.h: Moved from s/ia64.h.
9176
99bb2c60
KH
91772000-08-04 Kenichi Handa <handa@etl.go.jp>
9178
082a1df2
KH
9179 * process.c (read_process_output): Big simplification. Handle
9180 composition and post-read-conversion of coding system correctly.
9181 (send_process): Handle composition correctly.
9182
9183 * callproc.c (Fcall_process): Handle post-read-conversion of
9184 coding system if any.
9185
99bb2c60
KH
9186 * coding.c (decode_coding_iso2022): More strict check for handling
9187 single shifting.
082a1df2
KH
9188 (coding_restore_composition): Pay attention to the case that
9189 cmp_data is not set properly (because of invalid code in the
9190 source text).
9191 (run_pre_post_conversion_on_str): Include text properties in the
9192 resulting string.
9193 (decode_coding_string): Set members of coding correctly.
99bb2c60 9194
f4988be7
GM
91952000-08-03 Gerd Moellmann <gerd@gnu.org>
9196
9197 * s/ia64.h: New file.
9198
9199 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9200 Use NULL instead of 0 at the end of variable argument list of
9201 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9202 sizeof (int) < sizeof (void *).
9203
9204 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9205 of variable argument lists of XtVaGetValues and XtVaSetValues.
9206
9207 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9208 variable argument lists of XtVaGetValues and XtVaSetValues.
9209
ead53494
GM
92102000-08-02 Gerd Moellmann <gerd@gnu.org>
9211
9212 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9213 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9214
9215 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9216 prototype.
9217
9218 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9219 in call to Fsingle_key_description.
9220
9221 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9222 Callers changed.
9223
92242000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9225
9226 * window.c (display_buffer_reuse_frames): New variable.
9227 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9228 frames displaying BUFFER.
52283633 9229 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9230
10b0f752
MB
92312000-08-01 Miles Bader <miles@gnu.org>
9232
9233 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9234 when to constrain NEW_POS (they were pretty screwed up before).
9235
16425c4a
EZ
92362000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9237
9238 * msdos.c (run_msdos_command): Save and restore the master
9239 environment, for the case that child_setup signals an error.
9240 When mirroring slashes in DOS shell commands, don't fail when
9241 argv[2] has embedded blanks.
da288c14
EZ
9242 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9243 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9244 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9245
9246 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9247 using alloca; free it after run_msdos_command returns.
9248
27f73852
DL
92492000-07-27 Dave Love <fx@gnu.org>
9250
52283633
SM
9251 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9252 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9253
9254 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9255
c0261b5e
EZ
92562000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9257
9258 * editfns.c (lisp_time_argument): Fix last change.
9259
b548072f
GM
92602000-07-27 Gerd Moellmann <gerd@gnu.org>
9261
3ab82477
GM
9262 * fns.c (Fdelete): Make it work on vectors and strings in addition
9263 to lists.
9264
b548072f
GM
9265 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9266 (syms_of_fns): Initialize new variables.
52283633 9267 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9268 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9269 weakness, with t meaning the same as `key-and-value'.
9270
91ae8751
KH
92712000-07-27 Kenichi Handa <handa@etl.go.jp>
9272
9273 * coding.h (struct coding_system): Member safe_charset deleted.
9274
9275 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9276 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9277 New variables.
91ae8751
KH
9278 (coding_safe_chars): New function.
9279 (CODING_SAFE_CHAR_P): New macro.
9280 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9281 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9282 (detect_coding_iso2022): New local variable safe_chars.
9283 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9284 safe_charsets member of the coding system.
9285 (decode_coding_iso2022): New local variable safe_chars.
9286 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9287 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9288 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9289 (ENCODE_UNSAFE_CHARACTER): New macro.
9290 (encode_coding_iso2022): New local variable safe_chars. Check
9291 unsafe chars.
9292 (setup_coding_system): Delete the code to initialize
9293 coding->safe_charses
9294 (intersection, find_safe_codings): New functions.
9295 (Ffind_coding_systems_region_internal): New function.
9296 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9297 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9298 variable and initialize it.
9299
9300 * fns.c (char_table_ref_and_index): New function.
9301
9302 * lisp.h (char_table_ref_and_index): Add prototype.
9303
34a7a267
SS
93042000-07-26 Sam Steingold <sds@gnu.org>
9305
9306 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9307 (Ffloat_time): New built-in Lisp function.
34a7a267 9308
a95cb10a
GM
93092000-07-26 Gerd Moellmann <gerd@gnu.org>
9310
3353ef5a
GM
9311 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9312 for the character code.
9313
9314 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9315 GNU/Linux.
9316
a95cb10a
GM
9317 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9318 if called for a popup menu.
9319 (xmenu_show): Store help string in widget values.
9320
b4a12321
DL
93212000-07-26 Dave Love <fx@gnu.org>
9322
9323 * syswait.h: Move some definitions.
9324 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9325 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9326 perspicuous definitions.
9327 (WTERMSIG): Fix bit pattern used.
9328
13f5ad37
KH
93292000-07-26 Kenichi Handa <handa@etl.go.jp>
9330
9331 * print.c (print_object): If vector printing is truncated, print
9332 "..." to indicate it as well as the case of list printing.
9333
070fe99c
GM
93342000-07-25 Gerd Moellmann <gerd@gnu.org>
9335
969065c3
GM
9336 * xdisp.c (next_element_from_display_vector): Improve comments.
9337
9338 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9339 for the character code, and the rest for the face id as in 20.x.
9340 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9341
9342 * window.c (window_display_table): Cleaned up.
9343
070fe99c
GM
9344 * syntax.c (Fforward_word): Add last arg nil in call of
9345 Fconstrain_to_field.
9346
bad77ef7
EZ
93472000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9348
969065c3 9349 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9350 identical but for the letter-case, don't call
9351 barf_or_query_if_file_exists.
bad77ef7 9352
c28da489
MB
93532000-07-25 Miles Bader <miles@gnu.org>
9354
9355 * editfns.c (find_field): Honor special `boundary' fields.
9356 (Qboundary): New variables.
9357 (syms_of_editfns): Initialize Qboundary.
9358 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9359 Use scan_buffer instead of find_before_next_newline, because it
9360 allows us to detect the boundary case where there's a newline at
9361 the search limit.
9362 * lisp.h (Fconstrain_to_field): Update external declaration.
9363
e3c31fd5
GM
93642000-07-24 Gerd Moellmann <gerd@gnu.org>
9365
9366 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9367 if that is nil.
c28da489 9368
c66c29a2
DL
93692000-07-24 Dave Love <fx@gnu.org>
9370
9371 * s/sunos4-0.h, s/sol2.h:
9372 (LIBS_TERMCAP): Move from m/sparc.h.
9373
9374 * m/sparc.h (TERMINFO): Moved to system files (probably only
9375 relevant for sunos4 judging by its vintage).
9376 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9377 __arch64__.
9378
fbe0a958
EZ
93792000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9380
9381 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9382 name to single_keymap_panes.
9383
7d88e5c9
AS
93842000-07-24 Andreas Schwab <schwab@suse.de>
9385
9386 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9387
e024b101
GM
93882000-07-24 Gerd Moellmann <gerd@gnu.org>
9389
9390 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9391 parameters instead of using int parameters. Expect FN to accept
9392 EMACS_INT parameters.
9393 (display_echo_area, resize_echo_area_axactly, current_message)
9394 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9395 with new argument list.
9396 (resize_mini_window_1): New callback function.
9397 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9398 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9399
25c1a9ce
KH
94002000-07-24 Kenichi Handa <handa@etl.go.jp>
9401
9402 * fontset.c (fontset_ref): Remove INLINE declaration.
9403 (fontset_ref_via_base): Likewise.
9404 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9405 to downcase.
9406
7f987ac0
EZ
94072000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9408
9409 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9410 correct order of priority. If help echo was found in an overlay,
9411 use that overlay as the object in which the help echo was found.
9412
e2db3069
MB
94132000-07-22 Miles Bader <miles@gnu.org>
9414
9415 * textprop.c (Fprevious_single_char_property_change): The initial
9416 property value should be from the position preceding POSITION, not
9417 following it.
9418
5e3203e4
EZ
94192000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9420
9421 * coding.c (syms_of_coding): Doc fix for
9422 inhibit-iso-escape-detection.
9423
62145073
GM
94242000-07-21 Gerd Moellmann <gerd@gnu.org>
9425
c20aeb83
GM
9426 * xterm.c (note_mouse_highlight): Process overlays in the right
9427 order of priority.
34a7a267 9428
743934db
GM
9429 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9430
9431 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9432 overlay, use that overlay as the object in which the help was found.
743934db 9433
d1dc7e43 9434 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9435
62145073
GM
9436 * window.c (foreach_window): Instead of a fake variable argument
9437 list, take one USER_DATA argument.
9438 (foreach_window_1): Likewise, and call callback functions with two
9439 args, the window and USER_DATA.
9440 (struct check_window_data): New struct.
9441 (check_window_containing): Use it.
9442 (window_from_coordinates): Set up a struct check_window_data for
9443 foreach_window.
9444 (add_window_to_list, freeze_window_start): Change parameters
9445 according to new calling convention.
9446
9447 * window.h (foreach_window): Change prototype.
9448
9449 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9450
94512000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9452
9453 * xmenu.c (menu_help_callback): Call show_help_echo with
9454 additional arguments OBJECT and POS.
9455
11270583
KH
94562000-07-21 Kenichi Handa <handa@etl.go.jp>
9457
07b14857
KH
9458 * data.c (Faset): Allow storing any multibyte character in a
9459 string. Convert unibyte string to multibyte if necessary.
9460
11270583
KH
9461 * xfns.c (x_encode_text): New function.
9462 (x_set_name): Use x_encode_text.
9463 (x_set_title): Likewise.
9464
9465 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9466
9467 * xterm.h (x_encode_text): Add prototype.
9468
bc75b4fd
DL
94692000-07-20 Dave Love <fx@gnu.org>
9470
9471 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9472 xfree, not free.
9473
48c14970
EZ
94742000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9475
9476 * msdos.c (help_echo_window): New variable.
9477 (syms_of_msdos): Initialize and staticpro it.
9478 (IT_note_mode_line_highlight): Set help_echo_window.
9479 (IT_note_mouse_highlight): Ditto.
9480 (dos_rawgetc): Store help_echo_window in the second event produced
9481 for HELP_EVENTs.
9482
9483 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9484 Record the object that generated the help echo and the position of
9485 that object in help_echo_object and help_echo_pos. Record that
9486 some glyphs in a row are displayed in mouse-face.
9487 (IT_update_begin): Don't clear mouse highlight unless one of the
9488 enabled glyph rows is marked as being displayed in mouse-face.
9489 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9490 and position recorded in help_echo_object and help_echo_pos to the
9491 event queue.
9492 (IT_menu_display): Accept a new argument PN: the pane number of
9493 the current menu pane. Record the pane number and the item
9494 number of the item which has associated help string.
9495 (XMenuActivate): Update the prototype for help_callback in
9496 function declaration. Call IT_menu_display with the current menu
9497 pane number as an additional argument. Call help_callback with
9498 two additional arguments: the pane number and the item number of
9499 the menu item associated with the help text.
9500 (help_echo_object, help_echo_pos): New variables.
9501 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9502
9503 * msdos.h (XMenuActivate): Update prototype.
9504
4279296d
GM
95052000-07-19 Gerd Moellmann <gerd@gnu.org>
9506
47db06aa
GM
9507 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9508 Add some more prototypes.
9509
9510 * xterm.c, xterm.h: Add some more prototypes.
9511
9512 * lisp.h (Fnext_single_char_property_change): Add prototype.
9513
9514 * dispnew.c (direct_output_for_insert): Remove confusing
9515 outer local variable mouse_face_overwritten_p.
9516 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9517
4279296d
GM
9518 * alloc.c (allocate_string_data): Don't copy old string contents.
9519
670acd62
KH
95202000-07-19 Kenichi Handa <handa@etl.go.jp>
9521
9522 * coding.c (code_convert_region): Delete text properties before
9523 shrinking the conversion region.
9524
7cea38bc
GM
95252000-07-18 Gerd Moellmann <gerd@gnu.org>
9526
dc1cac59
GM
9527 * dispnew.c (update_text_area): Write the whole row if it
9528 has mouse-face in it.
9529
85a8aca9
GM
9530 * xfaces.c (face-alternative-font-family-alist): Remove
9531 DEFVAR_LISP; staticpro instead.
9532
34a7a267 9533 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9534 new arguments.
9535
9536 * keyboard.c (show_help_echo): Add parameter WINDOW.
9537 (read_char): Call show_help_echo with window extracted from Lisp
9538 help event.
9539 (gen_help_event): Add parameter WINDOW.
9540
9541 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9542
9543 * xterm.c (help_echo_window): New variable.
52283633 9544 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9545 (XTread_socket): Pass help_echo_window to gen_help_event.
9546 (syms_of_xterm): Initialize and staticpro help_echo_window.
9547
f8276b77
DL
95482000-07-18 Dave Love <fx@gnu.org>
9549
52283633 9550 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9551
088831a6
GM
95522000-07-18 Gerd Moellmann <gerd@gnu.org>
9553
3d6cd763
GM
9554 * alloc.c (allocate_string_data): If string had already data
9555 assigned, copy old contents to new string data.
9556
9557 * coding.c (syms_of_coding): Fix typo in spelling of variable
9558 `inhibit-iso-escape-detection'.
9559
088831a6
GM
9560 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9561
9562 * Makefile.in: Add dependencies on dispextern.h.
9563 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9564 `free'; both can conflict with system header files.
9565
bc8a8d55
KH
95662000-07-18 Kenichi Handa <handa@etl.go.jp>
9567
9568 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9569 undefined.
9570
069f5950
DL
95712000-07-18 Dave Love <fx@gnu.org>
9572
9573 * window.c (Fwindow_list): Declare arg `window'.
9574
aa96c820
KH
95752000-07-18 Kenichi Handa <handa@etl.go.jp>
9576
9577 * coding.c (setup_coding_system): Don't override the explicitly
9578 specified designations.
9579
06be8d32
MB
95802000-07-15 Miles Bader <miles@gnu.org>
9581
9582 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9583 from `text_property_eq' and `text_property_stickiness', respectively.
9584 (find_field, Fconstrain_to_field, char_property_eq)
9585 (char_property_stickiness): Changed to call char-property functions
9586 instead of text-property-only ones.
9587
9588 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9589 `next_single_char_property_change'). Do more error checking, and
9590 cleanup limit behavior.
9591 (Fprevious_single_char_property_change): New function.
9592 (syms_of_textprop): Initialize new subrs.
9593
9594 * xdisp.c (display_prop_end, invisible_text_between_p):
9595 Call Fnext_single_char_property_change instead of
9596 next_single_char_property_change.
9597
3fddcdc3
JR
95982000-07-15 Jason Rumney <jasonr@gnu.org>
9599
9600 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9601 after menu is finished with.
9602 (add_menu_item): Only consider wv->title as a menu title.
9603 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9604
9605 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9606 null title.
9607 (FONT_REGEXP): Remove unused macro, and its sub-components.
9608 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9609
9610 * w32term.c (help_echo_object, help_echo_pos): New variables.
9611 (note_mode_line_highlight): Store additional information about the
9612 help-echo in help_echo_object and help_echo_pos. Check both
9613 `local-map' and `keymap' properties for changing the cursor
9614 (note_mouse_highlight): Store additional information about the
9615 help-echo in help_echo_object and help_echo_pos.
9616 (note_tool_bar_highlight): Set help_echo_object to nil and
9617 help_echo_pos to -1.
9618 (w32_read_socket): Use gen_help_event instead of filling
9619 input_events manually.
9620 (syms_of_w32term): Staticpro help_echo_object.
9621 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9622 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9623 (x_clear_mouse_face): New function.
9624 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9625 (x_update_window_begin): No need to turn off the mouse
9626 highlight here.
9627 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9628 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9629 (x_fill_stretch_glyph_string): Consume runs of stretch
9630 glyphs instead of a single one.
9631 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9632 with new argument list.
9633 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9634 (x_append_glyph, x_append_composite_glyph)
9635 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9636 changes in struct glyph starting 1999-12-27. See comments for
9637 xterm.c on 2000-07-05.
9638
178c5d9c
SS
96392000-07-14 Sam Steingold <sds@gnu.org>
9640
9641 * xfaces.c (realize_x_face): Fix the last patch:
9642 check `default_face' before dereferencing.
9643
6fe533f6
DL
96442000-07-14 Dave Love <fx@gnu.org>
9645
069f5950 9646 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9647
dd7b81cf
KH
96482000-07-14 Kenichi Handa <handa@etl.go.jp>
9649
0693904a 9650 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9651 default_face's fontset, not using the default fontset.
0693904a 9652
dd7b81cf
KH
9653 * coding.c (inhibit_iso_escape_detection): New variable.
9654 (syms_of_coding): Make it a Lisp variable.
9655 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9656 nonzero, ignore ISO2022's escape sequence.
9657
d5aa31d8
GM
96582000-07-14 Gerd Moellmann <gerd@gnu.org>
9659
e5acf0ca
GM
9660 * alloca.c (malloc) [emacs]: Define as xmalloc.
9661
bd23a692
GM
9662 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9663 use that instead of the mouse position. Add parameters DX and DY.
9664
9665 * dispextern.h (Fx_show_tip): Adjust number of parameters
9666 in prototype.
9667
9662da0b
GM
9668 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9669 if HELP is a function, call it with OBJECT and POS as parameters
9670 to get the help to display.
9671 (gen_help_event, kbd_buffer_store_help_event): New functions.
9672 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9673 (read_char): Call show_help_echo with new parameters.
9674
178c5d9c 9675 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9676 Add prototypes.
9677
9678 * xterm.c (help_echo_object, help_echo_pos): New variables.
9679 (note_mode_line_highlight): Store additional information about the
9680 help-echo in help_echo_object and help_echo_pos. Check both
9681 `local-map' and `keymap' properties for changing the cursor
9682 (note_mouse_highlight): Store additional information about the
9683 help-echo in help_echo_object and help_echo_pos.
9684 (note_tool_bar_highlight): Set help_echo_object to nil and
9685 help_echo_pos to -1.
9686 (XTread_socket): Use gen_help_event instead of filling
9687 input_events manually.
9688 (syms_of_xterm): Staticpro help_echo_object.
9689
9690 * xmenu.c (menu_highlight_callback): Use
9691 kbd_buffer_store_help_event instead of setting up and input_event
9692 structure manually.
9693
9694 * xdisp.c (eval_form): GCPRO argument sexpr.
9695 (call_function): New function.
9696 (handle_single_display_prop): Use call_function and FUNCTIONP
9697 instead of checking whether if font_height is a symbol and
9698 using eval_form.
9699
9700 * eval.c (internal_condition_case_2): New function.
9701
9702 * lisp.h (FUNCTIONP): New macro.
9703 (internal_condition_case_2, call_function): Add prototypes.
9704
d5aa31d8
GM
9705 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9706 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9707 Always set `arg' member of input_events.
9708 (construct_menu_click): Unused function removed.
9709
9710 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9711
9712 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9713 (construct_drag_n_drop, x_scroll_bar_handle_click)
9714 (w32_read_socket): Always set `arg' member of input_events.
9715
9716 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9717
9718 * lisp.h (eval_form): Add prototype.
9719
9720 * xdisp.c (eval_form): Make it externally visible.
9721
0f1a9b23
GM
97222000-07-13 Gerd Moellmann <gerd@gnu.org>
9723
9724 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9725 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9726 consing. For prefix events, store the frame in the `arg' slot of
9727 the event, otherwise store the key there.
9728 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9729 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9730
9731 * xmenu.c (menu_highlight_callback): Store help string in the
9732 `arg' member of the input event; don't cons.
9733 (menubar_selection_callback): Use the `arg' slot of input events
9734 to queue additional information, instead of consing.
9735
9736 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9737
9738 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9739 TOOL_BAR_EVENTs.
9740 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9741
9742 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9743 input events to queue additional information, instead of consing.
9744
9745 * keyboard.c (kbd_buffer_gcpro): Renamed from
9746 kbd_buffer_frame_or_window. Now used for all Lisp objects
9747 referenced from the input queue.
9748 (kbd_buffer_store_event): Always use structure assignment for
9749 copying input events. Record all Lisp objects referenced from
9750 events in kbd_buffer_gcpro.
9751 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9752 differently from input events. Test for prefix menu_bar_events
9753 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9754 event in kbd_buffer_gcpro to nil.
9755 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9756 frame_or_window is equal to its arg member as prefix events.
9757 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9758 used by an input event to nil.
9759 (init_keyboard): Use two times the size of the input queue
9760 for kbd_buffer_gcpro.
9761 (syms_of_keyboard): Likewise.
9762
52283633
SM
9763 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9764 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9765
9766 * termhooks.h (struct input_event): Add member `arg'.
9767 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9768 (USER_SIGNAL_EVENT): Renamed from user_signal.
9769
9770 * xfaces.c (ASET): Remove definition.
9771
9772 * lisp.h (AREF, ASET, ASIZE): New macros.
9773
9774 * fontset.c (AREF, ASIZE): Remove definitions.
9775
9776 * fns.c (AREF): Remove definition.
178c5d9c 9777
0f1a9b23
GM
9778 * composite.c (AREF): Remove definition.
9779
712eaef2
GM
97802000-07-12 Gerd Moellmann <gerd@gnu.org>
9781
d8ee7803
GM
9782 * dispnew.c (redraw_overlapped_rows): Add missing local.
9783 (scrolling_window): Remove debug code.
9784
712eaef2
GM
9785 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9786 Before scrolling, turn off a mouse-highlight in the window
9787 being scrolled.
9788
9789 * xterm.c (x_update_window_end): Add parameter
9790 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9791 redisplay in XTframe_up_to_date.
9792 (x_clear_mouse_face): New function.
9793 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9794
9795 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9796 current glyph row.
9797 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9798 it when any row is written to that contains glyphs highlighted in
9799 mouse-face.
9800 (update_window): Call the window update end hook with new
9801 parameter MOUSE_FACE_OVERWRITTEN_P.
9802 (direct_output_for_insert): Give up if row contains mouse-face.
9803
9804 * dispextern.h (struct redisplay_interface): Add parameter
9805 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9806 (clear_mouse_face): New function pointer member.
9807
02010917
SM
98082000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9809
9810 * syntax.c (back_comment): Use one switch rather than a few `if's.
9811 Obey open_paren_in_column_0_is_defun_start.
9812 When reverting to the `slow' method, try to nicely handle the case
9813 of nested comments by checking that the comment-starter we found
9814 does indeed match the comment-ender.
9815 (scan_sexps_forward, scan_sexps_forward):
9816 Ignore excessive opening parenthesis rather than throwing an error.
9817
d76c03ea
GM
98182000-07-11 Gerd Moellmann <gerd@gnu.org>
9819
9820 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9821 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9822
9823 * dispnew.c (direct_output_forward_char): Give up if currently
9824 displaying a message instead of the minibuffer contents.
9825
9826 * xterm.c (x_update_window_begin): No need to turn off the mouse
9827 highlight here.
9828 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9829 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9830
9831 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9832 compare the mouse_face_p flags of both rows.
9833
9834 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9835
d55ead18
EZ
98362000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9837
9838 * keyboard.c (show_help_echo): Accept additional parameter
9839 ok_to_overwrite_keystroke_echo.
9840 (read_char): Call show_help_echo with a zero
9841 ok_to_overwrite_keystroke_echo argument.
52283633 9842 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9843 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9844 ok_to_overwrite_keystroke_echo argument.
9845 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9846 non-zero ok_to_overwrite_keystroke_echo argument.
9847
df75b1a3
GM
98482000-07-10 Gerd Moellmann <gerd@gnu.org>
9849
4b92c49a
GM
9850 * xdisp.c (try_window_id): If changes are all below what is
9851 displayed in the window, and point is in the window, we still
9852 might have to find point on the display.
9853
9854 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9855 glyphs instead of a single one.
9856 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9857 with new argument list.
9858 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9859
df75b1a3
GM
9860 * keymap.c (get_keymap_1): Add comment that this function can GC.
9861 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9862 comment that functions can GC.
9863 (Fset_keymap_parent): GCPRO arg KEYMAP.
9864
4314cf3e
EZ
98652000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9866
9867 * msdos.c (XMenuActivate): After exiting the menu, restore the
9868 echo area message and erase it.
9869
ab49ce15
KH
98702000-07-10 Kenichi Handa <handa@etl.go.jp>
9871
9872 * fontset.c (Ffontset_info): Make the return value more compatible
9873 with that of Emacs 20.
9874
090a072f
GM
98752000-07-07 Gerd Moellmann <gerd@gnu.org>
9876
9877 * eval.c (Fsignal): Handle case that backtrace_list is null.
9878
f92de4a6
KH
98792000-07-07 Kenichi Handa <handa@etl.go.jp>
9880
9881 * ccl.c (Fccl_execute): Typo fixed.
9882
dd8888a1
GM
98832000-07-06 Gerd Moellmann <gerd@gnu.org>
9884
e5c81191 9885 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9886
dd8888a1
GM
9887 * window.c (Fwindow_list): Reverse list at the end.
9888 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9889 means allow windows on OWINDOW's frame, only.
9890 (window_loop): Simplified; use Fwindow_list.
9891
9892 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9893
485266d0
GM
98942000-07-05 Gerd Moellmann <gerd@gnu.org>
9895
9896 * xterm.c (XTread_socket): Increment handling_signal at the start,
9897 decrement it at the end.
9898
9899 * eval.c (handling_signal): New variable.
9900 (Fsignal): Abort if handling_signal is non-zero.
9901
9902 * lisp.h (handling_signal): External declaration.
178c5d9c 9903
485266d0
GM
9904 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9905
80fcd514
KR
99062000-07-05 Ken Raeburn <raeburn@gnu.org>
9907
9908 Sound support for NetBSD through "Linux emulation" support:
9909 * config.in (HAVE_SOUNDCARD_H): Undef.
9910 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9911 * Makefile.in (LIBSOUND): New variable.
9912 (LIBES): Include it.
52283633
SM
9913 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9914 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9915 (vox_open): Use DEFAULT_SOUND_DEVICE.
9916 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9917
d5c5cddd
GM
99182000-07-05 Gerd Moellmann <gerd@gnu.org>
9919
9920 * print.c (print_error_message): If Vsignaling_function is set,
9921 show it in *Messages*.
9922
9923 * lisp.h (Vsignaling_function): External declaration.
9924
9925 * eval.c (Vsignaling_function): New variable.
9926 (Fsignal): Compute it.
9927 (syms_of_eval): Staticpro it.
9928
65171e3a
DL
99292000-07-05 Dave Love <fx@gnu.org>
9930
9931 * syswait.h: Use the autoconf recommended approach. Old code
9932 #if'd out in case we need to revert.
9933
178c5d9c 9934 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9935
e2c46326
AI
99362000-07-05 Andrew Innes <andrewi@gnu.org>
9937
9938 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9939 when non-NULL instead of __morecore, to take account of buffer
9940 memory. This also solves a problem with spurious memory warnings
9941 on Windows.
9942
9943 * ralloc.c: Make real_morecore non-static.
9944
9945 * eval.c (internal_condition_case): Comment out abort if
9946 interrupt_input_blocked is not zero.
9947
9948 * makefile.nt: Add support for `bootstrap' and related targets.
9949 Include minimal debug info in emacs.exe in release build.
9950 Remove all dependencies on lisp.h, and fixup some others.
9951
9952 * w32.c (init_environment): Install code from 20.7 for providing
9953 default values for environment variables, based on the
9954 executable's own location.
52283633 9955 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9956 (sys_socket): Install socket inheritance bug fix from 20.7.
9957
9958 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9959 here via blockinput.h).
9960
a027a91b
SM
99612000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9962
e4b31601
SM
9963 * w32menu.c (w32_menu_display_help):
9964 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9965
9966 * keyboard.h (show_help_echo): Declare.
9967
9968 * keyboard.c (show_help_echo): New function, extracted from read_char.
9969 Feval its `msg' argument if it's a cons cell.
9970 (read_char): Use it.
4cf8d9d5 9971 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9972
178c5d9c 9973 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9974 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9975 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9976 (dos_rawgetc):
9977 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9978 (note_tool_bar_highlight, w32_read_socket):
9979 Do not gratuitously ignore non-string `help-echo' properties.
9980
88d75730
GM
99812000-07-05 Gerd Moellmann <gerd@gnu.org>
9982
969f7e79
GM
9983 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9984
71201b00
GM
9985 * window.c (delete_all_subwindows): Reset Vwindow_list.
9986
88d75730
GM
9987 * xterm.c (x_append_glyph, x_append_composite_glyph)
9988 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9989 changes in struct glyph starting 1999-12-27. Some bit-fields of
9990 struct glyph were not set, which made glyphs unequal when compared
9991 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9992 effects were the result. This also depended on the contents of
9993 memory returned by xmalloc. If flickering happens again, activate
9994 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9995 gone with that, chances are that it is caused by something similar.
88d75730
GM
9996
9997 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9998
88d75730
GM
9999 * dispextern.h: Add some comments.
10000
10001 * window.c (add_window_to_list): Add parameter LIST.
10002 (window_list): Order list so that, for each frame, windows are
10003 in canonical order, and so that frames appear in the list in
10004 the order given by Vframe_list.
10005 (next_window): Reverse the handling of NEXT_P.
10006
53654733
GM
100072000-07-04 Gerd Moellmann <gerd@gnu.org>
10008
87efd256
GM
10009 * window.c (Vwindow_list): New variable.
10010 (make_window, delete_window): Set Vwindow_list to nil.
10011 (check_window_containing): New function.
10012 (window_from_coordinates): Rewritten.
10013 (add_window_to_list, window_list, candidate_window_p)
10014 (decode_next_window_args, next_window): New functions.
52283633 10015 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10016 (Fwindow_list): New function.
10017 (Fother_window): Cleaned up.
10018 (foreach_window): Add a longer "variable argument list". Let
10019 callback function return 0 to indicate that cycling over windows
10020 should stop.
10021 (foreach_window_1): Likewise.
10022 (freeze_window_start): Return int.
10023 (init_window): New function.
10024 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10025
10026 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10027 input_event with bzero.
10028 (main): Call init_window.
10029
53654733
GM
10030 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10031 a menu filter.
10032
4a8c194f
KH
100332000-07-04 Kenichi Handa <handa@etl.go.jp>
10034
10035 * composite.h (make_composition_value_copy): Extern it.
10036
10037 * composite.c (make_composition_value_copy): New function.
10038
10039 * editfns.c (Fformat): While copying text properties, make each
10040 composition property value a copy.
10041
10042 * fns.c (concat): While copying text properties, make each
10043 composition property value a copy.
10044
831a6cb0
GM
100452000-07-03 Gerd Moellmann <gerd@gnu.org>
10046
2f516940
GM
10047 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10048
178c5d9c 10049 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10050 marked already.
10051
831a6cb0
GM
10052 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10053 include those frames as candidates which have their focus
10054 redirected to the minibuffer frame.
10055
d9c4f922
SM
100562000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10057
10058 * fns.c (Fputhash): Return `value' rather than nil.
10059
3780bc22
GM
100602000-06-30 Gerd Moellmann <gerd@gnu.org>
10061
97d176db
GM
10062 * frame.c (next_frame): Don't check focus redirection in case
10063 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10064 unless their focus is redirected, which contradicts the
10065 specification of next-frame, and leads to infinite loops in
10066 certain situations when cycling through windows with next-window.
10067
dca9961d
KH
100682000-06-30 Kenichi Handa <handa@etl.go.jp>
10069
10070 * coding.c (code_convert_region): Even if the length of text is
10071 zero, try to convert it if coding->type is coding_type_ccl.
10072 (decode_coding_string, encode_coding_string): Likewise.
10073
d5483ab1
GM
100742000-06-28 Gerd Moellmann <gerd@gnu.org>
10075
af5c25e1 10076 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10077 the display if windows_or_buffers_changed.
af5c25e1
GM
10078
10079 * dispnew.c (struct row_entry): New structure.
10080 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10081 (row_table_size, old_lines, new_lines, old_lines_size)
10082 (new_lines_size, run_pool, runs_size, runs): New variables.
10083 (add_row_entry): New function.
10084 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10085 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10086 holding them in local variables. Use a larger hash table whose
10087 size depends on glyph matrix sizes. Don't use bzero to clear the
10088 hash table; instead, clear used slots only.
10089
10090 * fns.c (next_almost_prime): Make it externally visible.
10091
10092 * lisp.h (next_almost_prime): Add prototype.
10093
d5483ab1
GM
10094 * s/isc4-0.h (sigunblock): Define.
10095
10096 * s/sco5.h (sigunblock): Define.
10097
93e40f40
DL
100982000-06-27 Dave Love <fx@gnu.org>
10099
10100 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10101 (moved to osf5-0.h).
10102 [!NOT_C_CODE]: Protect string.h stuff.
10103
10104 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10105 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10106
3c4b7685
GM
101072000-06-27 Gerd Moellmann <gerd@gnu.org>
10108
97d176db 10109 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10110 below the last line from the needed window height.
10111
32cad0aa
SM
101122000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10113
10114 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10115 (Fwidget_get): Use it.
10116 (syms_of_fns): Defsubr it.
10117
2c69ced2
GM
101182000-06-26 Gerd Moellmann <gerd@gnu.org>
10119
178c5d9c 10120 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10121 display info for XIM.
10122 (xim_open_dpy): Likewise.
10123 (xim_close_dpy): Don't free the display info's XIM.
10124
10125 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10126
10127 * config.in (USE_XIM): New define.
10128
3fc720e4
GM
10129 * keymap.c (get_keyelt): For menu-items containing a `:filter
10130 FILTER', apply FILTER to the menu-item's definition to get the
10131 real definition to use.
10132
10133 * lisp.h (QCfilter): External declaration.
10134
2c69ced2
GM
10135 * xfns.c (Fimage_size): New function.
10136 (syms_of_xfns): Defsubr it.
10137
f978b2a2
AS
101382000-06-26 Andreas Schwab <schwab@suse.de>
10139
10140 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10141 Fstring_as_unibyte.
10142
94cc7892
DL
101432000-06-25 Dave Love <fx@gnu.org>
10144
52283633 10145 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10146
10147 * Makefile.in (blockinput.h): Depend on atimer.h.
10148 (atimer.h): Depend on systime.h.
10149
52283633 10150 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10151
52283633 10152 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10153
10154 * lisp.h (swap_in_global_binding): Declare.
10155
b8c24556
KR
101562000-06-24 Ken Raeburn <raeburn@gnu.org>
10157
10158 * process.c (Fopen_network_stream): Turn off atimers for duration
10159 of call to connect. (Patch from Gerd.)
10160
8cf8560b
DL
101612000-06-23 Dave Love <fx@gnu.org>
10162
511c7541
DL
10163 * ralloc.c: Maybe include unistd.h
10164
8cf8560b
DL
10165 * emacs.c (setgrp): Undefine before defining.
10166 (malloc_warning, set_time_zone_rule, index): Prototype.
10167
10168 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10169 HAVE_STRUCT_TIMEZONE.
10170
10171 * s/osf1.h: Move string.h hack here from alpha.h and make it
10172 conditional.
10173 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10174 _XOPEN_SOURCE.
10175 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10176 (SOCKLEN_TYPE): Don't define.
10177
10178 * m/alpha.h: Remove string.h hack.
10179
10180 * s/osf5-0.h: New file.
10181
10182 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10183 include time.h, done by systime.h.
10184 [__FreeBSD__]: Remove redundant includes.
10185
3fc720e4 10186 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10187 (delete_temp_file): Return Qnil to avoid warning.
10188
10189 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10190
10191 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10192 HAVE_X_WINDOWS.
10193
10194 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10195
10196 * composite.h (compose_text): Declare.
10197
10198 * xterm.c: Don't include sys/types.h unconditionally. Don't
10199 protect its inclusion with !USG (following xmenu.c).
10200
ea055732
GM
102012000-06-23 Gerd Moellmann <gerd@gnu.org>
10202
10203 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10204 in x_create_frame.
10205
74b01b80
EZ
102062000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10207
10208 * coding.c (decode_eol_post_ccl): Special handling for undecided
10209 and inconsistent EOL types.
10210
64f3a166
GM
102112000-06-22 Gerd Moellmann <gerd@gnu.org>
10212
16cf31f7
GM
10213 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10214 trough color and main window's background color.
10215
52283633 10216 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10217
10218 * xterm.h (Xt_app_con): External declaration.
10219
10220 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10221
486a103d
GM
10222 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10223
64f3a166
GM
10224 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10225 (handle_invisible_prop): Record the start of invisible text in
10226 it->add_overlay_start.
10227 (struct overlay_entry): Add member `overlay'.
10228 (handle_overlay_change): Simplify.
10229 (next_overlay_string): After having processed overlay strings at the
10230 end of the buffer, record that fact in
10231 it->overlay_strings_at_end_processed_p.
10232 (compare_overlay_entries): If before- and after-strings come
10233 from the same overlay, let before-strings come first.
10234 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10235 (load_overlay_strings): Take it->add_overlay_start into account
10236 when adding overlay strings.
10237
10238 * dispextern.h (struct it): Add member add_overlay_start.
10239
bb746ea6
DL
102402000-06-22 Dave Love <fx@gnu.org>
10241
10242 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10243
10244 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10245
a8f573f3
KH
102462000-06-22 Kenichi Handa <handa@etl.go.jp>
10247
10248 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10249 is greater than 0.
10250
9f2bbc92
DL
102512000-06-21 Dave Love <fx@gnu.org>
10252
178c5d9c 10253 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10254
3ee5041c
SM
102552000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10256
10257 * syntax.c (back_comment): Simplify string-parity counting (with
10258 the added benefit of handling multiple string-styles as long as
10259 they are not intertwined).
10260 Jump to the slow code as soon as a comment starter is found in
10261 a "string_lossage" position. Fixes the case: " /* " /* " */.
10262
4c343001
DL
102632000-06-21 Dave Love <fx@gnu.org>
10264
10265 * Makefile.in: Use GETLOADAVG_LIBS.
10266
10267 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10268 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10269
e6365855
SM
102702000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10271
10272 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10273 (Fforward_comment, scan_lists):
10274 Check the comstyle of single-char comment-starters.
10275 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10276 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10277 Check the comstyle of single-char comment-starters.
10278 Clarify control-flow around the Scomment case.
e6365855 10279
5700d2cc
DL
102802000-06-20 Dave Love <fx@gnu.org>
10281
d355bd8a
SM
10282 * fns.c (make_hash_table, maybe_resize_hash_table):
10283 Cast arg of next_almost_prime.
5700d2cc 10284
178c5d9c 10285 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10286
10287 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10288 and unistd.h.
10289
4a27bdfb
GM
102902000-06-20 Gerd Moellmann <gerd@gnu.org>
10291
a61d762c 10292 * keyboard.c (adjust_point_for_property): Check if display
52283633 10293 property should be treated as intangible by looking at its value.
a61d762c 10294
178c5d9c 10295 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10296 (display_prop_intangible_p): New functions.
10297
10298 * dispextern.h (display_prop_intangible_p): Add prototype.
10299
10300 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10301
4a27bdfb
GM
10302 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10303 argument to sigprocmask.
10304
10305 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10306 argument to sigprocmask.
10307
10308 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10309 sigprocmask_set, and pass a pointer to it to sigprocmask.
10310
10311 * sysdep.c (sigprocmask_set): New variable.
10312
10313 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10314 report_file_error.
10315
427ec082
SS
103162000-06-20 Sam Steingold <sds@gnu.org>
10317
10318 * xrdb.c: Don't declare xmalloc, xrealloc.
10319
8972fe79 103202000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10321
10322 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10323 (re_comp): Cast gettext return value to avoid complaints when
10324 !HAVE_LIBINTL.
10325
074b6efe
DL
103262000-06-20 Dave Love <fx@gnu.org>
10327
52283633 10328 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10329
5700d2cc 10330 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10331
d355bd8a 10332 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10333
10334 * m/alpha.h: Don't declare xmalloc, xrealloc.
10335
0af4f205
DL
10336 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10337
10338 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10339
10340 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10341
10342 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10343 HAVE_GETWD.
10344
074b6efe
DL
10345 * keyboard.h (poll_for_input_1): Declare.
10346
10347 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10348
10349 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10350
10351 * doprnt.c: Don't declare xmalloc, xrealloc.
10352
10353 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10354 (getenv, ctime, getwd): Removed.
10355 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10356
10357 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10358 x_set_tool_bar_lines.
10359
10360 * config.in: Add HAVE_GETWD. Move some definitions above
10361 machine/system includes.
10362
68a5e97b
KH
103632000-06-20 Kenichi Handa <handa@etl.go.jp>
10364
95417e1e
KH
10365 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10366
68a5e97b
KH
10367 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10368 contain information about ENCODING.
10369
10370 * fontset.c (FONTSET_ASCII): Use the first element of char table
10371 for an ASCII font, not defalt slot.
10372 (fontset_ref_via_base): If FONTSET doesn't contain information for
10373 C, try the default fontset.
10374 (make_fontset): Don't copy the default fontset.
10375 (fontset_font_pattern): Likewise.
10376 (accumulate_font_info): If ELT is nil, use the corresponding
10377 element in the default fontset.
10378
3b4fa1b2
DL
103792000-06-19 Dave Love <fx@gnu.org>
10380
943e731c
DL
10381 * syntax.c (Fparse_partial_sexp): Doc fix.
10382
10383 * regex.h: Test PROTOTYPES as well as __STDC__.
10384
3b4fa1b2
DL
10385 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10386 errno, strerror. Put text after #endif in comment.
10387
52283633 10388 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10389
10390 * xterm.c (x_frame_of_widget): Likewise.
10391
cdf0357b
GM
103922000-06-19 Gerd Moellmann <gerd@gnu.org>
10393
10394 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10395 to Vfundamental_mode_abbrev_table.
10396
10397 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10398 bogus objects are marked. This slows down GC by ~80 percent, but
10399 it might be worth trying when debugging GC-related problems.
10400 This feature requires conservative stack marking to be enabled.
10401
10402 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10403 returns XLookupChars, reset `modifiers' to zero.
10404
998e9f8c
DL
104052000-06-19 Dave Love <fx@gnu.org>
10406
10407 * mktime.c: Unprotoized.
10408
18e21ce8 104092000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10410
10411 * data.c (set_internal): If variable is frame-local,
10412 store the new value immediately into the frame parameter alist.
10413
140c4ac6
KR
104142000-06-19 Ken Raeburn <raeburn@gnu.org>
10415
14358466
KR
10416 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10417 in the custom handler pointer.
10418
140c4ac6
KR
10419 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10420 value, or checks for CHAR_META can fail when Lisp_Object is a
10421 union type.
10422 * keymap.c (get_keyelt): Likewise.
10423
10d7bf84
KH
104242000-06-19 Kenichi Handa <handa@etl.go.jp>
10425
10426 * ccl.h (struct ccl_program): New member eol_type.
10427 (struct ccl_spec): New member cr_carryover.
10428
10429 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10430 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10431
10432 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10433 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10434 (decode_eol_post_ccl): New function.
10435 (decode_coding): Don't detect EOL format here for CCL based coding
10436 systems.
10437 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10438 decode_eol_post_ccl after running the CCL program.
10439 (code_convert_region): Don't detect EOL format here for CCL based
10440 coding systems.
10441 (decode_coding_string): Likewise.
10442
52e386c2
KR
104432000-06-18 Ken Raeburn <raeburn@gnu.org>
10444
10445 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10446 when treating it as an integer.
10447
10448 * coding.h (encode_coding_string): Declare.
10449
10450 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10451 it as an integer.
10452
10453 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10454 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10455 to be passed to get_local_map.
10456
10457 * sound.c (Fplay_sound): Don't call make_number on
10458 Frun_hook_with_args count argument.
10459
10460 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10461 for lisp objects in X event structure data field, when lisp
10462 objects are represented with unions.
10463 (x_scroll_bar_to_input_event): Ditto.
10464
b357b9d4
KR
104652000-06-16 Ken Raeburn <raeburn@gnu.org>
10466
10467 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10468 termination of string. Fix sense of test whether
10469 Vline_number_display_limit is an integer.
b357b9d4 10470
a871441d
GM
104712000-06-16 Gerd Moellmann <gerd@gnu.org>
10472
a9021acd
GM
10473 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10474 only if HAVE_X_WINDOWS.
10475
6344985d
GM
10476 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10477 of titles.
10478
427ec082 10479 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10480 out of bounds.
10481
228b083e
EZ
104822000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10483
10484 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10485 of its headers.
10486
c25b53a2
KH
104872000-06-15 Kenichi Handa <handa@etl.go.jp>
10488
10489 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10490 start of the while loop.
10491
a6981b11
GM
104922000-06-15 Gerd Moellmann <gerd@gnu.org>
10493
e9924e52
GM
10494 * atimer.c (alarm_signal_handler): Add forward declaration.
10495
a6981b11
GM
10496 * data.c (set_internal): Remove debug code.
10497
25fa6deb
GM
104982000-06-14 Gerd Moellmann <gerd@gnu.org>
10499
dce6b995
GM
10500 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10501
9f817ea4
GM
10502 * unexec.c (toplevel) [COFF]: Include coff.h.
10503
10504 * s/lynxos.h: New file.
10505
10506 * keymap.c (Fsingle_key_description): Enclose function key and
10507 event symbol names in angle brackets.
10508
8a4e3c0c
GM
10509 * xdisp.c (setup_echo_area_for_printing): Call
10510 message_log_maybe_newline if message_buf_print is not set.
10511
10512 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10513 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10514 function does something useful even when message_buf_print is
10515 already set.
10516
52283633
SM
10517 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10518 New variables.
25fa6deb
GM
10519 (ensure_echo_area_buffers): Initialize echo buffer's
10520 truncate lines setting to nil.
10521 (with_echo_area_buffer): Don't set the echo buffer's truncate
10522 lines setting here.
8a4e3c0c 10523 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10524 of message_truncate_lines.
10525 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10526 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10527 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10528
10529 * keyboard.c (read_char): Bind message-truncate-lines to t
10530 while displaying a help-echo.
10531
10532 * lisp.h (Qmessage_truncate_lines): External declaration.
10533
163dcff3
GM
105342000-06-13 Gerd Moellmann <gerd@gnu.org>
10535
1681ead6
GM
10536 * xdisp.c (Vline_number_display_limit): Renamed from
10537 line_number_display_limit.
10538 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10539 Extend documentation string. Initialize
10540 Vline_number_display_limit to nil meaning no limit.
10541 (decode_mode_spec): Use Vline_number_display_limit with its new
10542 meaning.
10543
163dcff3
GM
10544 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10545
18e21ce8 105462000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10547
10548 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10549
163dcff3
GM
10550 * xfns.c (x_set_frame_parameters): Comment fix.
10551
10552 * frame.c (store_frame_param): Call swap_in_global_binding if the
10553 variable's current binding was chosen based on this frame.
10554
10555 * data.c (swap_in_global_binding): New function.
10556
a704139d
EZ
105572000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10558
10559 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10560 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10561
9b6610db
EZ
105622000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10563
10564 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10565
c68833d2
JR
105662000-06-12 Jason Rumney <jasonr@gnu.org>
10567
10568 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10569
10570 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10571
10572 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10573
10574 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10575
ed1056b3
GM
105762000-06-12 Gerd Moellmann <gerd@gnu.org>
10577
10578 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10579 (syms_of_xfaces): Defsubr Sdump_colors.
10580 (x_free_colors): Don't treat b&w specially on default visual.
10581 (x_free_dpy_colors): New function.
10582 (free_face_colors): Don't check visual class; it's done
10583 in x_free_colors.
10584
10585 * xterm.c (x_frame_of_widget): New function.
10586 (x_alloc_nearest_color_for_widget): Use it.
10587 (x_copy_dpy_color): New function.
10588 (x_destroy_window): Free various colors.
10589
5050a2ef
KH
105902000-06-12 Kenichi Handa <handa@etl.go.jp>
10591
10592 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10593
10594 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10595
10596 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10597
10598 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10599
10600 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10601
fb1b041d
DL
106022000-06-11 Dave Love <fx@gnu.org>
10603
10604 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10605
ff96b5f4
EZ
106062000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10607
10608 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10609
db8eeecd
GM
106102000-06-11 Gerd Moellmann <gerd@gnu.org>
10611
ed1056b3 10612 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10613 to `XEvent *'.
10614
49b71c5f
KH
106152000-06-10 Kenichi Handa <handa@etl.go.jp>
10616
c479bd55
KH
10617 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10618 (regex_compile): Fix the code for handling the case of single byte
10619 char and multibyte char being mixed in a range within [...].
10620
ff6a65c2
KH
10621 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10622 and dst_multibyte members of coding.
10623
49b71c5f
KH
10624 * charset.c (update_charset_table): Update the table
10625 bytes_by_char_head.
10626 (init_charset_once): Initialize elements of bytes_by_char_head to
10627 1 except for leading codes for private charases.
10628
10629 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10630 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10631
9e80b57d
KR
106322000-06-09 Ken Raeburn <raeburn@gnu.org>
10633
10634 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10635 access the data it doesn't point to.
10636
f83fe4b4
GM
106372000-06-08 Gerd Moellmann <gerd@gnu.org>
10638
10639 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10640 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10641 event queue. This is necessary because Emacs otherwise won't
10642 perform a switch-frame to a new frame until some other event, for
10643 example a keystroke event, forces it to do so. This has various
10644 effects, one visible being that the cursor of a frame created with
10645 C-x 5 2 or switched to with a window manager key binding like
10646 A-TAB stays hollow because selected_window isn't on the newly
10647 focused frame until the switch-frame is performed.
10648
10649 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10650 generating a switch-frame event if necessary.
10651
10652 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10653
10654 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10655 it's an integer.
10656
0890801b
KH
106572000-06-08 Kenichi Handa <handa@etl.go.jp>
10658
52283633 10659 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10660
173cbca8
GM
106612000-06-07 Gerd Moellmann <gerd@gnu.org>
10662
3091c2a6
GM
10663 * window.c (displayed_window_lines): Take empty lines at
10664 the bottom of a window into account.
427ec082 10665
f38952fe
GM
10666 * window.c (displayed_window_lines): New function.
10667 (Fmove_to_window_line): Use displayed_window_lines to determine
10668 the number of lines to move, instead of using the window's height.
10669
10670 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10671 to stop reading, even if the form read sets point to a different
10672 value when evaluated.
10673
427ec082 10674 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10675 put the cursor.
10676
6ba6c818
KH
106772000-06-07 Kenichi Handa <handa@etl.go.jp>
10678
10679 * fileio.c (e_write): Free composition data if stored in
10680 coding->cmp_data.
10681
5f1aea9a
GM
106822000-06-06 Gerd Moellmann <gerd@gnu.org>
10683
666852af
GM
10684 * xdisp.c (display_line): Set row's and iterator's
10685 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10686 Set cursor even if row ends in the middle of a character.
10687 (dump_glyph_row): Print values of new flags.
10688 (redisplay_window) <cursor movement in unchanged window>: When
10689 point has been moved forward, and PT is at the end of the cursor
10690 row, don't place the cursor in the next row if the cursor row ends
10691 in the middle of a character or at ZV.
10692
10693 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10694 (struct glyph_row): Add starts_in_middle_of_char_p and
10695 ends_in_middle_of_char_p.
10696 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10697 ends_in_middle_of_char_p flag.
10698 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10699
d13f3e2e
GM
10700 * term.c (append_glyph): Revert change of 2000-06-06.
10701
10702 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10703 padding glyph not fitting on line as whole character not
10704 fitting on line.
10705
5f1aea9a
GM
10706 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10707 this isn't true for images with `:ascent 100'.
10708
10cda9b0
KH
107092000-06-06 Kenichi Handa <handa@etl.go.jp>
10710
ed00559d
KH
10711 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10712 as modified if it is originally unmodified.
10713
10cda9b0
KH
10714 * term.c (encode_terminal_code): Change the way to check if
10715 terminal coding does any conversion.
10716 (append_glyph): Set glyph->pixel_width correctly.
10717
10718 * xdisp.c (display_line): While checking line continuation, pay
10719 attention to a padding glyph.
10720
1969fae2
GM
107212000-06-05 Gerd Moellmann <gerd@gnu.org>
10722
10723 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10724
162ccef4
DL
107252000-06-05 Dave Love <fx@gnu.org>
10726
f19f32dd
DL
10727 * xdisp.c: Include fontset.h.
10728
10729 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10730
10731 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10732
10733 * dispnew.c: Conditionally include term.h.
10734
10735 * coding.h: Declare code_convert_string_norecord.
10736
10737 * frame.h (struct frame): Use volatile unconditionally.
10738
10739 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10740
10741 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10742
10743 * systime.h: Protect against multiple inclusion.
10744 (timezone) [USG5_4]: Define as time_t.
10745
10746 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10747 (Foptimize_char_table, make_temp_name): Declare.
10748
10749 * Makefile.in (xdisp.o): Depend on fontset.h.
10750
10751 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10752
10753 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10754 (Foptimize_char_table, make_temp_name): Declare.
10755
427ec082 10756 * s/irix4-0.h:
162ccef4
DL
10757 * s/irix5-0.h:
10758 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10759
2082fe81
DL
107602000-06-02 Dave Love <fx@gnu.org>
10761
10762 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10763
dcf671d2
GM
107642000-06-02 Gerd Moellmann <gerd@gnu.org>
10765
10766 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10767 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10768 be freed.
10769
10770 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10771 glyph, use the ASCII NUL character to determine the face.
10772
d42122a3
DL
107732000-06-02 Dave Love <fx@gnu.org>
10774
10775 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10776 (VFORK_RETURN_TYPE): Remove.
427ec082 10777
d42122a3
DL
10778 * config.in: Add NO_MATHERR.
10779
dd432f16
DL
107802000-06-01 Dave Love <fx@gnu.org>
10781
90aa4ea8
DL
10782 * cmds.c (internal_self_insert): Don't check
10783 Vbefore_change_function, Vafter_change_function.
10784
10785 * insdel.c (signal_before_change, signal_after_change): Likewise.
10786
10787 * buffer.c (Vbefore_change_function, Vafter_change_function):
10788 Variables and their initializations deleted.
10789
2330c9d4
DL
10790 * callint.c (Fcall_interactively): Doc fix.
10791
dd432f16
DL
10792 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10793
bf9e8804
DL
107942000-05-31 Dave Love <fx@gnu.org>
10795
10796 * textprop.c: Revert last change -- duplicated.
10797
3694b4ab
GM
107982000-05-31 Gerd Moellmann <gerd@gnu.org>
10799
10800 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10801 in #if 0.
10802
10803 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10804
f14156cd
JR
108052000-05-31 Jason Rumney <jasonr@gnu.org>
10806
8119aab8
JR
10807 * search.c (Fre_search_forward, Fre_search_backward)
10808 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10809
f14156cd
JR
10810 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10811
4aab9be3
JR
108122000-05-30 Jason Rumney <jasonr@gnu.org>
10813
10814 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10815 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10816
52283633 10817 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10818
10819 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10820 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10821 expand a nil default_filename.
10822
10823 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10824 pointer to glyph_to_pixel_coords, not a frame.
10825
10826 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10827 coding.h to dependencies.
10828
10829 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10830
10831 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10832 window pointer to be consistent with w32term.c and xterm.c.
10833
10834 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10835 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10836 (Qline_spacing, Qcenter): New variables.
10837 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10838 (x_set_line_spacing): New function.
52283633 10839 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10840 (x_specified_cursor_type): New function.
10841 (x_set_cursor_type): Use it.
10842 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10843 and icon strings.
10844 (validate_x_resource_name, x_get_resource_string): Measure lengths
10845 of external strings in bytes.
10846 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10847 GetTextExtentPoint32 with NULL title.
10848 (Fx_create_frame): Initialize Qline_spacing.
10849 (w32_load_system_font): Initialize font->double_byte_p.
10850 (x_to_w32_charset): Use Vw32_charset_info_alist.
10851 (Image, busy cursor, tooltip functions): Merged changes from
10852 xfns.c. Not yet functional on Windows.
10853
10854 * w32gui.h (W32FontStruct): Add double_byte_p member.
10855
10856 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10857 (emacs_button_translation): Use it.
10858 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10859 in `mask' to be set.
10860
10861 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10862 menu strings.
10863
10864 * w32term.c: Format and doc changes to bring closer to xterm.c.
10865 (w32_char_font_type): New enum.
10866 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10867 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10868 (w32_encode_char): New function.
10869 (x_encode_char): Removed.
10870 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10871 x_encode_char and w32_font_is_double_byte.
10872 (x_produce_image_glyph): Use image_ascent.
10873 (x_produce_glyphs): Use new version of w32_per_char_metric and
10874 handle NULL return value. Allow extra line spacing.
10875 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10876 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10877 w32_font_type member of glyph instead.
10878 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10879 (fast_find_position): Make sure not to consider rows not visible
10880 in the window.
10881 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10882 w32_menu_display_help with input blocked, as it can abort.
10883 (x_display_and_set_cursor): Choose cursor depending
10884 on buffer-local value of cursor_type.
10885 (x_draw_bar_cursor): Add parameter WIDTH.
10886
10887 * w32term.h (CP_DEFAULT): Define.
10888 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10889
10fc3187
GM
108902000-05-30 Gerd Moellmann <gerd@gnu.org>
10891
10892 * search.c (Fre_search_forward, Fre_search_backward)
10893 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10894
d0555360
KH
108952000-05-30 Kenichi Handa <handa@etl.go.jp>
10896
10897 * coding.c (detect_coding_iso2022): Fix code for checking
10898 CODING_CATEGORY_MASK_ISO_8_2.
10899
f1ad044f
SM
109002000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10901
10902 * regex.c (PREFETCH_NOLIMIT): New function.
10903 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10904
84ec3b4b
GM
109052000-05-29 Gerd Moellmann <gerd@gnu.org>
10906
66254a13
GM
10907 * syntax.c (find_defun_start): Move test for
10908 open_paren_in_column_0_is_defun_start outside of the loop.
10909
49e70dec
GM
10910 * xdisp.c (redisplay_window): Really switch buffers when
10911 displaying mode lines, and temporarily set selected_frame to the
10912 frame of the window that's redisplayed.
10913
84ec3b4b
GM
10914 * xfaces.c (free_realized_faces): Block/unblock input.
10915 (free_realized_multibyte_face): Ditto.
10916
869a3a14
DL
109172000-05-29 Dave Love <fx@gnu.org>
10918
10919 * textprop.c (Qkeymap): New variable.
10920 (syms_of_textprop): Intern it.
10921
10922 * keymap.c: Include intervals.h.
10923 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10924
10925 * Makefile.in (keymap.o): Depend on intervals.h.
10926
10927 * keyboard.c (menu_bar_items, tool_bar_items)
10928 (Fexecute_extended_command): Deal with `keymap' property.
10929 (read_key_sequence): Track map from `keymap' property as well as
10930 `local_map'.
10931
10932 * intervals.c (get_local_map): Extra arg to allow looking for
10933 `keymap' too.
10934
10935 * intervals.h (map_property): New enum.
10936 (get_local_map): Extra arg using it.
10937 (Qkeymap): Declare.
10938
84ec3b4b 10939 * lisp.h (get_local_map): Don't declare here.
869a3a14 10940
89d0c844
KH
109412000-05-29 Kenichi Handa <handa@etl.go.jp>
10942
10943 * Makefile.in (callproc.o): Depend on composite.h.
10944
10945 * callproc.c: Include composite.h.
10946 (Fcall_process): Handle composition correctly.
10947
10948 * coding.h (coding_allocate_composition_data): Extern it.
10949 (coding_restore_composition): Likewise.
10950
10951 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10952 yet allocated, finish decoding with result
10953 CODING_FINISH_INSUFFICIENT_CMP.
10954 (coding_allocate_composition_data): Make it non-static.
10955 (coding_restore_composition): Likewise.
10956
797a084a
EZ
109572000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10958
10959 * charset.c (syms_of_charset): Revert last change.
10960
cf872af5
EZ
109612000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10962
10963 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10964 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10965 Handa.
cf872af5 10966
5b1ae051
EZ
109672000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10968
10969 * charset.c (syms_of_charset): Set width of character sets
10970 eight-bit-control and eight-bit-graphic to 1 column.
10971
34ec9ebe
GM
109722000-05-26 Gerd Moellmann <gerd@gnu.org>
10973
10974 * config.in (HAVE_SPEED_T): New define.
10975
10976 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10977 `extern speed_t'.
10978
dd854dc2
DL
109792000-05-26 Dave Love <fx@gnu.org>
10980
10981 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10982
10983 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10984 (Fsubr_arity): New function.
10985 (syms_of_data): Install them.
10986
ba9f8f95
KH
109872000-05-26 Kenichi Handa <handa@etl.go.jp>
10988
0f3e0672
KH
10989 * charset.c (init_charset_once): Set the table bytes_by_char_head
10990 correctly.
10991
cebefb44
KH
10992 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10993 the default fontset to what Emacs uses by default.
0f3e0672
KH
10994 (check_registry_encoding): This function deleted.
10995 (Fset_fontset_font): Remove the adhoc condition for the default
10996 fontset. Allow cons in FONTNAME.
cebefb44 10997
0f3e0672
KH
10998 * fns.c (map_char_table): Ignore char-table entries for
10999 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11000
7a18af49
KR
110012000-05-25 Ken Raeburn <raeburn@gnu.org>
11002
11003 * emacs.c (main): Initialize keyboard syms before initializing
11004 window code, so face names are available.
11005
d2af47df
SM
110062000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11007
11008 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11009 of an anchor at the beginning of a shy-group.
11010
fc6a6a4e
GM
110112000-05-25 Gerd Moellmann <gerd@gnu.org>
11012
11013 * xdisp.c (handle_invisible_prop): Don't try to skip over
11014 invisible text if end of text is already reached.
11015
005f0d35
DL
110162000-05-25 Dave Love <fx@gnu.org>
11017
02513cdd
DL
11018 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11019
005f0d35
DL
11020 * coding.c (encode_eol): Add null statement after label.
11021
89f6ca4e
EZ
110222000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11023
11024 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11025 2000-05-20.
11026
a4e1759e
KH
110272000-05-25 Kenichi Handa <handa@etl.go.jp>
11028
11029 * ccl.c (ccl_driver): Fix previous change.
11030
eacfd7fe
KH
110312000-05-25 Kenichi Handa <handa@etl.go.jp>
11032
46ab33a9
KH
11033 * coding.c (run_pre_post_conversion_on_str): Set point to the
11034 beginning of buffer before calling coding->post_read_conversion.
11035 (decode_coding_string): Give correct args to
11036 run_pre_post_conversion_on_str.
11037 (encode_coding_string): Likewise.
11038
eacfd7fe
KH
11039 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11040 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11041 eight-bit-graphic correctly.
11042
f8569325
DL
110432000-05-24 Kenichi HANDA <handa@etl.go.jp>
11044
11045 * fileio.c (Finsert_file_contents): Even if a file is not found,
11046 execute codes for setting up coding system. Call
11047 after-insert-file-functions unconditionally.
11048
04545643
GM
110492000-05-24 Gerd Moellmann <gerd@gnu.org>
11050
11051 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11052 BSD_PGRPS are not defined.
11053
747d90ea
KH
110542000-05-24 Kenichi Handa <handa@etl.go.jp>
11055
11056 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11057 DESCRIPTION.
11058 (syms_of_charset): Avoid building same strings.
11059
716e3b88
GM
110602000-05-23 Gerd Moellmann <gerd@gnu.org>
11061
11062 * lread.c (Fload): Add a comment about the meaning of
11063 Vuser_init_file being t.
11064
11065 * puresize.h (BASE_PURESIZE): Increase to 675000.
11066
11067 * s/gnu-linux.h (setpgrp): Don't define it here because this
11068 prevents compilation on GNU/Linux systems with glib 2.2.
11069
11070 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11071 as setpgid.
427ec082 11072
9aeb39fa
EZ
110732000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11074
11075 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11076 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11077 version.
11078 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11079
29ced61b
KH
110802000-05-23 Kenichi Handa <handa@etl.go.jp>
11081
52283633 11082 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11083
3d80f24d
KH
11084 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11085
52283633 11086 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11087
29ced61b
KH
11088 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11089
d7e00792
KH
110902000-05-22 Kenichi Handa <handa@etl.go.jp>
11091
c9d80d38
KH
11092 * keyboard.c (read_char): Allow character codes 128..255 to be
11093 handled by input-method-function.
11094
d7e00792
KH
11095 * insdel.c (adjust_markers_for_replace): Fix previous change.
11096 (adjust_after_replace): If PREV_TEXT is nil, call
11097 adjust_markers_for_insert, not adjust_markers_for_replace.
11098
087121cc 110992000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11100
087121cc
GM
11101 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11102 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11103 [HAVE_GRANDPT]: Define.
11104 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11105
11106 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11107 like SYSV_PTYS.
11108
11109 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11110
11111 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11112
c9671f81
KH
111132000-05-20 Kenichi Handa <handa@etl.go.jp>
11114
11115 The following changes are to handle 8-bit characters in a
11116 multibyte buffer/string without facing with byte combining
11117 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11118 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11119
11120 * Makefile.in (fns.o): Depend on charset.h.
11121
11122 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11123 convert it to unibyte.
11124 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11125
11126 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11127 apparent char boundary.
11128 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11129 0x80..0x9F to/from multibyte form.
11130
11131 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11132 to unibyte.
11133
11134 * callproc.c (Fcall_process): Always encode an argument string if
11135 it is multibyte. Setup src_multibyte and dst_multibyte members of
11136 process_coding properly.
ce75fd23 11137
c9671f81
KH
11138 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11139 SPLIT_NON_ASCII_CHAR.
11140
11141 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11142 as is.
11143 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11144
52283633 11145 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11146 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11147 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11148 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11149 and eight-bit-graphic.
11150 (char_to_string): Likewise. Signal an error for too large
11151 character code.
11152 (char_printable_p): Return 0 for 8-bit characters.
11153 (update_charset_table): Update iso_charset_table only when a final
11154 character is non-negative.
11155 (find_charset_in_text): Renamed from find_charset_in_str.
11156 Arguments and return value changed. Callers changed.
11157 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11158 be -1 if CHARSET is used only internally.
11159 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11160 eight-bit-graphic.
11161 (Fcharset_after): Simplified.
11162 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11163 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11164 (multibyte_chars_in_text): Simplified by assuming there's no
11165 invalid multibyte sequence.
52283633
SM
11166 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11167 (str_as_unibyte): New functions.
11168 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11169 (init_charset_once): Initialization for
11170 LEADING_CODE_8_BIT_CONTROL.
11171 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11172 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11173 eight-bit-control and eight-bit-graphic.
11174
52283633
SM
11175 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11176 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11177 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11178 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11179 (CHARSET_REVERSE_CHARSET): Likewise.
11180 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11181 eight-bit-graphic.
11182 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11183 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11184 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11185 encounter an invalid multibyte sequence.
11186 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11187 sequence is always valid.
11188 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11189 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11190 (CHAR_STRING): For 8-bit characters, call char_to_string.
11191 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11192 multibyte sequence is always valid.
11193 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11194 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11195 (str_as_unibyte): Extern them.
c9671f81 11196 (BCOPY_SHORT): Fix a bug.
52283633 11197 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11198 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11199 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11200 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11201
bd4bde7f 11202 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11203 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11204 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11205 (EMIT_BYTES): New macros.
11206 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11207 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11208 macros deleted.
11209 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11210 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11211 check the validity of multibyte sequence.
11212 (decode_coding_emacs_mule): New function.
11213 (encode_coding_emacs_mule): New macro.
11214 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11215 the source.
11216 (DECODE_ISO_CHARACTER): Just return a character code.
11217 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11218 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11219 EMIT_CHAR to produced decoded characters. Exit the loop only by
11220 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11221 block here.
11222 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11223 only position codes for an invalid character.
11224 (encode_designation_at_bol): Return new destination pointer. 5th
11225 arg DSTP is changed to DST.
11226 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11227 from the source by ONE_MORE_CHAR. Don't handle the case of last
11228 block here.
11229 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11230 macros deleted.
52283633
SM
11231 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11232 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11233 TWO_MORE_BYTES to fetch a byte from the source.
11234 (encode_eol): Pay attention to coding->src_multibyte.
11235 (detect_coding, detect_eol): Preserve members src_multibyte and
11236 dst_multibyte.
11237 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11238 (encoding_buffer_size): Set magnification to 3 for all coding
11239 systems that require encoding.
11240 (ccl_coding_driver): For decoding, be sure that the result is
11241 valid multibyte sequence.
11242 (decode_coding): Initialize coding->errors and coding->result.
11243 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11244 and raw-text, always call decode_eol. Handle the case of last
11245 block here. If not coding->dst_multibyte, convert the resulting
11246 sequence to unibyte.
11247 (encode_coding): Initialize coding->errors and coding->result.
11248 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11249 and raw-text, always call encode_eol. Handle the case of last
11250 block here.
11251 (shrink_decoding_region, shrink_encoding_region): Detect cases
11252 that we can't skip data more rigidly.
11253 (code_convert_region): Setup src_multibyte and dst_multibyte
11254 members of coding. For decoding, if the buffer is multibyte,
11255 convert the source sequence to unibyte in advance. For encoding,
11256 if the buffer is multibyte, convert the resulting sequence to
11257 multibyte afterward.
11258 (run_pre_post_conversion_on_str): New function.
11259 (code_convert_string): Deleted and divided into the following two.
11260 (decode_coding_string, encode_coding_string): New functions.
11261 (code_convert_string1, code_convert_string_norecord): Call one of
11262 above.
11263 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11264 MAKE_NON_ASCII_CHAR.
52283633
SM
11265 (Fset_terminal_coding_system_internal)
11266 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11267 and dst_multibyte members.
11268 (init_coding_once): Initialize iso_code_class with new enum
11269 ISO_control_0 and ISO_control_1.
11270
11271 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11272 devided into ISO_control_0 and ISO_control_1.
11273 (struct coding_system): New members src_multibyte, dst_multibyte,
11274 errors, and result. Delete member fake_multibyte.
11275 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11276 nonzero.
11277 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11278 nonzero.
11279
11280 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11281 (Faset): Likewise.
11282
11283 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11284 multibyte form.
11285 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11286 combining occurs.
11287 (Ftranspose_region): Delete codes for handling byte combining.
11288
11289 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11290 dst_multibyte members of coding. On handling REPLACE on unibyte
11291 buffer, convert the result of decode_coding to unibyte. On
11292 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11293 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11294 multibyteness of the source (buffer or string).
11295
11296 * fns.c (concat): Handle 8-bit characters correctly.
11297 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11298 unibyte in the result.
11299 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11300 valid multibyte form in the result.
11301 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11302 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11303 return -1, signal an error.
11304 (base64_encode_1): New arg MULTIBYTE. Get each character by
11305 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11306 character is found, return -1.
11307 (Fbase64_decode_region): Delete codes for handling byte-combining.
11308 Treat each decoded byte as a unibyte character.
11309 (Fbase64_decode_string): Return unibyte string.
11310 (Fcompare_strings, concat, string_byte_to_char): Use
11311 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11312 FETCH_STRING_CHAR_ADVANCE.
11313 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11314 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11315
11316 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11317 SPLIT_NON_ASCII_CHAR.
11318 (fontset_ref_via_base, fontset_set): Likewise
11319
11320 * insdel.c (adjust_markers_for_record_delete): Deleted.
11321 (adjust_markers_for_insert): Argument changed. Caller changed.
11322 (adjust_markers_for_replace): Likewise.
52283633
SM
11323 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11324 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11325 (copy_text): Delete unused local varialbe c_save. For converting
11326 to multibyte, be sure to make all 8-bit characters in valid
11327 multibyte form.
11328 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11329 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11330 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11331 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11332 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11333 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11334 handling byte combining.
11335 (adjust_before_replace): Deleted.
427ec082 11336
c9671f81
KH
11337 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11338 SPLIT_NON_ASCII_CHAR.
11339 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11340 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11341 (Fkey_description): Likewise.
11342
11343 * lread.c (read1): On reading multibyte string, be sure to make
11344 all 8-bit chararacters in valid multibyte form.
11345 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11346
11347 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11348 unconditionally.
11349
11350 * process.c (Fstart_process): GCPRO current_dir before calling
11351 Ffind_operation_coding_system. Encode arguments here.
11352 (create_process): Don't encode arguments here. Setup
11353 src_multibyte and dst_multibyte members of struct coding.
11354 (read_process_output): Setup src_multibyte and dst_multibyte
11355 members of struct coding. If the output is to multibyte buffer,
11356 always decode the output of the process. Adjust the
52283633 11357 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11358 (send_process): Setup coding->src_multibyte according to the
11359 multibyteness of the source.
11360
52283633 11361 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11362 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11363 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11364
52283633 11365 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11366
11367 * w16select.c (Fw16_set_clipboard_data): Setup members
11368 src_multibyte and dst_multibyte of coding. Adjusted for the
11369 change for find_charset_in_str.
11370 (Fw16_get_clipboard_data): Likewise.
11371
11372 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11373 dst_multibyte of coding.
11374 (x_to_w32_font): Likewise.
11375
11376 * w32select.c (Fw32_set_clipboard_data): Setup members
11377 src_multibyte and dst_multibyte of coding. Adjusted for the
11378 change for find_charset_in_str.
11379 (Fw32_get_clipboard_data): Likewise.
11380
11381 * xdisp.c (get_next_display_element): Handle 8-bit characters
11382 correctly.
52283633
SM
11383 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11384 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11385
11386 * xselect.c (selection_data_to_lisp_data): Setup members
11387 src_multibyte and dst_multibyte of coding. Adjusted for the
11388 change for find_charset_in_str.
11389 (lisp_data_to_selection_data): Likewise.
11390
5f64c9e0
GM
113912000-05-19 Gerd Moellmann <gerd@gnu.org>
11392
52283633 11393 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11394
5f64c9e0
GM
11395 * dispextern.h (Vimage_types): Add extern declaration.
11396
11397 * xdisp.c (Vimage_types): Moved here from xfns.c.
11398 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11399
11400 * xfns.c (Vimages_types): Moved to xdisp.c.
11401 (syms_of_xfns): Move `image-types' to xdisp.c.
11402
11403 * w32fns.c (Vimage_types): Removed.
11404 (syms_of_w32fns): Remove `image-types'.
11405
813086ea
KH
114062000-05-18 Kenichi Handa <handa@etl.go.jp>
11407
11408 * fns.c (map_char_table): Pay attention to character number of
11409 charset. Check the validity of charset at the first level. For
11410 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11411 the default value.
11412
11413 * fontset.c: Include "buffer.h".
11414 (fs_load_font): If the face has fontset, record the face ID in
11415 that fontset.
11416 (Finternal_char_font): New function.
11417 (accumulate_font_info): New function.
11418 (Ffontset_info): Rewritten for the new fontset implementation.
11419 (syms_of_fontset): Register Vdefault_fontset in the first element
11420 of Vfontset_table. Include Vdefault_fontset in
11421 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11422 function.
11423
bdaebbf0
DL
114242000-05-16 Dave Love <fx@gnu.org>
11425
11426 * m/iris5d.h: Deleted -- unused.
11427
cb613bb8
GM
114282000-05-16 Gerd Moellmann <gerd@gnu.org>
11429
b15f3b77
GM
11430 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11431 `invalid' instead of `illegal'.
11432
11433 * indent.c (Fmove_to_column): When ending within a tab, insert
11434 spaces first so that markers at the end of the tab get adjusted.
11435
835c1b36
GM
11436 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11437 buffer list that wasn't selected in that frame.
11438
cb613bb8
GM
11439 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11440 is needed on mescaline, use a 2 char prefix, and call
11441 make_temp_name with second arg non-zero.
11442
11443 * fileio.c (make_temp_name): New function, extracted from
11444 Fmake_temp_name.
11445 (Fmake_temp_name): Use it.
11446
f685bea9
EZ
114472000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11448
52283633 11449 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11450
a1b8d58b
GM
114512000-05-15 Gerd Moellmann <gerd@gnu.org>
11452
11453 * Makefile.in (lisp): Add env.elc.
11454
11455 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11456
a265079f
GM
114572000-05-12 Gerd Moellmann <gerd@gnu.org>
11458
11459 * search.c (Freplace_match): Handle case of `\N' in the
11460 replacement when there's no group N.
11461
da4496b6
GM
114622000-05-11 Gerd Moellmann <gerd@gnu.org>
11463
0ace421a
GM
11464 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11465 of the message to message_dolog.
11466
1172eb8d
GM
11467 * keyboard.c (read_char): Don't clear current message for help
11468 events; let the code handling help events handle this. Change
11469 code detecting help events that should be ignored.
11470
da4496b6
GM
11471 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11472 we're interating over a string.
11473
0623e40f
DL
114742000-05-09 Dave Love <fx@gnu.org>
11475
11476 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11477 that offset before writing. Move gcpro region past call of
11478 Ffile_regular_p.
11479
bae2503b
DL
114802000-05-04 Dave Love <fx@gnu.org>
11481
11482 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11483
ec82fb2f
GM
114842000-05-04 Gerd Moellmann <gerd@gnu.org>
11485
11486 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11487 of inserted characters when BUF equals the current buffer, and PT
11488 is in front of or equal to FROM.
11489
cbf18892
GM
114902000-05-03 Gerd Moellmann <gerd@gnu.org>
11491
4ff40dd0
GM
11492 * xdisp.c (handle_single_display_prop): If display property value
11493 is invalid, or something not supported on the frame, restore
11494 iterator's position to what it was initially. Make sure to return
11495 0 for invalid and unsupported property values.
11496
cbf18892
GM
11497 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11498 that x_per_char_metric returns null.
11499
1b0672c3
GM
115002000-05-02 Gerd Moellmann <gerd@gnu.org>
11501
576da55d
GM
11502 * xterm.h (struct face): Add forward declaration.
11503 (struct image): Ditto.
11504 (image_ascent): Add prototype.
11505
11506 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11507 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11508 image_ascent instead of using IMAGE_ASCENT.
11509
11510 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11511 (IMAGE_ASCENT): Removed.
11512
11513 * xfns.c (Qcenter): New variable.
11514 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11515 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11516 (image_ascent): New function.
11517 (lookup_image): Recognize `:ascent center'.
11518 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11519 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11520 (xbm_load): Don't set image's ascent here.
11521 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11522 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11523 check ascent values here.
11524 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11525 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11526 (syms_of_xfns): Initialize Qcenter.
11527
1b0672c3
GM
11528 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11529 to the limits, increase the limits.
11530
0d7811ed
KH
115312000-05-01 Kenichi Handa <handa@etl.go.jp>
11532
11533 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11534 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11535
a943a5ca
GM
115362000-04-28 Gerd Moellmann <gerd@gnu.org>
11537
11538 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11539 taller than the window.
11540
5dba1e29
KH
115412000-04-28 Kenichi Handa <handa@etl.go.jp>
11542
11543 * xfaces.c (realize_x_face): Fix the argument of the second
11544 xassert. BASE_FACE may not be a face for ASCII.
11545
353964e3
GM
115462000-04-27 Gerd Moellmann <gerd@gnu.org>
11547
c76e04a8
GM
11548 * print.c (print_object): Treat print-length < 0 as nil.
11549
11550 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11551
11552 * s/freebsd.h (TERMCAP_OBJ): Removed.
11553 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11554
11555 * lread.c (read1): Don't treat period followed by certain
11556 characters as symbol start.
11557
11558 * xfns.c (slurp_file): New function.
11559 (xbm_image_p): Handle case of in-memory XBM files.
11560 (xbm_scan): Rewritten to work on memory buffers instead of files.
11561 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11562 Work on memory buffers instead of files. If DATA is null test
11563 if buffer looks like an in-memory XBM file.
11564 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11565 memory buffers instead of files.
11566 (xbm_file_p): New function.
11567 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11568
353964e3
GM
11569 * lread.c (end_of_file_error): New function.
11570 (read1): Call it instead of signaling `end-of-file' directly.
11571
427ec082 11572 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11573 with Fprinc instead of Fprin1.
11574
24d744ac
KR
115752000-04-26 Ken Raeburn <raeburn@gnu.org>
11576
11577 * window.c (freeze_window_start): Check that minibuffer scroll
11578 window isn't nil before extracting the window structure pointer
11579 from it.
11580
11581 * undo.c (record_delete): If we hit the end of the undo list, stop
11582 picking elements apart.
11583
7464346d
GM
115842000-04-26 Gerd Moellmann <gerd@gnu.org>
11585
11586 * xdisp.c (display_line): If lines are continued, restore
11587 iterator's ascent/descent information to the values before the
11588 first glyph not fitting on the line.
11589
612839b6
GM
115902000-04-25 Gerd Moellmann <gerd@gnu.org>
11591
11592 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11593 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11594
11595 * dispnew.c (increment_matrix_positions): Renamed from
11596 increment_glyph_matrix_buffer_positions.
11597 (increment_row_positions): Renamed from
11598 increment_glyph_row_buffer_positions.
11599
11600 * dispextern.h: Change names of renamed functions from dispnew.c
11601 in prototypes.
11602
cc181e95
GM
116032000-04-24 Gerd Moellmann <gerd@gnu.org>
11604
abfcc168
GM
11605 * fileio.c (Fdo_auto_save): Create directories for auto-save
11606 list file if necessary.
11607
cc181e95
GM
11608 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11609 from buffer or frame.
11610 (automatic_hscrolling_p): New variable.
11611 (hscroll_windows): Scroll windows horizontally only if automatic
11612 hscrolling is allowed.
11613 (syms_of_xdisp): New variable `automatic-hscrolling'.
11614
11615 * frame.h (struct frame): Add member extra_line_spacing.
11616
11617 * xfns.c (x_set_line_spacing): New function.
11618 (Fx_create_frame): Set line spacing from resources.
11619 (Qline_spacing): New variable.
11620 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11621
cc181e95
GM
11622 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11623
11624 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11625 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11626 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11627 extra_line_spacing from default value.
11628 (init_buffer_once): Initialize default value of extra_line_spacing.
11629
11630 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11631 and extra3.
11632
11633 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11634 prompt_width. Add extra line spacing.
11635
11636 * term.c (produce_glyphs): Remove reference to struct it's
11637 prompt_width.
11638
11639 * dispextern.h (struct it): Remove member prompt_width, add
11640 extra_line_spacing.
11641
58827478
GM
116422000-04-22 Gerd Moellmann <gerd@gnu.org>
11643
11644 * dispnew.c (update_frame_line): When writing a whole line, make
11645 sure cursor is in the right row afterwards, otherwise a use of
11646 capability `ch' in cmgoto might leave the cursor in the row below.
11647
25a87f42
GM
116482000-04-21 Gerd Moellmann <gerd@gnu.org>
11649
11650 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11651
11652 * keyboard.c (timer_check): Fix typo in comment.
11653
54edf5c2
KH
116542000-04-21 Kenichi Handa <handa@etl.go.jp>
11655
11656 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11657 name change: ch -> character.
11658
3a64eef5
GM
116592000-04-20 Gerd Moellmann <gerd@gnu.org>
11660
11661 * keyboard.c (echo_message_buffer): New variable.
11662 (echo_now): Set echo_message_buffer to the echo area buffer used
11663 to display the echo.
11664 (cancel_echoing): Reset echo_message_buffer to nil.
11665 (read_char): Code rewritten that handles canceling an echo or
11666 echoing a dash, respectively.
11667
11668 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11669 directory doesn't exist.
11670
6142fdcb
DL
116712000-04-19 Dave Love <fx@gnu.org>
11672
11673 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11674 (concat): Don't allow numeric args.
11675 (Fconcat): Doc change.
6142fdcb 11676
ac6b5352
SM
116772000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11678
11679 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11680 instead define end_match(1|2) more carefully.
11681 Use GET_CHAR_BEFORE_2 for `begline'.
11682
cb9215e4
GM
116832000-04-19 Gerd Moellmann <gerd@gnu.org>
11684
5e3dac3f
GM
11685 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11686 on 64-bit systems where NULL is defined as `0'.
11687
11688 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11689 the `variable argument list' to make it work on Alpha.
11690
cb9215e4
GM
11691 * m/alpha.h (_LP64) [!_LP64]: Define.
11692 (ORDINARY_LINK): Define for NetBSD.
11693
11694 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11695
f532dca0
DL
116962000-04-19 Dave Love <fx@gnu.org>
11697
c750667e
DL
11698 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11699 change.
11700
11701 * Makefile.in (LIBS): Don't use.
11702 (GETLOADAVG_OBJ): Define again.
11703 (otherobj): Add GETLOADAVG_OBJ.
11704
f532dca0
DL
11705 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11706
1c7e22fd
GM
117072000-04-18 Gerd Moellmann <gerd@gnu.org>
11708
f6d3257b
GM
11709 * lread.c (read_filtered_event): Cancel and start busy cursor.
11710
427ec082 11711 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11712 that the per-character metrics may be null.
11713
e10f64e7
GM
117142000-04-17 Gerd Moellmann <gerd@gnu.org>
11715
0daee095
GM
11716 * buffer.c (clone_per_buffer_values): New function.
11717 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11718 clone_per_buffer_values if CLONE is not nil.
11719
e10f64e7
GM
11720 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11721
38687d43
DL
117222000-04-16 Dave Love <fx@gnu.org>
11723
11724 * Makefile.in: Remove obsolete localcpp stuff.
11725 (GETLOADAVG_OBJ): Don't define.
11726 (obj): Move LIBOBJS...
11727 (otherobj): ... to here.
11728 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11729 whitespace-only lines after the continuation (Irix).
11730
c21c7262
GM
117312000-04-14 Gerd Moellmann <gerd@gnu.org>
11732
11733 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11734
11735 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11736
314767c0
DL
117372000-04-14 Dave Love <fx@gnu.org>
11738
11739 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11740 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11741 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11742 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11743 NLIST_STRUCT.
11744
11745 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11746 autoconfiscated HAVE_GETLOADAVG.
11747
11748 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11749 BROKEN_MKTIME.
11750
a2522dca
GM
117512000-04-14 Gerd Moellmann <gerd@gnu.org>
11752
11753 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11754 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11755
33744b5d
DL
117562000-04-14 Dave Love <fx@gnu.org>
11757
c21c7262 11758 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11759 (INTERVAL_SRC): Convert to make variable.
11760 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11761 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11762 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11763 add LIBOBJS.
11764 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11765 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11766 (shortlisp): Add facemenu, float-sup, frame.
11767 (SOME_MACHINE_LISP): Remove them from here.
11768 (LIBES): Change unused LDLIBS to autoconf LIBS.
11769
11770 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11771
9d3d5916
KH
117722000-04-14 Kenichi Handa <handa@etl.go.jp>
11773
11774 * composite.c (update_compositions): If FROM and TO are not in a
11775 valid range, do nothing.
11776
198e3c7a
GM
117772000-04-13 Gerd Moellmann <gerd@gnu.org>
11778
52283633 11779 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11780
52283633 11781 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11782
11783 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11784 as TERMCAP_OBJ.
11785
055a28c9
EZ
117862000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11787
11788 * fileio.c (a_write): Remove redundant semi-colons.
11789 (e_write): Return -1 if failed to write all the data.
11790 This fixes the changes made at 1999-12-15.
11791
f5c75033
DL
117922000-04-12 Dave Love <fx@gnu.org>
11793
11794 * fns.c (mapcar1): Test for null vals to support mapc.
11795 (Fmapc): New function.
11796
0c3cfc51
EZ
117972000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11798
11799 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11800 (IT_frame_up_to_date): Support the buffer local value of
11801 cursor-type, if defined.
11802
33465a31
DL
118032000-04-10 Dave Love <fx@gnu.org>
11804
11805 * editfns.c (preceding-char, following-char): Doc fix.
11806
6ed56568
KR
118072000-04-10 Ken Raeburn <raeburn@gnu.org>
11808
11809 * Makefile.in (temacs): Revert 2000-03-12 change.
11810
7cf80d4e
JR
118112000-04-10 Jason Rumney <jasonr@gnu.org>
11812
11813 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11814
34f3f342
GM
118152000-04-10 Gerd Moellmann <gerd@gnu.org>
11816
1a1b1895
GM
11817 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11818 area buffer, if it's not set up yet.
11819
34f3f342
GM
11820 * indent.c (compute_motion): Set immediate_quit.
11821
be0dbdab
GM
118222000-04-09 Gerd Moellmann <gerd@gnu.org>
11823
52283633 11824 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11825 (realize_tty_face): Suppress boldness if colors are the inverse of
11826 the default colors, and tty_suppress_bold_inverse_default_colors_p
11827 is set.
11828 (Ftty_suppress_bold_inverse_default_colors): New function.
11829 (syms_of_xfaces): Defsubr it.
11830
be0dbdab
GM
11831 * buffer.c (Frestore_buffer_modified_p): New function.
11832 (syms_of_buffer): Defsubr it.
11833
e8413c3b
KR
118342000-04-08 Ken Raeburn <raeburn@gnu.org>
11835
87f67317
KR
11836 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11837 charset id (int) argument, not a charset (Lisp_Object).
11838
e8413c3b
KR
11839 * coding.h (code_convert_string): Declare.
11840 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11841 object, as the fourth argument to code_convert_string.
11842
52283633 11843 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11844 (Fset_fontset_font): Use EQ to compare lisp objects.
11845
7c752c80
KR
118462000-04-05 Ken Raeburn <raeburn@gnu.org>
11847
c0333abc
KR
11848 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11849 a pointer that looks like a lisp object.
11850 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11851 zero, instead see whether it's an integer object, since they can't
11852 have intervals.
11853 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11854
52283633
SM
11855 * dispnew.c (allocate_matrices_for_frame_redisplay)
11856 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11857 to convert between (unsigned) int values and lisp integers.
11858 * keyboard.c (read_key_sequence): Likewise.
11859 * lread.c (substitute_object_recurse): Likewise.
11860 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11861 * minibuf.c (do_completion, Fminibuffer_complete_word)
11862 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11863 * term.c (produce_special_glyphs): Likewise.
11864
11865 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11866 * print.c (print_preprocess, print_object): Likewise.
11867
11868 * search.c (compile_pattern): Use NILP when checking for nil.
11869
74e49b38
KR
11870 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11871 __OPTIMIZE__]: Provide a GNU C macro version that handles
11872 lisp-object unions.
11873 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11874 field, to better cope with ENABLE_CHECKING and calls that modify a
11875 Lisp_Object using its old value.
11876
685e5ed2
GM
118772000-04-04 Gerd Moellmann <gerd@gnu.org>
11878
c407c570
GM
11879 * window.c (compare_window_configurations): Signal an error
11880 if parameters C1 or C2 aren't window configurations.
11881
685e5ed2
GM
11882 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11883 AFTER_POTENTIAL_GC calls around calls to functions that can
11884 signal an error and thus invoke the debugger.
11885
587a49ab
GM
118862000-04-03 Gerd Moellmann <gerd@gnu.org>
11887
62f20204
GM
11888 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11889 an error if decoding fails.
11890
587a49ab
GM
11891 * keyboard.c (lispy_mouse_names): Variable removed.
11892 (Vlispy_mouse_stem): New variable.
11893 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11894 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11895 for any mouse button number. Increase size of mouse_syms and
11896 button_down_location as needed. Call modify_event_symbol with
11897 different arguments.
11898 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11899 Call modify_event_symbol with different arguments.
11900 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11901 for any button number. Call modify_event_symbol with different
11902 arguments.
11903 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11904 Accept a string for NAME_ALIST_OR_STEM.
11905
11906 * lisp.h (larger_vector): Add prototype.
11907
11908 * fns.c (larger_vector): Make externally visible.
11909
11910 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11911
2d1675e4
SM
119122000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11913
11914 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11915 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11916 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11917 we are between str1 and str2.
11918 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11919 (PATFETCH): Use `TRANSLATE'.
11920 (PATFETCH_RAW): Fetch multibyte char if applicable.
11921 (PATUNFETCH): Remove.
11922 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11923 When writing a char, write it directly into the pattern buffer rather
11924 than going needlessly through a temp char-array.
11925 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11926 multibyte magic and remove the useless `#ifdef emacs'.
11927 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11928 buffer.
11929
11930 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11931 conditional on `emacs'.
11932
11933 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11934
cc2d8c6b
KR
119352000-04-01 Ken Raeburn <raeburn@gnu.org>
11936
11937 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11938 non-union-type versions of XMARK and friends here, because XMARK
11939 and friends won't work on an integer field if NO_UNION_TYPE is not
11940 defined.
52283633 11941 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11942
52283633 11943 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11944 (syms_of_composite): Delete local var NARGS, pass an int as first
11945 argument to Fmake_hash_table.
11946
2387b382
KR
11947 * editfns.c (text_property_stickiness): Use NILP to test
11948 Lisp_Object boolean value.
11949 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11950 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11951 problems reading from and changing the same lisp value in an
11952 XSETSTRING call.
11953
27660e89
GM
119542000-04-01 Gerd Moellmann <gerd@gnu.org>
11955
11956 * term.c (TN_no_color_video): New variable.
11957 (term_init): Intitialize TN_no_color_video.
11958 (enum no_color_bit): New enumeration.
11959 (MAY_USE_WITH_COLORS_P): New macro.
11960 (turn_on_face): Use it to determine if attributes may be used
11961 combined with colors.
11962
3578db3c
KR
119632000-04-01 Ken Raeburn <raeburn@gnu.org>
11964
11965 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11966 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11967 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11968 proper accessor macros.
11969 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11970 (grow_mini_window): Fix typo getting int value of root->height.
11971
6fc556fd
KR
11972 * xdisp.c (compute_string_pos): Fix order of arguments to
11973 string_pos_nchars_ahead.
11974 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11975 count arg to variable-arg routines like Frun_hook_with_args and
11976 Fformat.
587a49ab
GM
11977 (back_to_previous_visible_line_start)
11978 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11979 fixed-arg routines like Fget_char_property and Fmake_string.
11980 (reconsider_clip_changes): Use XINT when comparing integer lisp
11981 objects, or passing them as int arguments.
587a49ab
GM
11982 (mark_window_display_accurate, insert_left_trunc_glyphs)
11983 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11984 storing or passing integer values as lisp objects.
11985 (set_cursor_from_row, highlight_trailing_whitespace): Use
11986 INTEGERP, not implicit test against zero, for glyph object.
11987 (try_window_id): Don't use make_number when we want an int value.
11988
11989 * xfaces.c (xlfd_symbolic_value): Make last argument a
11990 Lisp_Object, to be consistent with callers.
11991 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11992 (lface_hash): Apply XFASTINT to lisp values before folding in.
11993
11994 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11995 fill in window width and height. Pass an int, not a lisp object,
11996 as first arg to Finsert.
11997
6e7b2457
GM
119982000-04-01 Gerd Moellmann <gerd@gnu.org>
11999
610d841e
GM
12000 * xfaces.c (realize_basic_faces): Block input while realizing
12001 the faces.
12002
6e7b2457
GM
12003 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12004
12005 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12006
aa110c0c
GM
120072000-03-31 Gerd Moellmann <gerd@gnu.org>
12008
12009 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12010 or ASCII, handle case that per-char metric is null.
aa110c0c 12011
8801a864
KR
120122000-03-30 Ken Raeburn <raeburn@gnu.org>
12013
c6129d7e
KR
12014 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12015
52283633
SM
12016 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12017 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12018 pointer, using eassert.
12019 * frame.h (XFRAME): Likewise.
12020
52283633
SM
12021 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12022 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12023 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12024 * data.c (set_internal): Likewise.
52283633
SM
12025 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12026 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12027 * fileio.c (auto_save_1): Likewise.
12028 * insdel.c (check_markers): Likewise.
12029 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12030 * undo.c (record_insert): Likewise.
12031 * vmsproc.c (child_sig): Likewise.
12032 * window.c (unshow_buffer, window_loop): Likewise.
12033 * xterm.c (x_erase_phys_cursor): Likewise.
12034
8e7af858
GM
120352000-03-30 Gerd Moellmann <gerd@gnu.org>
12036
12037 * xfns.c (free_image_cache): Free the cache structure itself
12038 last, after all its members have been freed.
12039
12040 * lisp.h (xstrdup): Add prototype.
12041
12042 * alloc.c (xstrdup): Moved here from xfaces.c.
12043 (allocating_for_lisp): Variable removed.
52283633 12044 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12045
12046 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12047 of Fsymbol_value.
12048 (xstrdup): Moved to alloc.c.
12049
e0b8c689
KR
120502000-03-29 Ken Raeburn <raeburn@gnu.org>
12051
b96f9fb7
KR
12052 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12053
12054 * emacs.c (main): Fix sense of no-loadup test.
12055
e0b8c689
KR
12056 * config.in (ENABLE_CHECKING): Undef.
12057
12058 * lisp.h (struct interval): Replace "parent" field with a union of
12059 interval pointer and Lisp_Object; add new bitfield to use as
12060 discriminant. Change other flag fields to bitfields.
12061 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12062 is defined and the supplied test fails, print a message and abort.
12063 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12064
12065 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12066 pointers; abort if the value looks like a lisp object.
52283633
SM
12067 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12068 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12069 Modify for new interval parent definition.
12070
52283633
SM
12071 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12072 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12073 addressable lisp object in the interval structure.
12074 (die): New function.
12075 (suppress_checking): New variable.
12076
12077 * intervals.c (interval_start_pos): Just return 0 if there's no
12078 parent object.
12079
f83c5440
GM
120802000-03-29 Gerd Moellmann <gerd@gnu.org>
12081
12082 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12083 and earlier Emacs versions.
12084
12085 * keyboard.c (Ftop_level): Cancel busy-cursor.
12086
12087 * eval.c (call_debugger): Cancel busy-cursor.
12088
fdce64ff
KH
120892000-03-29 Kenichi Handa <handa@etl.go.jp>
12090
12091 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12092 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12093
f6a3f532
SM
120942000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12095
12096 * regex.c (analyse_first): New function obtained by ripping out most
12097 of re_compile_fastmap and generalizing it a little bit so that it
12098 can also just return whether a given (sub)pattern can match the empty
12099 string or not.
12100 (regex_compile): Use `analyse_first' to decide whether the loop-check
12101 needs to be done or not for *, +, *? and +? (the loop check is costly
12102 for non-greedy repetition).
12103 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12104
e9b309ac
DL
121052000-03-28 Dave Love <fx@gnu.org>
12106
52283633 12107 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12108
e9b309ac
DL
12109 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12110
ed0767d8
SM
121112000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12112
12113 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12114 an expression.
12115 (enum re_opcode_t): Update description of succeed_n.
12116 (PATFETCH): Always define.
12117 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12118 operators, char classes, shy-groups and intervals).
12119 Optimize special cases of intervals so as to only use succeed_n and
12120 jump_n when really needed.
12121 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12122 that we don't have to handle the special cases any more.
12123 Simplify on_failure_jump handling as well.
12124
e11e7e46
JR
121252000-03-28 Jason Rumney <jasonr@gnu.org>
12126
12127 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12128
88faab89
GM
121292000-03-27 Gerd Moellmann <gerd@gnu.org>
12130
182ff242
GM
12131 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12132
12133 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12134
182ff242
GM
12135 * alloc.c (mark_maybe_object): New function.
12136 (mark_memory): Use it.
12137 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12138 (setjmp_tested_p, longjmp_done): New variables.
12139 (test_setjmp): New function.
12140 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12141 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12142
c1005d06
GM
12143 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12144 to DEC_TEXT_POS and INC_TEXT_POS.
12145
12146 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12147 with parameter MULTIBYTE_P.
12148
52283633 12149 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12150
7439e5b9 12151 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12152 buffers because it looks for multibyte character byte sequences
12153 which don't exist in unibyte text.
7439e5b9 12154
d9c545da
GM
12155 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12156
11fd416e 12157 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12158 [DEBUG_X_COLORS]: New functions.
12159 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12160
12161 * xfns.c (x_set_cursor_color): Get color reference counts right.
12162
12163 * xterm.c (x_copy_color): New function.
12164 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12165
12166 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12167 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12168 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12169 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12170 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12171 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12172 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12173 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12174 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12175 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12176
11fd416e
GM
12177 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12178 names for handling per-buffer variables.
d9c545da
GM
12179
12180 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12181 instead of MAX_BUFFER_LOCAL_VARS.
12182 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12183
12184 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12185
88faab89
GM
12186 * xfns.c (x_specified_cursor_type): New function.
12187 (x_set_cursor_type): Use it.
12188
12189 * buffer.h (struct buffer): Add cursor_type.
12190
d80f42b7
SM
121912000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12192
12193 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12194 (print_partial_compiled_pattern, re_compile_fastmap):
12195 Handle new opcode.
d80f42b7
SM
12196 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12197 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12198 executing it as well as when popping it off the stack to find infinite
12199 loops in non-greedy repetition operators.
12200
89e80928
GM
122012000-03-26 Gerd Moellmann <gerd@gnu.org>
12202
3d4ff2dd
GM
12203 * doc.c (Qfunction_documentation): New variable.
12204 (syms_of_doc): Initialize Qfunction_documentation.
12205 (Fdocumentation): If FUNCTION is a symbol with non-nil
12206 `function-documentation' property, return a documentation derived
12207 from that.
12208
bd96bd79
GM
12209 * buffer.c (syms_of_buffer): Add default-cursor-type.
12210 (init_buffer_once): Don't let cursor_type have a local value
12211 in every buffer.
12212
19d1bc27
GM
12213 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12214 on buffer-local value of cursor_type.
12215 (x_draw_bar_cursor): Add parameter WIDTH.
12216
12217 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12218 (init_buffer_once): Set default cursor_type value to t.
12219 Mark cursor_type as local everywhere.
12220 (syms_of_buffer): New per-buffer variable cursor-type.
12221
89e80928
GM
12222 * buffer.h (struct buffer): Remove member local_var_flags,
12223 add local_flags.
12224 (MAX_BUFFER_LOCAL_VARS): New macro.
12225 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12226 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12227 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12228 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12229
52283633 12230 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12231
12232 * category.c (Fset_category_table): Use new macros for per-buffer
12233 variables.
12234
12235 * buffer.c (buffer_permanent_local_flags): Make a char array.
12236 (max_buffer_local_idx): New variable.
12237 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12238 for new handling of per-buffer variables.
12239 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12240 (init_buffer_once): Initialize per-buffer vars differently.
12241 Set max_buffer_local_idx.
12242
12243 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12244 variables.
12245
52283633 12246 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12247
12248 * data.c (do_symval_forwarding, store_symval_forwarding)
12249 (find_symbol_value, set_internal, default_value, Fset_default)
12250 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12251 per-buffer variables.
12252
12253 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12254
9a0dd3dc
GM
122552000-03-24 Gerd Moellmann <gerd@gnu.org>
12256
b68c375f
GM
12257 * xterm.c (x_term_init): Unblock input around call1 of
12258 Qvendor_specific_keysyms.
12259
9a0dd3dc
GM
12260 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12261 (find_defun_start): Consider an open parenthesis in column 0
12262 a defun start only if open_paren_in_column_0_is_defun_start is set.
12263 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12264
7973e637
SM
122652000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12266
12267 * eval.c (Fautoload): Add entry in load-history (if after dump).
12268 * lread.c (load-history): Update docstring.
12269
39210e90
GM
122702000-03-24 Gerd Moellmann <gerd@gnu.org>
12271
12272 * indent.c (Fvertical_motion): Always use the current buffer.
12273 Temporarily change the window's buffer, if necessary.
12274
72db3ab5
GM
122752000-03-23 Gerd Moellmann <gerd@gnu.org>
12276
12277 * xterm.c (fast_find_position): Make sure not to consider rows
12278 not visible in the window.
12279
990b2375
SM
122802000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12281
12282 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12283 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12284
ff4df011
JR
122852000-03-22 Jason Rumney <jasonr@gnu.org>
12286
12287 * w32menu.c (single_submenu): Set help string to NULL if none.
12288 (w32_menu_show): Set help string correctly.
12289 (add-menu-item): Set help string in MIIM_DATA for menu item.
12290 Load SetMenuItemInfoA explicitly.
12291 (w32_menu_display_help): New function.
427ec082 12292
ff4df011
JR
12293 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12294 (QCdata): Moved to xdisp.c.
12295
12296 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12297 (Vw32_charset_to_codepage_alist): Removed.
12298 (Vw32_charset_info_alist): New variable.
52283633
SM
12299 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12300 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12301 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12302 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12303 with TODO comment.
12304 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12305 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12306 Define Vw32_charset_info_alist and w32_charset symbols.
12307
123082000-03-22 Jason Rumney <jasonr@gnu.org>
12309
12310 * makefile.nt (w32bdf.obj): Update dependencies.
12311
12312 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12313
12314 * w32fns.c: Include fontset.h after dispextern.h.
12315 (Fx_create_frame): Do not create fontset.
12316 (w32_load_system_font): Doc fix.
12317 (Fx_close_connection): Free full_name if it is not shared.
12318
12319 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12320 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12321 Callers updated.
ff4df011
JR
12322 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12323 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12324 (w32_font_is_double_byte): New function, needs body.
12325 (x_append_glyph): Set glyph->glyph_not_available_p.
12326 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12327 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12328 character, convert it to a unibyte character.
12329 (struct glyph_string): Delete member `charset'.
12330 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12331 calculating it is found.
12332 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12333 the case that per char metric is not available correctly.
12334 (x_fill_glyph_string): Handle the case that the specific glyph is
12335 not available correctly.
12336 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12337 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12338 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12339 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12340 fontset. Don't call FS_LOAD_FONT.
12341
439d5cb4
KR
123422000-03-22 Ken Raeburn <raeburn@gnu.org>
12343
12344 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12345 (INT_LISPLIKE): New macro.
12346 (NULL_INTERVAL_P): Use it.
52283633
SM
12347 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12348 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12349 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12350
12351 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12352 explicit references to "parent" field of struct interval and
12353 associated unclean type conversions.
52283633
SM
12354 * intervals.c (create_root_interval, root_interval, rotate_right)
12355 (rotate_left, balance_possible_root_interval, split_interval_right)
12356 (split_interval_left, interval_start_pos, find_interval)
12357 (next_interval, previous_interval, update_interval)
12358 (adjust_intervals_for_insertion, delete_node, delete_interval)
12359 (adjust_intervals_for_deletion, merge_interval_right)
12360 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12361 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12362 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12363 Likewise.
12364 * syntax.c (update_syntax_table): Likewise.
12365
12366 * intervals.c (reproduce_tree_obj): New function, like
12367 reproduce_tree but takes a Lisp_Object for the parent. Declare
12368 with prototype.
12369 (graft_intervals_into_buffer): Use it when appropriate.
12370 (reproduce_tree): Declare with prototype.
12371 (balance_possible_root_interval): Check that the parent is a lisp
12372 object before trying to examine its type.
12373
ee1c5b21
GM
123742000-03-22 Gerd Moellmann <gerd@gnu.org>
12375
12376 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12377 as strings only if both are known to be strings.
12378
12379 * s/openbsd.h (LIBS_TERMCAP): Undef.
12380
1fb352e0
SM
123812000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12382
12383 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12384 definitions for non-Emacs compilation.
12385 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12386 outside of `#ifdef emacs'.
12387 (print_partial_compiled_pattern): Update.
12388 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12389 (re_compile_fastmap): Merge handling of charset and charset_not (for
12390 emacs and non-emacs compilation as well).
12391 Similarly for (not)categoryspec and (not)syntaxspec.
12392 Don't use the fastmap when reaching `anychar' since the added
12393 complexity is not justified.
12394 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12395 and (not)syntaxspec. Merge (not)categoryspec.
12396
fdaa1f77
KH
123972000-03-22 Kenichi Handa <handa@etl.go.jp>
12398
52283633
SM
12399 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12400 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12401 --without-x.
fdaa1f77 12402
d152fb46
DL
124032000-03-21 Dave Love <fx@gnu.org>
12404
12405 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12406 doc string.
12407
d2cafc8c
GM
124082000-03-21 Gerd Moellmann <gerd@gnu.org>
12409
12410 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12411 (lface_fully_specified_p): Don't check contents of
12412 LFACE_FONT_INDEX because that attribute is optional.
12413 (realize_x_face): Remove now unwarranted xassert.
12414
9111d4b5
KH
124152000-03-21 Kenichi HANDA <handa@etl.go.jp>
12416
12417 The following changes are to make font selection based on
12418 characters, not charset. In addition, they recover fontset
12419 facilities while utilizing the new font selection mechanism.
12420
6c4bfdc0
KH
12421 * Makefile.in (fontset.o): Depend on dispextern.h.
12422
12423 * alloc.c (mark_face_cache): Don't mark face->registry.
12424
9111d4b5
KH
12425 * dispextern.h (struct glyph): New member glyph_not_available_p.
12426 Use 22 bits for face_id.
12427 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12428 (struct face): Delete member registry, new member ascii_face.
12429 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12430 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12431 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12432 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12433
12434 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12435 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12436 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12437 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12438 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12439 (fs_free_face_fontset, fontset_font_pattern)
12440 (face_suitable_for_char_p, face_for_char)
12441 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12442 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12443 (FS_LOAD_FACE_FONT): New macro.
12444
12445 * fontset.c: All codes rewritten or adjusted for the change of
12446 fontset implementation. Now fontset is represented by char table.
52283633
SM
12447 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12448 Variables removed.
9111d4b5 12449 (my_strcasecmp): Function removed.
52283633 12450 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12451 (AREF, ASIZE): New macros.
52283633
SM
12452 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12453 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12454 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12455 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12456 (fontset_id_valid_p, font_family_registry, fontset_name)
12457 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12458 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12459 New functions.
12460 (fs_load_font): New arg FACE. Caller changed.
12461 (fs_query_fontset): Argument changed. Caller changed.
12462 (Fquery_fontset): call fs_query_fontset.
12463 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12464 Functions removed.
52283633
SM
12465 (clear_fontset_elements, check_registry_encoding)
12466 (check_fontset_name): New functions.
9111d4b5
KH
12467 (syms_of_fontset): Set char-table-extra-slots property of fontset
12468 to 3. Staticpro and initialize Vfontset_table and
12469 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12470
12471 * frame.h (struct frame): Member `fontset_data' removed.
12472 (FRAME_FONTSET_DATA): Macro removed.
12473
12474 * frame.c (make_frame): Don't allocate f->fontset_data.
12475 (Fdelete_frame): Don't free f->fontset_data.
12476
6c4bfdc0
KH
12477 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12478
9111d4b5
KH
12479 * xdisp.c (charset_at_position): Function removed.
12480 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12481 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12482 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12483 Likewise.
12484 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12485 FACE_FOR_CHARSET.
52283633
SM
12486 (get_next_display_element, append_space)
12487 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12488
12489 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12490 Variables removed.
12491 (clear_font_table, frame_update_line_height, load_face_font):
12492 Adjusted for the change of fontset implementation.
12493 (load_face_fontset_font): Function removed.
12494 (pixel_point_size): New function.
12495 (font_list): Argument type changed. Caller changed.
12496 (LFACE_FONT): New macro.
12497 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12498 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12499 Lisp_Object. Determine the font name by actually loading a font
12500 by the specified pattern. Set LFACE_FONT (lface) to the specified
12501 pattern. Even if a font is not found, don't try alternatives.
12502 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12503 (set_font_frame_param): If `font' is specified in lface, use it.
12504 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12505 (lface_same_font_attributes_p): Likewise.
12506 (make_realized_face): Arguent changed. Caller changed. Set
12507 face->ascii_face to face itself.
12508 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12509 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12510 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12511 (free_realized_multibyte_face): New function.
12512 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12513 changed. Caller changed.
12514 (try_font_list): Argument type changed.
12515 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12516 (choose_face_font): Argument changed. Handle fontset properly.
12517 (choose_face_fontset_font): Function removed.
12518 (realize_default_face, realize_named_face): Don't remove the
12519 former face here.
12520 (realize_face): Argument changed. Caller changed. Remove face
52283633 12521 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12522 (realize_x_face): Argument changed. Caller changed. For a
12523 multibyte character, share fontset with base_face. For a single
52283633 12524 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12525 (realize_tty_face): Argument changed. Caller changed.
12526 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12527 (face_at_buffer_position): Don't check multibyte_p for returning
12528 DEFAULT_FACE_ID.
12529 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12530 FACE_SUITABLE_FOR_CHARSET_P.
12531 (syms_of_xfaces): Remove code for Qx_charset_registry and
12532 Vface_default_registry.
12533
6c4bfdc0
KH
12534 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12535 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12536 (x_per_char_metric): Don't try FONT->default_char. Even if
12537 pcm->width is zero, glyph bits may exist.
12538 (x_encode_char): Always initialize char2b->byte1.
12539 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12540 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12541 (x_append_glyph): Set glyph->glyph_not_available_p.
12542 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12543 it->charset. Handle the case that per char metric is not
12544 available. If it->multibyte_p is zero and it->c is a multibyte
12545 character, convert it to a unibyte character.
12546 (struct glyph_string): Delete member `charset'.
12547 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12548 the case that per char metric is not available correctly.
12549 (x_fill_glyph_string): Handle the case that the specific glyph is
12550 not available correctly.
12551 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12552 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12553 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12554 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12555 fontset. Don't call FS_LOAD_FONT.
12556
12557 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12558 (x_create_tip_frame): Likewise.
12559 (Fx_close_connection): Free full_name of font_info.
12560
12561 * fns.c (optimize_sub_char_table): New function.
12562 (Foptimize_char_table): New function.
12563 (syms_of_fns): Defsubr Soptimize_char_table.
12564
b33dd3b0
GM
125652000-03-20 Gerd Moellmann <gerd@gnu.org>
12566
12567 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12568 only if buffer is displayed in some window.
12569
12570 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12571 (try_window_reusing_current_matrix): Don't call scroll run
12572 function if run's current and desired position are the same;
12573 this prevents cursor flickering.
12574
4e8a9132
SM
125752000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12576
12577 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12578
12579 * regex.c (RE_STRING_CHAR): New macro.
12580 (GET_CHAR_AFER_2): Remove.
12581 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12582 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12583 (print_partial_compiled_pattern, re_compile_fastmap)
12584 (re_match_2_internal): Remove on_failure_jump_exclusive.
12585 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12586 optimization only need to work for * (ie. can use of_keep_string_jump).
12587 Remove the special case for .*\n since it is now covered by the general
12588 optimization.
12589 (re_search_2): Don't bother with `room'.
12590 (skip_one_char): New function.
12591 (skip_noops): Simplify since `memory' is not needed any more.
12592 (mutually_exclusive_p): Restructure slightly to use `switch' and
12593 add handling for "all" remaining cases.
12594 (re_match_2_internal): Change on_failure_jump_smart to use
12595 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12596 rather than on_failure_jump_exclusive.
12597
2136fdd4
GM
125982000-03-19 Gerd Moellmann <gerd@gnu.org>
12599
12600 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12601 number of bits per RGB because it's everywhere used as the depth
12602 of the visual.
12603
12604 * term.c (calculate_costs): Remove code dealing with X frames.
12605
18e21ce8 126062000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12607
12608 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12609
d7b511c4
GM
126102000-03-18 Gerd Moellmann <gerd@gnu.org>
12611
12612 * lread.c (read_integer): Unread the last char not consumed.
12613
16b5d424
GM
126142000-03-17 Gerd Moellmann <gerd@gnu.org>
12615
12616 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12617 which are in the process of being deleted.
16b5d424 12618
1fa28578
GM
126192000-03-16 Gerd Moellmann <gerd@gnu.org>
12620
83488cce
GM
12621 * Makefile.in (mostlyclean): Add `*.core'.
12622 (clean): Add `bootstrap-emacs'.
12623
1fa28578
GM
12624 * lread.c (read_integer): New function.
12625 (read1): Support read syntax #o, #x, #b, #r.
12626
99633e97
SM
126272000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12628
1fa28578
GM
12629 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12630 make sure POINTER_TO_OFFSET gives the same value before and after
12631 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12632 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12633 (debug): Now only active if > 0 rather than if != 0.
12634 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12635 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12636 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12637 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12638 (store_op1, store_op2, insert_op1, insert_op2)
12639 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12640 (group_in_compile_stack): Move to after its arg's types are
12641 declared and add a prototype.
99633e97 12642 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12643 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12644 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12645 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12646 indentation of the greedy-op and shy-group code.
99633e97
SM
12647 (at_(beg|end)line_loc_p): Fix argument's types.
12648 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12649 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12650 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12651 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12652 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12653 QUIT unconditionally.
99633e97 12654
699238d9
GM
126552000-03-15 Gerd Moellmann <gerd@gnu.org>
12656
12657 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12658 a sole completion.
12659
12660 * process.c (send_process): Add a hint that the function
12661 can call Lisp code to its comment.
12662
12663 * lread.c (load_dangerous_libraries): New variable.
12664 (Vbytecomp_version_regexp): New variable.
12665 (safe_to_load_p): New function.
12666 (Fload): Handle files not compiled with Emacs specially.
12667 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12668
34e23e5a
GM
126692000-03-14 Gerd Moellmann <gerd@gnu.org>
12670
9c763cca
GM
12671 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12672
12673 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12674 support functions only if HAVE_X11R6_XIM is defined.
12675 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12676
12677 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12678
12679 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12680 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12681 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12682
12683 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12684 (HAVE_X11R6_XIM): Define.
12685
12686 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12687
34e23e5a
GM
12688 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12689 If set, call XSynchronize.
12690
66f0296e
SM
126912000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12692
34e23e5a
GM
12693 * regex.c: Declare a new type `re_char' used throughout the code
12694 for the string char type. It's `const unsigned char' to match the
12695 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12696 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12697 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12698 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12699 code duplication.
66f0296e
SM
12700
12701 * charset.h (GET_CHAR_AFTER_2): Remove.
12702 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12703
854a025c
KR
127042000-03-12 Ken Raeburn <raeburn@gnu.org>
12705
12706 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12707 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12708 of them try to use backquotes.
12709
b9d2c7e2
DL
127102000-03-12 Dave Love <fx@gnu.org>
12711
12712 * unexelf.c: Restore changes of 1999-10-19.
12713 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12714 fix its type and alignment; copy it from current process.
12715
5e5dff44
GM
127162000-03-12 Gerd Moellmann <gerd@gnu.org>
12717
9b2f3c38
GM
12718 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12719 has been found. Fix bug not computing timer's predecessor.
12720
427ec082 12721 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12722 file name.
12723
e1cff360
GM
12724 * window.c (Fsave_window_excursion): Doc fix.
12725
52283633 12726 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12727
e411ce4b
EZ
127282000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12729
12730 * msdos.c (vga_installed): New function, code moved from
12731 dos_set_window_size.
12732 (Qbar, Qcursor_type, outside_cursor): New variables.
12733 (syms_of_msdos): Intern and staticpro them.
12734 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12735 shape used outside Emacs when called for the first time.
12736 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12737 cursor shape used outside Emacs.
12738 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12739 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12740 type has changed.
12741 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12742 parameters specify the cursor. Make qreverse a global
12743 variable (renamed to Qreverse).
12744
80460654
GM
127452000-03-09 Gerd Moellmann <gerd@gnu.org>
12746
12747 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12748
95cd4c40
SM
127492000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12750
12751 This is a big redesign of failure-stack and register handling, prompted
12752 by bugs revealed when trying to add shy-groups. Overall, what happened
12753 is that loops are now structured a little differently, groups can be
12754 shy and the code is a little simpler.
12755
12756 * regex.h: Update the copyright.
12757 (RE_SHY_GROUPS): New value.
12758 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12759 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12760
80460654
GM
12761 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12762 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12763 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12764 for (start|stop)_memory since they now only take one argument (the
12765 second has becomes unnecessary).
52283633 12766 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12767 (print_compiled_pattern): Use %ld to printf long ints and flush to
12768 make debugging a little easier.
95cd4c40
SM
12769 (union fail_stack_elt): Make the integer unsigned.
12770 (struct fail_stack_type): Add a `frame' element.
12771 (INIT_FAIL_STACK): Init `frame' as well.
12772 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12773 (DEBUG_PUSH, DEBUG_POP): Remove.
12774 (NUM_REG_ITEMS): Remove.
12775 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12776 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12777 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12778 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12779 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12780 New macros.
80460654
GM
12781 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12782 address pushed is not the destination of the jump but the source
12783 of it instead.
95cd4c40
SM
12784 (NUM_FAILURE_ITEMS): Remove.
12785 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12786 registers before the actual failure point). Don't hardcode any
12787 meaning for str==NULL anymore.
95cd4c40 12788 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12789 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12790 Remove.
95cd4c40
SM
12791 (REG_UNSET_VALUE): Use NULL (why not?).
12792 (compile_range): Remove declaration since it doesn't exist.
12793 (struct compile_stack_elt_t): Remove inner_group_offset.
12794 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12795 (regex_grow_registers): Remove dead code.
12796 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12797 (regex_compile): Add shy-groups Change loops to use
12798 on_failure_jump_smart&jump instead of
12799 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12800 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12801 variable to me). Use `jump' instead of `jump_past_alt' and don't
12802 bother with push_dummy_failure in alternatives since it is now
12803 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12804 emacs' for (re)allocating the stack.
12805 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12806 from loop when bufp->can_be_null rather than jumping to `done'.
12807 Avoid jumping backwards so as to ensure termination. Use
12808 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12809 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12810 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12811 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12812 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12813 (lowest_active_reg, highest_active_reg)
12814 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12815 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12816 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12817 variables. Push register (in `start_memory') on the stack rather
12818 than storing it in old_reg(start|end). Remove the cycle detection
12819 from `stop_memory', replaced by the use of on_failure_jump_loop
12820 for greedy loops. Add code for the new on_failure_jump_<foo>.
12821 Remove ad-hoc code in `on_failure_jump' to push more registers in
12822 the case of a loop. Take out code from `maybe_pop_jump' into
12823 separate functions and adapt it to the semantics of
12824 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12825 and push_dummy_failure. Remove dummy_failure handling and
12826 handling of `failures to jump to on_failure_jump' (this last one
12827 was already dead code, it seems).
12828 (group_match_null_string_p, alt_match_null_string_p)
12829 (common_op_match_null_string_p): Remove.
95cd4c40 12830
7397acc4
DL
128312000-03-08 Dave Love <fx@gnu.org>
12832
12833 * config.in: Don't depend on __STDC__ for volatile.
12834 Add POINTER_TYPE, PTR, PROTOTYPES.
12835
12836 * hftctl.c, strftime.c: Use PROTOTYPES.
12837 * eval.c (find_handler_clause): Likewise.
12838
12839 * mem-limits.h: Use POINTER_TYPE.
12840
12841 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12842 (memory_warnings): Declare using POINTER_TYPE.
12843
5e91ff9e
GM
128442000-03-08 Gerd Moellmann <gerd@gnu.org>
12845
feab4fba
GM
12846 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12847
52283633 12848 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12849
5e91ff9e
GM
12850 * xfns.c: Remove obsolete code in #if 0.
12851 (Fx_focus_frame): New function.
12852
a735b7e1
KH
128532000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12854
12855 * coding.c (coding_category_name): Add coding-category-utf-8,
12856 coding-category-utf-16-be, coding-category-utf-16-le.
12857 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12858 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12859 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12860 (detect_coding_utf_8): New function.
12861 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12862 UTF_16_LOW_SURROGATE_P): New macros.
12863 (detect_coding_utf_16): New function
12864 (detect_coding_mask): When priorities are specified, skip any
12865 categories that have `nil' coding-system. Fix bug of returning
12866 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12867 returns a mask not set in PRIORITIES.
12868 (detect_eol_type_in_2_octet_form): New function.
12869 (detect_eol): selects detect_eol_type_XXX to call according to
12870 cooding->category_idx.
12871 (detect_coding_system): Remove `nil' coding-system in the result.
12872 (Fupdate_coding_systems_internal): Update all coding-categories.
12873
52283633
SM
12874 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12875 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12876 New macros.
12877 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12878 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12879 (CODING_CATEGORY_IDX_UTF_16_LE)
12880 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12881 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12882 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12883 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12884
9994cc69
GM
128852000-03-07 Gerd Moellmann <gerd@gnu.org>
12886
e9b4e5ff
GM
12887 * doc.c (Fdocumentation_property): If value is not a string,
12888 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12889
f7daf1e1
GM
12890 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12891 close the display with XtCloseDisplay. This caused a bus error
12892 on OpenWindows.
12893
9994cc69
GM
12894 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12895 complete but not unique.
12896
4336c705
GM
128972000-03-06 Gerd Moellmann <gerd@gnu.org>
12898
18bb0684
GM
12899 * process.c (send_process): Remove local variable `procname' that
12900 might become invalid when a GC happens. Instead, access the
12901 process name slot directly.
12902
4336c705
GM
12903 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12904 orig_height if set.
12905
12906 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12907 orig_height if set.
12908
515d0d0e
EZ
129092000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12910
12911 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12912 glyph matrices have been freed.
12913
100b3cbb
GM
129142000-03-05 Gerd Moellmann <gerd@gnu.org>
12915
50df5e5a 12916 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12917 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12918
12919 * xfns.c (QCdata): Moved to xdisp.c.
12920
12921 * xdisp.c (QCdata): Moved here from xfns.c.
12922 (syms_of_xdisp): Initialize QCdata.
12923
12924 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12925
12926 * window.c (coordinates_in_window): Use
12927 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12928 FRAME_INTERNAL_BORDER_WIDTH.
12929
100b3cbb 12930 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12931 it is obviously invalid.
100b3cbb
GM
12932
12933 * xterm.c (x_term_init): Create a colormap if not using the
12934 default visual.
12935
12936 * xterm.h (select_visual): Change prototype.
12937
12938 * xfns.c (select_visual): Rewritten. Recognize user-specified
12939 visual classes.
12940 (visual_classes): New variable.
12941
64d739c4
GM
129422000-03-04 Gerd Moellmann <gerd@gnu.org>
12943
12944 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12945 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12946 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12947 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12948 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12949 XtNcolormap resources.
12950 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12951 (Fx_create_frame): Initialize color members of x_output structure.
12952 (xpm_load): Pass colormap to XPM lib.
12953
12954 * xfaces.c (x_free_colors): Access colormap of frame using
12955 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12956 when default colormap is used.
12957
12958 * xterm.c (x_term_init): Set Colormap member of x_display_info
12959 structure. Copy colormap if resource `privateColormap' is
12960 specified (PseudoColor only).
12961 (x_setup_relief_color): Access colormap of frame using
12962 FRAME_X_COLORMAP.
12963
12964 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12965 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12966
c3cee013
JR
129672000-03-04 Jason Rumney <jasonr@gnu.org>
12968
12969 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12970 other non-platform-specific equivalents.
64d739c4 12971 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12972 specific functions and macros as their w32 equivalents where
12973 non-platform-specifics are not available.
12974 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12975 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12976 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12977 (frame_update_line_height): Use macros to access f->output_data.
12978 (defined_color): Remove FIXME comments; fixed.
12979 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12980 into #ifdef blocks. Add WINDOWSNT blocks.
12981 (Fx_list_fonts): Use macros for accessing font data.
12982 (set_lface_from_font_name): Different default fonts for X and
12983 WINDOWSNT.
12984 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12985 scalable for backward compatibility.
64d739c4 12986 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12987 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12988
64d739c4 12989 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12990 syms_of_w32faces.
12991
12992 * makefile.nt (w32faces.obj): Remove.
12993 (xfaces.obj): Add.
12994
807cc41c
JR
129952000-03-03 Jason Rumney <jasonr@gnu.org>
12996
12997 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12998 correct parameters.
12999
0007072a
KR
130002000-03-03 Ken Raeburn <raeburn@gnu.org>
13001
13002 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13003 standard ELF definitions here if the system header does not.
13004
71a6ba55
GM
130052000-03-03 Gerd Moellmann <gerd@gnu.org>
13006
13007 * xterm.c (PER_CHAR_METRIC): Removed.
13008 (x_per_char_metric_1, x_default_char): New functions.
13009 (x_per_char_metric): If font's default char is invalid, return
13010 metrics of a suitably chosen usable default char.
13011 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13012 char, replace occurrences of unprintable chars with a suitably
13013 chosen usable default char.
71a6ba55 13014
900fa1f1
GM
130152000-03-02 Gerd Moellmann <gerd@gnu.org>
13016
42f55fe0
GM
13017 * xterm.c (note_mouse_highlight): Return quickly if frame's
13018 glyph matrices have been freed.
13019
13020 * dispnew.c (free_glyphs): Block input while freeing matrices.
13021
900fa1f1
GM
13022 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13023
52283633
SM
13024 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13025 Use x_free_colors.
900fa1f1
GM
13026
13027 * dispextern.h (x_free_colors): Add prototype.
13028
13029 * xfaces.c (x_free_colors): New function.
13030 (unload_color, free_face_colors): Use it.
13031
2f950292
EZ
130322000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13033
13034 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13035
13036 * window.c [MSDOS]: Include msdos.h.
13037
54d04320
DL
130382000-03-02 Dave Love <fx@gnu.org>
13039
13040 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13041
13042 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13043 set C_OPTIMIZE_SWITCH for gcc.
13044
0ba93ac4
KH
130452000-03-02 Kenichi Handa <handa@etl.go.jp>
13046
13047 * coding.c (coding_save_composition): Be sure to allocate
13048 composition data area in coding even if there's no composition in
13049 the current run.
13050
a2bc11d4
JR
130512000-03-01 Jason Rumney <jasonr@gnu.org>
13052
13053 * w32term.c: Equivalent changes to those made to xterm.c on
13054 2000-02-25 and 2000-02-24.
13055
13056 * w32fns.c: Equivalent changes to those made to xfns.c on
13057 2000-02-25 and 2000-02-21.
13058
13059 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13060 correct line-end convention is followed.
13061
13062 * w32menu.c [HAVE_BOXES]: Remove #undef.
13063 (single_keymap_panes): Remove code for simulating checkmarks.
13064 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13065 Remove code for drawing simulated checkmarks.
13066 (w32_menu_show): make unibyte help string correctly.
13067 (add_menu_item): draw standard Windows checkmarks. Draw radio
13068 buttons as radio buttons if possible.
13069
72d19d75
GM
130702000-03-01 Gerd Moellmann <gerd@gnu.org>
13071
2df636f4
GM
13072 * sysdep.c (start_of_text): Don't define this function for NetBSD
13073 with ELF.
13074
427ec082 13075 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13076 Don't define.
13077 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13078 (LINKER): Don't undef if __NetBSD__ is defined.
13079
13080 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13081
13082 * fileio.c [__NetBSD__]: Define `unix'.
13083
72d19d75
GM
13084 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13085
ed4d0512
GM
130862000-02-29 Gerd Moellmann <gerd@gnu.org>
13087
50b1039f
GM
13088 * atimer.c (start_atimer): Don't abort when timers are stopped.
13089 (append_atimer_lists): New function.
13090 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13091 arbitrary lists of stopped and running atimers.
13092
ed4d0512
GM
13093 * atimer.c (cancel_atimer): Handle canceling an atimer when
13094 some timers are stopped.
13095
13096 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13097 after canceling it.
13098
13099 * fns.c (maybe_resize_hash_table): Handle case of new size
13100 coming out as being the same as old size.
13101
387023ee
JR
131022000-02-27 Jason Rumney <jasonr@gnu.org>
13103
13104 * makefile.nt: Add atimer.h to dependencies.
13105 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13106 * w32console.c: Only disable window system features for dispextern.h
13107 (initialize_w32_display): Build a display info for the console.
13108 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13109 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13110 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13111 as 2 button mice.
13112 * w32gui.h (struct W32FontStruct): Revert last change after change
13113 to xdisp.c.
13114 * w32menu.c (single_submenu): Set up help string.
13115 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13116 (w32_dialog_show): Set up help string.
13117 * w32term.c (w32_display_info_for_display): Remove unused function.
13118 (w32_draw_bitmap): Use pre-built bitmaps.
13119 (w32_initialize_display_info): New function to initialize parts of
13120 display info that are common to both GUI and console frames.
13121 (w32_term_init): Use w32_initialize_display_info. Do not set
13122 Vw32_num_mouse_buttons here, as it is not called for console
13123 frames. Build bitmaps for indicating truncated lines etc.
13124 (x_delete_display): Destroy pre-built bitmaps.
13125 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13126 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13127
4516715a
DL
131282000-02-27 Dave Love <fx@gnu.org>
13129
13130 * lisp.h: Add a bunch of prototypes.
13131
171ca836
KH
131322000-02-26 Kenichi Handa <handa@etl.go.jp>
13133
13134 * keyboard.c (read_char): Set `usec' correctly.
13135
4013921d
KH
131362000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13137
13138 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13139 `lambda', set reg[RRR] to the map index.
13140 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13141 reg[RRR] to 0. Otherwise, set it to -1.
13142
9244a058
GM
131432000-02-25 Gerd Moellmann <gerd@gnu.org>
13144
2df636f4 13145 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13146
18e21ce8 131472000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13148
f43d79c1
GM
13149 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13150 and contains a `:', prepend `/:'.
13151
13152 * window.c (select_window_1): If selected_window is nil,
13153 don't "swap out" the buffer's point.
13154 (Fset_window_configuration): Set selected_window to nil
13155 before calling Fselect_window.
13156 (unshow_buffer): Don't set point in buffer from window's point
13157 if another more recently selected window also shows the buffer.
13158
bed0c171
GM
131592000-02-25 Gerd Moellmann <gerd@gnu.org>
13160
449c3c52
GM
13161 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13162
f5b58615
GM
13163 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13164 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13165 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13166 New variables.
f5b58615
GM
13167 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13168 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13169 (hide_busy_cursor): New functions.
13170 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13171
13172 * minibuf.c (read_minibuf): Cancel busy-cursor.
13173
13174 * keyboard.c (command_loop_1): Call start_busy_cursor before
13175 Fcommand_execute and cancel_busy_cursor after it.
13176 (timer_check): Remove busy-cursor code.
13177 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13178 cursor timer.
13179
13180 * process.c (wait_reading_process_input): Remove busy-cursor code.
13181
13182 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13183 Fx_hide_busy_cursor.
13184
13185 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13186 Remove prototyoes.
13187 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13188
13189 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13190
13191 * xterm.c (XTread_socket): Remove busy-cursor code.
13192
4eb8436f
GM
13193 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13194 (build_frame_matrix_from_leaf_window): Put code handling
13195 glyph row's not being a slice of a frame row in #if 0.
13196 (sync_window_with_frame_matrix_rows): New function.
13197 (frame_row_to_window): New function.
13198 (mirror_line_dance): Handle copies between windows.
13199
3cb65b0e
GM
13200 * lread.c (Fload): Use `xfree' instead of `free'.
13201 (init_obarray): Use `xmalloc' instead of `malloc'.
13202
bed0c171
GM
13203 * window.c (Fset_window_buffer): Set WINDOW to the window
13204 after decoding.
2add4349
GM
13205 (coordinates_in_window): Take frame's internal border width
13206 into account.
bed0c171 13207
42088c12
GM
132082000-02-24 Gerd Moellmann <gerd@gnu.org>
13209
13210 * xterm.c (x_display_and_set_cursor): Display cursor of
13211 non-selected windows depending on the setting of
13212 cursor_in_non_selected_windows.
13213
13214 * xdisp.c (cursor_in_non_selected_windows): New variable.
13215 (syms_of_xdisp): DEFVAR_BOOL it.
13216
d1e103b2
GM
132172000-02-23 Gerd Moellmann <gerd@gnu.org>
13218
723e779c
GM
13219 * data.c (Fstring_to_number): If number is greater than what
13220 fits into an integer, return a float.
13221
d1e103b2
GM
13222 * eval.c (specbind): Remove references to
13223 keyword_symbols_constant_flag.
13224
13225 * data.c (keyword_symbols_constant_flag): Removed.
13226 (Fmakunbound, set_internal, syms_of_data): Remove references to
13227 keyword_symbols_constant_flag.
13228
13229 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13230
214f877f
KH
132312000-02-23 Kenichi Handa <handa@etl.go.jp>
13232
13233 * syntax.c (multibyte_syntax_as_symbol): New variable.
13234 (syms_of_syntax): Declare it as a Lisp variable.
13235 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13236 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13237 nonzero, treat all multibyte characters as symbol.
52283633 13238 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13239
130adcb7
EZ
132402000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13241
3cb65b0e 13242 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13243 a deleted frame.
130adcb7 13244
17cbbf95
GM
132452000-02-21 Gerd Moellmann <gerd@gnu.org>
13246
13247 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13248
13249 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13250 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13251
beb0bc36
DL
132522000-02-21 Dave Love <fx@gnu.org>
13253
13254 * frame.c (Vmouse_position_function): New variable.
13255 (Fmouse_position): Use it.
13256 (syms_of_frame): Install it.
13257
13258 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13259
1d92afcd
GM
132602000-02-20 Gerd Moellmann <gerd@gnu.org>
13261
13262 * fileio.c (Finsert_file_contents): Unbind the binding of
13263 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13264
13265 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13266 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13267 (specbind, unbind_to): Handle most common case of non-constant
13268 symbol with trivial value specially.
13269
13270 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13271
18e21ce8 132722000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13273
13274 * data.c (Fmake_variable_buffer_local): Doc fix.
13275 Init found_for_buffer to 0.
13276 (Fmake_variable_frame_local): If the variable has already
13277 been buffer-local, set the check_frame field.
13278
1d4311c3
EZ
132792000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13280
13281 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13282 produced for CODING_MODE_LAST_BLOCK requires.
13283
2dc95ddd
DL
132842000-02-18 Dave Love <fx@gnu.org>
13285
13286 * keyboard.c (echo_keystrokes): Remove declaration.
13287 (Vecho_keystrokes) New variable.
13288 (read_char, record_menu_key, read_key_sequence): Use it to allow
13289 use of float value.
13290 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13291
13292 * lread.c: Undef feature selection macros before defining.
13293
f0930f35
GM
132942000-02-18 Gerd Moellmann <gerd@gnu.org>
13295
13296 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13297 for symbols other than the symbol in question.
13298
e3d4de90
DL
132992000-02-17 Dave Love <fx@gnu.org>
13300
13301 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13302
0b378936
GM
133032000-02-17 Gerd Moellmann <gerd@gnu.org>
13304
d621caf7
GM
13305 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13306
0b378936
GM
13307 * alloc.c (enum mem_type): Compile unconditionally.
13308
3b451f74
EZ
133092000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13310
13311 * xfaces.c (tty_defined_color): Don't return faulire indication
13312 for unspecified-fg and unspecified-bg pseudo-colors.
13313
10689a01
GM
133142000-02-17 Gerd Moellmann <gerd@gnu.org>
13315
1216f5e4
GM
13316 * alloc.c (mark_object): Don't mark symbol names in pure space.
13317 (gc_sweep): Don't unmark symbol names in pure space.
13318
13319 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13320 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13321 [GC_MARK_STACK]: New defines.
427ec082 13322 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13323 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13324
13325 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13326
13327 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13328 allocate_buffer instead of xmalloc.
13329
13330 * alloc.c (toplevel): Include setjmp.h.
13331 (PURE_POINTER_P): New define.
13332 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13333 (Vdead) [GC_MARK_STACK]: New variable.
13334 (lisp_malloc): Add parameter TYPE, call mem_insert if
13335 GC_MARK_STACK is defined.
13336 (allocate_buffer): New function.
427ec082 13337 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13338 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13339 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13340 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13341 (MEM_NIL) [GC_MARK_STACK]: New define.
13342 (struct mem_node) [GC_MARK_STACK]: New structure.
13343 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13344 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13345 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13346 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13347 (mark_stack) [GC_MARK_STACK]: New functions.
13348 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13349 (clear_marks): Removed.
13350 (gc_sweep): Set free conses' car, free floats' type, free
13351 symbols' function to Vdead. Use lisp_free to free buffers.
13352 (init_alloc_once): Initialize Vdead.
13353 (survives_gc_p): Return non-zero for pure objects.
13354
13355 * alloc.c: Add comments throughout the file.
13356
2503c8b1
GM
13357 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13358 that unblocks alarms.
13359
8389e1e2
GM
13360 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13361 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13362 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13363
10689a01 13364 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13365
bfc17d18
KH
133662000-02-17 Kenichi Handa <handa@etl.go.jp>
13367
4a09dee0
KH
13368 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13369 avoid infinite error signaling. Allocate sufficient memory for
13370 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13371
2b927d02
SM
133722000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13373
13374 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13375 depends on the previous behavior.
13376
b49cb764
GM
133772000-02-16 Gerd Moellmann <gerd@gnu.org>
13378
13379 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13380
99e95407
GM
133812000-02-15 Gerd Moellmann <gerd@gnu.org>
13382
13383 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13384
13385 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13386 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13387 write(2).
13388
6ffd3cf7
RS
133892000-02-15 Richard M. Stallman <rms@gnu.org>
13390
13391 * data.c (set_internal): Don't make variable buffer-local
13392 if within a let-binding for the same buffer.
13393 (let_shadows_buffer_binding_p): New function.
13394
13395 * eval.c (specbind): For buffer-local value,
13396 record the current buffer also.
13397 (unbind_to): Cope with that change.
13398
cad53475
GM
133992000-02-15 Gerd Moellmann <gerd@gnu.org>
13400
13401 * window.c (Fsave_window_excursion): Doc fix.
13402
1aa963c8
SM
134032000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13404
13405 * syntax.c (back_comment): Make sure we only consider comment-starters
13406 of the relevant style and return -1 in case of a failure to find the
13407 beginning of the comment.
13408 (Fforward_comment): If back_comment fails, go back to the position just
13409 after the comment-end.
13410 (scan_lists): Add comment describing a very minor bug.
13411
b9b84fd3
SM
134122000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13413
13414 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13415 `completion-regexp-list' in the docstring.
13416
3a28db80
DL
134172000-02-14 Dave Love <fx@gnu.org>
13418
13419 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13420
fb4a568d
SM
134212000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13422
13423 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13424 to Emacs' syntax. Also fix the comment about set/not-set meanings
13425 since Emacs syntax is not the value 0 any more.
13426 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13427 since it's now part of RE_SYNTAX_EMACS.
13428
1063ebb5
DL
134292000-02-12 Dave Love <fx@gnu.org>
13430
52283633 13431 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13432
fb07a302
GM
134332000-02-12 Gerd Moellmann <gerd@gnu.org>
13434
13435 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13436
aaf2320c
DL
134372000-02-12 Dave Love <fx@gnu.org>
13438
13439 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13440
13441 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13442 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13443 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13444
13445 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13446
13447 * s/nextstep.h: Don't define HAVE_ALLOCA.
13448
13449 * config.in: Add vfork bits.
13450
eedf8bde
GM
134512000-02-12 Gerd Moellmann <gerd@gnu.org>
13452
13453 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13454 unwind function to undo the effect of stopping atimers.
13455
52283633 13456 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13457
13458 * atimer.c (stopped_atimers): New variable.
13459 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13460 New functions.
13461
13462 * atimer.h (stop_other_atimers, run_all_atimers)
13463 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13464
eedf8bde
GM
13465 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13466
8476c2f8
KR
134672000-02-11 Ken Raeburn <raeburn@gnu.org>
13468
13469 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13470 library may depend on jpeg.
13471 (atimer.o): Depends on atimer.c.
13472
0e85e4a3
KH
134732000-02-11 Kenichi Handa <handa@etl.go.jp>
13474
13475 * insdel.c (del_range_1): Call update_compositions.
13476 (del_range_both): Call update_compositions just once..
13477
97fa0cc8
DL
134782000-02-10 Dave Love <fx@gnu.org>
13479
13480 * xfns.c (create_frame_xic): Fix initialization of automatic
13481 aggregates for pcc.
13482
25566a3c
KH
134832000-02-09 Kenichi Handa <handa@etl.go.jp>
13484
13485 * ccl.c (CCL_MAKE_CHAR): New macro.
13486 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13487 registers by CCL_MAKE_CHAR before calling translate_char.
13488 <CCL_TranslateCharacterConstTbl> Likewise.
13489
69da54ba
DL
134902000-02-08 Dave Love <fx@gnu.org>
13491
13492 * lread.c (__EXTENSIONS__): Define.
13493
f7136ee8
GM
134942000-02-08 Gerd Moellmann <gerd@gnu.org>
13495
13496 * puresize.h (BASE_PURESIZE): Increase to 650000.
13497
7768790b
EZ
134982000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13499
13500 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13501 the help message.
13502
38fd211b
EZ
135032000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13504
13505 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13506 md, mh, mb, mr, and me to the fake termcap entry.
13507
66e4690f
KR
135082000-02-06 Ken Raeburn <raeburn@gnu.org>
13509
13510 * sound.c (sound_cleanup): Don't call device close routine if the
13511 function pointer is null.
13512
a75dfea0
AI
135132000-02-06 Andrew Innes <andrewi@gnu.org>
13514
13515 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13516 around image definitions and prototypes.
13517 (gamma_correct) [WINDOWSNT]: New prototype.
13518
13519 * w32term.c (x_make_frame_visible): Replace call to
13520 input_poll_signal with poll_for_input.
13521
13522 * window.c [WINDOWSNT]: Include w32term.h.
13523
13524 * xdisp.c [WINDOWSNT]: Include w32term.h.
13525
13526 * makefile.nt: Add dependencies on w32gui.h.
13527 (OBJ1): Include atimer.obj.
13528 ($(BLD)\atimer.obj): New dependency rule.
13529
13530 * w32.c (sigmask): New function (does nothing).
13531 (sigunblock): Ditto.
13532
13533 * frame.c [WINDOWSNT]: Include w32term.h.
13534
13535 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13536
13537 * lread.c (syms_of_lread): Fix literal newlines.
13538
13539 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13540 the string constant limit (2048 bytes) in MSVC.
13541 (main): Ditto.
13542
59ddecde
GM
135432000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13544
52283633 13545 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13546 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13547 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13548 dispatch the event.
13549
07590973
DL
135502000-02-04 Dave Love <fx@gnu.org>
13551
13552 * fileio.c: Remove some unused vars.
13553 (_GNU_SOURCE): Define (for euidaccess).
13554
13555 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13556
13557 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13558 gcpro1, gcpro2.
13559 (read_minibuf): Deal with allow_props correctly.
13560
649351f9
EZ
135612000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13562
13563 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13564
66e4690f 135652000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13566
13567 * search.c (compile_pattern): If a cache entry has a nil regexp,
13568 fill in that entry instead of clobbering a previously cached
13569 string regexp.
13570
66e4690f 135712000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13572
13573 * puresize.h (BASE_PURESIZE): Increase to 610000.
13574
d240a249
GM
135752000-02-02 Gerd Moellmann <gerd@gnu.org>
13576
13577 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13578 can GC.
13579
ca91fb26
KH
135802000-02-02 Kenichi Handa <handa@etl.go.jp>
13581
25660570
KH
13582 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13583 instead of incrementing ic directly.
13584 <CCL_WriteExprConst> Likewise.
13585 <ccl_set_expr>: Set ic to jump_address.
13586
ca91fb26
KH
13587 * fileio.c (e_write): Fix the handling of
13588 CODING_FINISH_INSUFFICIENT_SRC.
13589
2ede9689
DL
135902000-02-01 Dave Love <fx@gnu.org>
13591
13592 * editfns.c (Fpropertize): Doc fix.
13593
13594 * process.c (Fstart_process): Doc fix.
13595
13596 * eval.c: Fix various doc strings not to duplicate information
13597 from help-manyarg-func-alist.
13598
52283633 13599 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13600
13601 * doc.c (Vhelp_manyarg_func_alist): New variable.
13602 (Fdocumentation): Use it.
13603 (syms_of_doc): Define it.
13604
b6680a0e
GM
136052000-01-31 Gerd Moellmann <gerd@gnu.org>
13606
2cb750ba
GM
13607 * xterm.c (xim_open_dpy): Remove unused local variable.
13608
52283633 13609 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13610
13611 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13612 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13613
b6680a0e
GM
13614 * fns.c (sweep_weak_table): New function.
13615 (sweep_weak_hash_tables): Use it. Keep on marking until there
13616 is no more change.
13617
994c5afe
GM
136182000-01-30 Gerd Moellmann <gerd@gnu.org>
13619
13620 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13621 that XTread_socket does not crash by trying to call XNoOp on a
13622 closed display.
427ec082 13623
f00276e3
JR
136242000-01-30 Jason Rumney <jasonr@gnu.org>
13625
13626 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13627 Change selected_frame to SELECTED_FRAME ().
13628 (w32_console_mouse_position): Remove #ifndef MULE from around
13629 `insist' parameter.
13630
13631 * makefile.nt: Remove dosfns.obj.
13632
13633 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13634
13635 * w32fns.c (w32_defined_color): Check for valid frame before
13636 applying gamma correction. Eliminate dependency on frame elsewhere.
13637 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13638 (w32_to_x_font): Use resx and resy not height_in and width_in.
13639 (x_to_w32_font): Doc fix.
13640 (xlfd_strip_height): New function to strip and return font height.
13641 (w32_font_match): Compare height separately from rest of xlfd
13642 spec, using xlfd_strip_height.
13643
13644 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13645 width_in. Use w32_defined_color in place of defined_color.
13646
13647 * w32faces.c: Merge more of DOS and X specifics in preparation for
13648 merge with xfaces.c.
13649 (defined_color): Remove FIXME comment.
13650 (tty_color_name): Provide w32-specific function.
13651 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13652
13653 * w32console.c (turn_on_face, turn_off_face): Removed.
13654 (w32_face_attributes): New function.
13655 (Global_variables): Reduce scope where possible.
13656 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13657 fill attribute.
13658 (hl_mode): Don't modify text attributes.
13659 (write_glyphs): Don't do anything if len <= 0. Use
13660 w32_face_attributes to get attributes for drawing. Write
13661 terminating codes using char_attr_normal.
13662 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13663 (update_begin, update_end): Likewise.
13664 (vga_stdcolor_name): New function.
13665 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13666 (Fset_screen_color): Remove char_attr_reverse.
13667
b08e8bb2
GM
136682000-01-29 Gerd Moellmann <gerd@gnu.org>
13669
13670 * xfns.c (xic_set_preeditarea): Take window parameter and
13671 window-relative pixel-positions.
13672
13673 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13674 is its frame's selected window.
13675 (xim_instantiate_callback): Likewise.
13676
13677 * xfns.c (x_create_im): Removed.
13678 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13679 (supported_xim_styles): Renamed from supported_styles.
13680 (best_xim_style): Renamed from best_style.
13681 (create_frame_xic): Renamed from xic_create_frame.
13682 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13683
b08e8bb2
GM
136842000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13685
13686 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13687 our frames, call XFilterEvent with 2nd parameter `None'.
13688 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13689 returning XBufferOverflow.
52283633 13690 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13691 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13692 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13693 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13694 (xim_initialize, xim_close)
13695 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13696 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13697 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13698 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13699
13700 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13701 and `xim_styles'.
13702 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13703 `xic_style' and `xic_xfs'.
13704 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13705 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13706 (FRAME_XIM): Removed.
13707
13708 * xfns.c (supported_styles): New variable.
13709 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13710 (xic_create_xfontset, best_style, xic_create_frame)
13711 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13712 (xic_set_xfontset): New functions.
13713
142e109c
DL
137142000-01-28 Dave Love <fx@gnu.org>
13715
13716 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13717
13718 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13719
b02786f9
GM
137202000-01-28 Gerd Moellmann <gerd@gnu.org>
13721
d060bc9f
GM
13722 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13723 for *scratch* if it already existed.
13724
b02786f9
GM
13725 * emacs.c (USAGE): New macro.
13726 (main): Use it to display usage information.
13727
2c52d7e4
EZ
137282000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13729
13730 Support for the menu-help feature:
13731
52283633 13732 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13733
13734 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13735 part of the line to the termscript file.
13736 (IT_clear_to_end): Clear the entire line, not just its beginning.
13737 (menu_help_message, prev_menu_help_message): New variables.
13738 (IT_menu_make_room): Make room for the help_text member.
13739 (IT_menu_display): New argument disp_help; all callers changed.
13740 If disp_help is non-zero, store the help text of the active menu
13741 item in menu_help_message.
13742 (XMenuAddPane): Initialize the help_text member to NULL.
13743 (XMenuAddSelection): New argument help_text. Store it in the
13744 XMenu structure.
13745 (XMenuActivate): New argument help_callback. If the value of
13746 menu_help_message has changed since the last time, display the
13747 menu help message text while waiting for the mouse to move. Clear
13748 the echo area before exiting.
13749 (XMenuDestroy): Free the help_text member.
13750
ffe0bcd1
GM
137512000-01-27 Gerd Moellmann <gerd@gnu.org>
13752
13753 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13754 XMenuAddSelection. Pass help callback to XMenuActivate.
13755 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13756
50dbd23f
EZ
137572000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13758
13759 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13760 and EMACS_SET_USECS.
13761
f5941bf8
GM
137622000-01-26 Dave Love <fx@gnu.org>
13763
6c67ddee
DL
13764 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13765
f5941bf8
GM
13766 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13767 an error may be signalled.
13768
9e49c990
GM
137692000-01-26 Gerd Moellmann <gerd@gnu.org>
13770
fc3cb460
GM
13771 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13772 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13773
9e49c990
GM
13774 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13775
d0c037d8
GM
137762000-01-25 Gerd Moellmann <gerd@gnu.org>
13777
13778 * charset.c (Fstring): If there is a multibyte char among
13779 the args, always return a multibyte string.
13780
e12489f9
GM
137812000-01-25 Gerd Moellmann <gerd@gnu.org>
13782
13783 * sysdep.c (sys_select): Turn atimers off and on instead of
13784 recording and restoring old alarm handler
13785
13786 * process.c (toplevel): Include atimer.h.
13787 (create_process_1): Rewritten.
13788 (create_process): Use atimers instead of alarm.
13789 (wait_reading_process_input) [hpux]: Turn atimers off instead
13790 of turning off SIGALRM.
13791 (wait_reading_process_input): Turn off atimers instead off
13792 calling stop_polling.
13793
13794 * emacs.c (main): Call init_atimer.
13795
13796 * keyboard.c (toplevel): Include systime.h and atimer.h.
13797 (polling_for_input): Removed because unused.
13798 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13799 (poll_timer): New variable.
13800 (poll_for_input, poll_for_input_1): New functions.
13801 (start_polling, stop_polling): Rewritten.
13802
13803 * keyboard.h (polling_for_input): Removed.
427ec082 13804
e12489f9
GM
13805 * atimer.h, atimer.c: New files.
13806
13807 * Makefile.in (obj): Add atimer.o.
13808 (atimer.o): New target.
13809
13810 * blockinput.h (pending_atimers): Add extern declaration.
13811 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13812
13813 * lisp.h (popup_activated_flag): Add extern declaration.
13814
13815 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13816 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13817 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13818
13819 * xterm.c (toplevel): Include atimer.h.
13820 (toolkit_scroll_bar_interaction): New variable.
13821 (Fxt_process_timeouts): Removed.
13822 (x_process_timeouts): New function.
13823 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13824 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13825 (x_make_frame_visible): Call poll_for_input_1 instead of
13826 input_poll_signal. Don't call alarm.
13827 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13828
1e5279b9
DL
138292000-01-24 Dave Love <fx@gnu.org>
13830
6c67ddee 13831 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13832 Don't use -cckr -- apparently not now necessary.
13833
edf6aeb8
EZ
138342000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13835
13836 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13837 screen boundary.
13838
9badad41
JR
138392000-01-23 Jason Rumney <jasonr@gnu.org>
13840
13841 * w32fns.c (w32_defined_color): Apply gamma correction before
13842 trying to map to the palette.
13843 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13844 to w32_clear_rect.
13845
13846 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13847 here. Callers changed to always pass real device context.
13848 (w32_draw_bitmap): Likewise.
13849 (w32_get_glyph_overhangs): Likewise.
52283633 13850 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13851 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13852 pfnSetScrollInfo and SetScrollRange.
13853 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13854 back into MULE characters after decoding them.
13855 (x_get_glyph_face_and_encoding): Likewise.
13856 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13857 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13858 (x_produce_glyphs): Calculate per char metrics for a character
13859 that we know exists in default font when font_not_found_p is true.
13860
63bd786b
JR
138612000-01-22 Jason Rumney <jasonr@gnu.org>
13862
13863 * makefile.nt (intervals.obj, composite.obj): New modules.
13864 (composite.h): Added as dependency where appropriate.
13865
13866 * w32gui.h (XGCValue): New struct for emulating X GCs.
13867
13868 * w32term.h (XCharStruct): New struct for emulating X.
13869
13870 * w32console.c (turn_on_face, turn_off_face): New functions.
13871 (change_line_highlight): New prototype for new redisplay.
13872 (write_glyphs): Support multibyte text. Support faces.
13873
52283633 13874 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13875
13876 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13877 throughout. struct frame * in place of FRAME_PTR.
13878 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13879 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13880 (w32_get_arg): Renamed from x_get_arg.
13881 (Fx_file_dialog): New function.
13882 (w32_list_fonts): Check cache before asking system.
13883 (Vw32_enable_synthesized_fonts): New variable.
13884 (Vw32_enable_italics): Obsolete, removed.
13885
13886 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13887 Use SELECTED_FRAME macro.
13888
13889 * w32menu.c: Add skeleton support for help strings on menus.
13890 (add_menu_item): Native checkbox and radio support added, but not
13891 yet enabled due to bugs.
13892 (push_menu_item): Add parameters type, selection and help.
13893 Callers updated.
13894 Formatting changes to reduce unnecessary diffs with xmenu.c.
13895
13896 * w32select.c (Fw32_set_clipboard_data): Update call to
13897 find_charset_in_str.
13898
13899 * w32term.c: Complete rewrite for new redisplay based on new
13900 xterm.c with necessary sections merged back in from old w32term.c.
13901
6ffd3cf7 139022000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13903
13904 * data.c (set_internal): Further fix in same criterion.
13905
6ffd3cf7 139062000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13907
13908 * data.c (set_internal): Fix the criteria for whether
13909 to swap out the old cached binding.
13910
60af03f1
DL
139112000-01-19 Dave Love <fx@gnu.org>
13912
13913 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13914
f9be074f
KH
139152000-01-18 Kenichi Handa <handa@etl.go.jp>
13916
13917 * regex.c (re_compile_fastmap): While checking a range table for
13918 `charset', skip flag bits for a character class correctly.
13919
52b8dbf9
GM
139202000-01-17 Gerd Moellmann <gerd@gnu.org>
13921
d36100c9
GM
13922 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13923
52283633 13924 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13925
13926 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13927 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13928
13929 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13930 MENU_ITEMS_ITEM_.*.
13931 (MENU_ITEMS_ITEM_HELP): New enumerator.
13932 (push_menu_item): Add parameter HELP. Record help in menu_items.
13933 (single_menu_item, single_submenu, list_of_items): Call
13934 push_menu_item with new parameter.
13935 (single_submenu): Set help string in widget value.
13936 (menu_highlight_callback): New function.
13937 (set_frame_menubar): Call lw_create_widget with new
13938 parameter list.
13939 (xmenu_show, xdialog_show): Ditto.
13940
3139018f
GM
139412000-01-13 Gerd Moellmann <gerd@gnu.org>
13942
13943 * sound.c (Fplay_sound): Improve doc string.
13944
83c8f461
RS
139452000-01-11 Richard M. Stallman <rms@gnu.org>
13946
13947 * lisp.h (set_internal): Enter the new arg.
13948
13949 * eval.c (specbind): Record buffer-local variables specially,
13950 indicating which buffer's binding was saved.
13951 (unbind_to): Restore buffer-local variables specially
13952 in the proper buffer.
13953
13954 * data.c (set_internal): New arg BUF.
427ec082 13955
83c8f461
RS
13956 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13957 * data.c (Fset): Pass new arg to set_internal.
13958 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13959
1fab1775
GM
139602000-01-11 Gerd Moellmann <gerd@gnu.org>
13961
52283633 13962 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13963
83c8f461 139642000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13965
13966 * minibuf.c (Ftry_completion): Doc fix.
13967
7a85e4df
GM
139682000-01-11 Gerd Moellmann <gerd@gnu.org>
13969
13970 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13971 vector, too.
13972
a970dae4
AS
139732000-01-11 Andreas Schwab <schwab@suse.de>
13974
13975 * coding.c (code_convert_region): Initialize total_skip.
13976
c65d14ee
DL
139772000-01-08 Dave Love <fx@gnu.org>
13978
13979 * eval.c (Fuser_variable_p): Check customizability too.
13980
834938d2
GM
139812000-01-07 Gerd Moellmann <gerd@gnu.org>
13982
13983 * minibuf.c (Fcompleting_read): Doc fix.
13984
e0303cd6
GM
139852000-01-05 Gerd Moellmann <gerd@gnu.org>
13986
8a26744b
GM
13987 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13988 -L /usr/local/lib.
13989
e0303cd6
GM
13990 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13991 Check that input style is supported before trying to create an
13992 IC for it.
13993 (x_window): Call x_create_im.
427ec082 13994
2e471eb5
GM
139952000-01-04 Gerd Moellmann <gerd@gnu.org>
13996
560a7bd2
GM
13997 * xfns.c (current_gif_memory_src): New variable.
13998 (gif_load): Record the address of the current memory source
13999 in current_gif_memory_src.
14000 (gif_read_from_memory): Use current_gif_memory_src.
14001
f9ee84a3
GM
14002 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14003 macros statement form.
14004
d1299cde
GM
14005 * sound.c (struct sound): Renamed from struct sound_file.
14006 (struct sound): Add members `data' and `header_size'.
14007 (enum sound_attr): Add SOUND_DATA.
14008 (current_sound, current_sound_device): Variables renamed from
14009 sound_file and sound_device.
14010 (parse_sound): Parse :data.
14011 (parse_sound): Handle sound data in strings.
14012 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14013 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14014 needed header size.
14015 (wav_play, au_play): Play sounds from string data.
14016
2e471eb5
GM
14017 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14018
14019 * lisp.h: Add prototype for allocate_string_data.
14020
52283633 14021 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14022
14023 * alloc.c (mark_buffer): Remove code in #if 0.
14024 (gc_sweep): Ditto.
14025 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14026 (strings_consed): New variable.
14027 (allocate_string): Set it.
14028 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14029 (Fmemory_use_counts): Return strings_consed. Use Flist.
14030
14031 * alloc.c: General cleanup in comments etc. Remove conditional
14032 compilation for `standalone'.
14033
14034 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14035
14036 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14037 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14038 (DONT_COPY_FLAG): Removed.
14039 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14040 (struct sdata, struct sblock): New
14041 (struct string_block): Rewritten.
14042 (STRINGS_IN_STRING_BLOCK): New macro.
14043 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14044 (large_sblocks, string_blocks, string_free_list): New variables.
14045 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14046 (init_strings): Rewritten.
14047 (allocate_string, allocate_string_data, compact_small_strings)
14048 (free_large_strings, sweep_strings): New functions.
14049 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14050 (struct string_block_head, current_string_block)
14051 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14052 (STRING_PAD): Removed.
14053 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14054 (Fgarbage_collect): Don't set mark bit in large strings.
14055 (mark_object): Mark strings differently. Mark symbol names
14056 differently.
14057 (survives_gc_p): Test marked strings differently.
427ec082 14058 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14059 symbol names.
14060 (compact_strings): Removed.
14061
42608ba8
EZ
140622000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14063
14064 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14065 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14066
e0a09e1a
KH
140672000-01-04 Kenichi Handa <handa@etl.go.jp>
14068
dd9f0750 14069 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14070 in a non-empty buffer.
dd9f0750 14071
3c0f3b15 14072 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14073
44cd3ae5
GM
140742000-01-03 Gerd Moellmann <gerd@gnu.org>
14075
14076 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14077 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14078
14079 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14080
c182a70f
EZ
140812000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14082
14083 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14084 need to test for MSDOS frames.
14085
24480d5b
EZ
140862000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14087
14088 * dosfns.c (unspecified_colors): Remove.
14089 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14090 unspecified_bg.
14091 (msdos_stdcolor_name): Return strings for unspecified fore- and
14092 back-ground colors.
14093
14094 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14095 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14096 (tty_color_name): Return Lisp strings for unspecified fore- and
14097 back-ground colors.
14098 (Finternal_set_lisp_face_attribute): Remove the special treatment
14099 for Qunspecified_{f,b}g.
52283633 14100 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14101
047f434a
GM
141022000-01-03 Gerd Moellmann <gerd@gnu.org>
14103
14104 * xdisp.c (reseat_at_next_visible_line_start): Position before
14105 newline only if ending up on a newline.
14106 (next_element_from_ellipsis): Return success. Handle case of
52283633 14107 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14108 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14109 returns 0.
14110
d684c676
EZ
141112000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14112
14113 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14114 (Fcolor_supported_p): Renamed from face-color-supported-p.
14115
5fe1d139
EZ
141162000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14117
14118 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14119 list of colors renamed to tty-defined-color-alist.
14120 (tty_color_name): Pass the frame to tty-color-by-index.
14121 (realize_tty_face): tty-color-alist is now a function which
14122 accepts the frame as argument.
14123
52283633 14124 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14125
816be8b8
EZ
141262000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14127
14128 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14129 encode_terminal_code.
14130
b635321e
EZ
141312000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14132
14133 * dispnew.c (mode_line_string): Support termcap frames as well.
14134
9b784e96
GM
141352000-01-01 Gerd Moellmann <gerd@gnu.org>
14136
27189709
GM
14137 * syntax.c (Fforward_word): Undo previous change.
14138
14139 * editfns.c (Fconstrain_to_field): Don't constrain if
14140 inhibit-field-text-motion is non-nil.
14141 (Fline_beginning_position): Undo previous change.
14142 (Fline_end_position): Ditto.
14143
14144 * syntax.c (Fforward_word): Notice field boundaries only if
14145 inhibit-field-text-motion is nil.
14146
14147 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14148
14149 * editfns.c (Vinhibit_field_text_motion): New variable.
14150 (inhibit-field-text-motion): New DEFVAR_LISP.
14151 (Fline_beginning_position, Fline_end_position): Notice field
14152 boundaries only if inhibit-field-text-motion is nil.
14153
45158a91
GM
14154 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14155 All calls adjusted.
14156 (x_build_heuristic_mask): Likewise.
14157 (xbm_load_image_from_file): Change error output.
14158 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14159 (gif_load, gs_load, x_kill_gs_process): Ditto.
14160
9b784e96
GM
14161 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14162 color indices when accessing raster pixels.
63cec32f
GM
14163 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14164 one of :file or :data.
14165 (enum pbm_keyword_index): Add PBM_DATA.
14166 (pbm_format): Add :data.
14167 (pbm_image_p): Allow either :file or :data.
14168 (pbm_read_file): New function.
14169 (pbm_scan_number): Rewritten to read from string.
14170 (pbm_load): Support :data.
9b784e96 14171
2cb085db 14172See ChangeLog.8 for earlier changes.
6922b018
KH
14173
14174;; Local Variables:
49b3bd82 14175;; coding: iso-2022-7bit
6922b018 14176;; End:
2a34a036
GM
14177
14178 Copyright (C) 2001 Free Software Foundation, Inc.
14179 Copying and distribution of this file, with or without modification,
14180 are permitted provided the copyright notice and this notice are preserved.