Fix the format of the last entry.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9212319f 12001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
2
3 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
4 the program image directly.
5
7dd73b78
PJ
62001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7
8 * buffer.h (Fbuffer_local_value): Add prototype.
9
982f6c7e
RS
102001-11-04 Richard M. Stallman <rms@gnu.org>
11
d31053f9
RS
12 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
13 and CHECK_BUFFER.
14
15 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
16 (record_char): Likewise.
17
18 * keyboard.c (make_lispy_event): Don't insist a drag event must
19 move to a different buffer position. Instead, check for moving at
20 least double_click_fuzz.
21
22 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
23
24 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
25
982f6c7e
RS
26 * indent.c (current_column_1, Fmove_to_column): Separate the code
27 for display-table glyphs from the code buffer text, to fix
28 bugs in the former.
29
830047fd
RS
302001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
31
32 * buffer.c (Fbuffer_local_value): New function.
33 (syms_of_buffer): defsubr it.
34
35 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
36 value of `cursor-in-non-selected-windows'.
37
38 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
39 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
40 (syms_of_xdisp): Initialize it.
41
2df5238c
PJ
422001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
43
4e397688
PJ
44 * xfns.c (Fx_create_frame): Doc fix.
45
48b0f3ae
PJ
46 * coding.c: Change doc-string comments to `new style' [w/`doc:'
47 keyword].
48
2df5238c
PJ
49 * eval.c (top_level_value, top_level_set): Remove commented and
50 #ifdef'd-out code.
51 (Fdefvar): Fix usage in doc-string.
52
3ecaf7e5
RS
532001-11-03 Richard M. Stallman <rms@gnu.org>
54
55 * xfns.c: Include unistd.h, if it exists.
56
57 * editfns.c: Move the include of ctype.h after unistd.h.
58
59 * gmalloc.c: Test BROKEN_PROTOTYPES.
60
8db2e33b
KR
612001-11-03 Ken Raeburn <raeburn@gnu.org>
62
63 * lisp.h (CHECK_STRING_CAR): New macro.
64 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
65 treating XCAR and XCDR as lvalues.
66 (openp): Use CHECK_STRING_CAR.
67 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
68
aed29b97
EZ
692001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
70
71 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 72 (SIGMASKTYPE): Define.
aed29b97
EZ
73
74 * syssignal.h (sigunblock): Don't define if already defined.
75
6cb16f95
PJ
762001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
77
16b45be4
EZ
78 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
79 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
80 Fix typos in comments.
81
020f9b38
PJ
82 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
83 and #ifdef'd-out code.
84 Fix and reindent comments.
85
86 * mocklisp.h: Remove comment which is a copy of comment in
87 mocklisp.c.
88
6cb16f95
PJ
89 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
90 argument `i' in macros.
91
92 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
93 `i' in macros.
94
16b45be4
EZ
95 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
96 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
97 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
98 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
99 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
100 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
101 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
102 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
103 in macros.
104
105 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
106 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
107 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
108 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
109 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
110 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
111 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
112 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
113 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
114 (remove unused second argument).
115
7e9d3c2f
SM
1162001-11-02 Stefan Monnier <monnier@cs.yale.edu>
117
118 * syntax.c (describe_syntax): New wrapper.
119 (Finternal_describe_syntax_value): Rename from describe_syntax.
120 Don't insert space at front and \n at the end.
121 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
122
123 * regex.c (re_wctype): Try to fix some warnings.
124 (regcomp, regexec): Don't forget the __restrict.
125
e6bff182
RS
1262001-11-02 Richard M. Stallman <rms@gnu.org>
127
128 * textprop.c (Fget_char_property): Doc fix.
129
9ba48103
PJ
1302001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
131
132 * process.c (Fstart_process): Add usage to doc-string.
133
134 * data.c (Fsetq_default): Ditto.
135
136 * callint.c (Finteractive): Ditto.
137
c22e59e1
SM
1382001-11-01 Stefan Monnier <monnier@cs.yale.edu>
139
140 * macros.c: Don't include keymap.h any more.
141
9271ed2c
RS
1422001-11-01 Richard M. Stallman <rms@gnu.org>
143
e6bff182
RS
144 * data.c (Fmake_local_variable): Doc fix.
145
146 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
147 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
148
9271ed2c
RS
149 * keymap.c (Fdescribe_buffer_bindings): Print character property
150 bindings along with or instead of the buffer local map.
151 Make the overriding maps override what they should.
152
8b8bd9c6
PJ
1532001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
154
155 * window.c (grow_mini_window): Fix typo in comment.
156
27188d11
GM
1572001-11-01 Gerd Moellmann <gerd@gnu.org>
158
7b49b9d2
GM
159 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
160 (XTset_vertical_scroll_bar): Likewise.
161
43f7c3ea
GM
162 * xfns.c (x_build_heuristic_mask): Use four_corners_best
163 instead of IMAGE_BACKGROUND.
c22e59e1 164
b350c2e5
GM
165 * xfns.c (four_corners_best): Reindent.
166
c22e59e1 167 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
168 Handle :box so that it is possible to specify sexprs.
169
d576358b
PJ
1702001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
171
172 * xfaces.c (Finternal_merge_in_global_face): Reindent.
173 (Fface_font): Ditto.
174 (Finternal_set_alternative_font_registry_alist): Ditto.
175 (Ftty_suppress_bold_inverse_default_colors): Ditto.
176
177 * xfns.c (x-get-resource): Reindent.
178
bf00d461
EZ
1792001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
180
181 * s/hpux11.h: New file.
182
4e10df59
PJ
1832001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
184
2b209b97
PJ
185 * emacs.c (USAGE1): Show command line option --no-window-system
186 instead of --no-windows in usage.
187 (standard_args): Rename --no-windows to --no-window-system.
188 (bug_reporting_address): Follow Emacs coding conventions.
189
9dbc9081
PJ
190 * eval.c (Fcommandp): Doc fix.
191 Change doc-string comments to `new style' [w/`doc:' keyword].
192
4e10df59
PJ
193 * frame.c (Fframe_live_p): Doc fix.
194
195 * buffer.c (selective-display-ellipses): Doc fix.
196
dd387b25
GM
1972001-10-31 Gerd Moellmann <gerd@gnu.org>
198
fe957e65
GM
199 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
200
dd387b25
GM
201 * xfaces.c (realize_x_face): If C is not a single-byte character,
202 set the face's colors_copied_bitwise_p instead of the defaulted_p
203 members which have a different meaning.
204 (free_face_colors): Do nothing for a face whose colors have been
205 copied bitwise.
206
c22e59e1 207 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 208
2e1280f8
PJ
2092001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
210
687784e8
PJ
211 * marker.c, mocklisp.c: Change doc-string comments to `new style'
212 [w/`doc:' keyword].
2e1280f8 213
b9d9a9b9
GM
2142001-10-31 Gerd Moellmann <gerd@gnu.org>
215
216 * fns.c (require_unwind): Return Lisp_Object.
217
48400103
PJ
2182001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
219
fa1361cb
PJ
220 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
221 (last-input-char): Revert doc-string to be the same as the
222 doc-string of `last-input-event'.
223
48400103
PJ
224 * xdisp.c: Fix typos in comments.
225
eafa3196
GM
2262001-10-31 Gerd Moellmann <gerd@gnu.org>
227
228 * window.c (grow_mini_window): Handle case that the root
229 window is already smaller than the nominal mininum height.
230
747d3f2a
SM
2312001-10-30 Stefan Monnier <monnier@cs.yale.edu>
232
bf9bb76f
SM
233 * emacs.c (main): Don't call keys_of_macros any more.
234
235 * lisp.h (keys_of_macros): Remove.
236
237 * macros.c (keys_of_macros): Remove.
238
747d3f2a
SM
239 * xfaces.c (Fface_attribute_relative_p): Declare args.
240
5e905a57
JR
2412001-10-30 Jason Rumney <jasonr@gnu.org>
242
243 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
244 (enum_font_cb2): Ignore fonts with vertical orientation.
245
3a426197
RS
2462001-10-30 Richard M. Stallman <rms@gnu.org>
247
248 * keyboard.c (Finput_pending_p): Doc fix.
249
a742d646
GM
2502001-10-30 Gerd Moellmann <gerd@gnu.org>
251
259cf6bc
GM
252 * xterm.c (x_after_update_window_line): Don't run the code
253 clearing in borders for rows whose visible height is 0.
254
3f99f948
GM
255 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
256 resized_p flag is set. If not set, use the much less flickering
257 method previously used.
258
259 * dispnew.c (change_frame_size_1): Set frame's resized_p.
260
261 * frame.h (struct frame) <resized_p>: New member.
262
b4a3be43
GM
263 * lread.c (to_multibyte): Ensure read_buffer is at least twice
264 as large as the number of bytes to convert.
747d3f2a 265
a742d646
GM
266 * lread.c (to_multibyte): New function.
267 (read1): Use it.
268
cacbb9e9
EZ
2692001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
270
271 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
272
99cb6b2f
GM
2732001-10-30 Gerd Moellmann <gerd@gnu.org>
274
327f42ee 275 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
276 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
277 if the row's fill_line_p is set and drawing the last glyph with
278 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 279
99cb6b2f
GM
280 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
281
8e8223e2
SM
2822001-10-29 Stefan Monnier <monnier@cs.yale.edu>
283
284 * xmenu.c: Include coding.h and charset.h.
285 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
286 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
287 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
288 Explicitly set wv->help. Use `TRUE' rather than `True'.
289 (menu_help_callback): Use empty_string.
290
291 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
292 (Fx_popup_dialog): Explicitly init f.
293 (w32_menu_display_help): Use empty_string.
294
4d083a8f
RS
2952001-10-29 Richard M. Stallman <rms@gnu.org>
296
b2304472
RS
297 * fns.c (Frequire): Detect recursive try to require the same
298 feature 3 or more levels deep, and get error.
299 (require_unwind): New subroutine.
300 (require_nesting_list): New variable.
301 (syms_of_fns): Init and staticpro it.
302
4d083a8f
RS
303 * print.c (print_object): Clarify indication of insertion type.
304
2fe41216
EZ
3052001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
306
90480000
EZ
307 * coding.c (syms_of_coding): Document that locale-coding-system is
308 used for decoding input on X.
309
2fe41216
EZ
310 * window.c (Fscroll_left, Fscroll_right): Doc fix.
311
74e79967
PJ
3122001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
313
314 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
315 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
316
60ebcfe8
GM
3172001-10-29 Gerd Moellmann <gerd@gnu.org>
318
9a7bdceb
GM
319 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
320 use NO_CURSOR if cursor_in_non_selected_windows is false.
321
3f08fcd2
GM
322 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
323 the slant attribute if FRAME is t.
324
0ccfdad2
GM
325 * xfns.c (x_set_internal_border_width): Set frame garbaged
326 when X window doesn't exist yet.
327
ef253080
GM
328 * xterm.c (x_after_update_window_line): Clear internal border
329 in different circumstances.
330
60ebcfe8
GM
331 * xterm.c (XTread_socket) <KeyPress>: Don't use
332 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
333 <handa@etl.go.jp>.
334
73d25f9c
EZ
3352001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
336
337 * m/ibms390.h: New file. From Adam Thornton
338 <athornton@sinenomine.net>.
339
cac1daf0
GM
3402001-10-28 Gerd Moellmann <gerd@gnu.org>
341
053b3256
GM
342 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
343
cac1daf0
GM
344 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
345 a loop counter.
346
13b1a09c
PJ
3472001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
348
186486eb
PJ
349 * emacs.c: Use argv[0] instead of emacs when -t was specified.
350
4707d2d0
PJ
351 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
352 keyword].
353 Fix typos in comments.
354
d883731c
PJ
355 * emacs.c (bug_reporting_address): New function.
356 Use it when displaying usage message.
357
04012254
PJ
358 * minibuf.c (read_minibuf): Remove unused external declaration of
359 variable `Qread_only'.
360
13b1a09c
PJ
361 * keymap.c (access_keymap): Remove unused variable `charset'.
362
5bbf4378
MB
3632001-10-28 Miles Bader <miles@gnu.org>
364
365 * xfaces.c (merge_face_heights): Handle TO being relative as well.
366 Remove #ifdef'd-out code.
367 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
368 (syms_of_xfaces): Initialize them.
369
1ce1e4ee
JR
3702001-10-27 Jason Rumney <jasonr@gnu.org>
371
372 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
373 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
374 position using the system caret.
375
376 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
377 (w32_system_caret_height, w32_system_caret_x)
378 (w32_system_caret_y): New variables for tracking system caret.
379 (w32_initialize): Initialize them.
c2d53558 380 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 381
c2d53558
SM
382 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
383 New messages types.
1ce1e4ee
JR
384
385 * w32term.c (note_mouse_highlight): Clear old help_echo.
386
4e30ce42
PJ
3872001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
388
bb4600a4
PJ
389 * xterm.c: Fix typo in a comment.
390
7db35a48
PJ
391 * emacs.c: Fix typos in comments.
392 Remove unnecessary spaces.
393 Change doc-string comments to `new style' [w/`doc:' keyword].
394 (USAGE2): Fix typos in usage string.
395
a7248e4f
PJ
396 * xterm.c: Fix typo in a comment.
397
4e30ce42
PJ
398 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
399 emacs.c.
400
62725a92
GM
4012001-10-27 Gerd Moellmann <gerd@gnu.org>
402
798dbe1f 403 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 404 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
405 farther backward when target_y was not reached.
406
62725a92
GM
407 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
408 Display errno only if non-zero.
409 (sound_warning): New function.
410 (vox_configure): Don't treat failing to set sample rate as error.
411 (various places): Improve error messages.
412
d4e34d24
EZ
4132001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
414
944e6f60
EZ
415 * fileio.c (Faccess_file): Run the argument filename through
416 Fexpand_file_name, before using it.
417
d4e34d24
EZ
418 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
419 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
420
38d2af0c
GM
4212001-10-26 Gerd Moellmann <gerd@gnu.org>
422
da80a8d5
GM
423 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
424
38d2af0c
GM
425 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
426 Fix clearing in the case of scroll bars on the right.
c2d53558 427
56f508dd
EZ
4282001-10-26 Juanma Barranquero <lektu@terra.es>
429
430 * w32gui.h (XImage): Add a dummy typedef.
431
fbd5ceb2
GM
4322001-10-26 Gerd Moellmann <gerd@gnu.org>
433
c2d53558 434 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 435
b23236fb
EZ
4362001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
437
438 * frame.c (Fframe_parameter): Fix last change.
439
5d991fc4
EZ
440 * fileio.c: Revert last change (which removed old commented-out
441 version of expand-file-name). Add a comment that explains why
442 this old version should not be removed.
443
879eadc3
GM
4442001-10-25 Gerd Moellmann <gerd@gnu.org>
445
75700ff2
GM
446 * frame.c (Fframe_parameter): Fix a bug whereby some
447 ``artificial'' frame parameters, like `minibuffer' were not
448 obtained by calling Fframe_parameters.
449
dfe92a6a
GM
450 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
451 cursor differently.
452
879eadc3
GM
453 * xdisp.c (move_it_vertically_backward): Compute line height
454 differently. Add heuristic to try to be more compatible to 20.x.
455
e1010ebe
SM
4562001-10-25 Stefan Monnier <monnier@cs.yale.edu>
457
d73a471b
SM
458 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
459
d6da5a06
GM
460 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
461 boolean.
e1010ebe 462
f66bd220
MB
4632001-10-25 Miles Bader <miles@gnu.org>
464
465 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
466 BG is a pointer to a structure, not a structure.
467 (gif_format, png_format): Add missing commas.
468
d436d538
RS
4692001-10-24 Richard M. Stallman <rms@gnu.org>
470
471 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 472 (syms_of_xfaces): Defsubr it.
d436d538 473
075c507b
PJ
4742001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
475
476 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
477 variable `area'.
478
d492b584
PJ
4792001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
480
c2d53558 481 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 482
e2a57b34
MB
4832001-10-25 Miles Bader <miles@gnu.org>
484
485 * dispextern.h (struct image): Add `background',
486 `background_valid', and `background_transparent' fields.
487 (image_background, image_background_transparent): New declarations.
488 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
489 * xfns.c (image_background, image_background_transparent)
490 (four_corners_best): New functions.
c2d53558 491 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
492 (gs_format): Add `:background' entry.
493 (lookup_image): Set IMG's background color if specified.
494 (pbm_load, xbm_load_image, png_load): Set IMG's background field
495 when appropriate.
496 (x_clear_image_1): Reset `background_valid' and
497 `background_transparent_valid' fields.
498 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
499 calculating it here. Set IMG's background_transparent field.
500 (enum xpm_keyword_index): Add XPM_BACKGROUND.
501 (enum png_keyword_index): Add PNG_BACKGROUND.
502 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
503 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
504 (enum gif_keyword_index): Add GIF_BACKGROUND.
505 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 506 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
507 Pre-calculate image background color where necessary.
508 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
509 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
510 color to use for image glyph reliefs.
511
b547b6e8
GM
5122001-10-24 Gerd Moellmann <gerd@gnu.org>
513
d9e3b8c6
GM
514 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
515 in full-width rows.
c2d53558 516
b547b6e8
GM
517 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
518 Fix clearing of area not covered by scroll bar.
519
2beb36f9
PJ
5202001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
521
522 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
523 and `real_start'.
c2d53558 524 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
525 (glyph_rect): Remove unused variable `area'.
526
76cb5e06
GM
5272001-10-24 Gerd Moellmann <gerd@gnu.org>
528
bdbdebff 529 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
530
531 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
532 (row_containing_pos): Take additional argument DY.
533 Treat rows ending in middle of char differently.
62e33982
GM
534 (display_line): Handle tabs on window systems differently.
535
536 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
537 with additional argument.
538
539 * dispextern.h (row_containing_pos): Adjust prototype.
540
76cb5e06
GM
541 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
542 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
543 (try_window_id, try_window_reusing_current_matrix)
544 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
545 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
546
996fee11
PJ
5472001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
548
c9e60620
PJ
549 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
550 gnuemacs).
551 (HAVE_BOXES): Fix typo in comment.
552 (push_menu_pane): Fix typo in comment.
553
3b552d56
PJ
554 * xdisp.c: (display_prop_string_p): Remove unused local declaration
555 of `Qwhen'.
556 (single_display_prop_string_p): Remove unused local declarations
557 of `Qwhen' and `Qmargin'.
558 (string_buffer_position): Remove unused variable `around'.
559 (store_frame_title): Remove unused variable `width'.
560
15c565ac
PJ
561 * window.c: Don't define max.
562 (coordinates_in_window): Remove unused variable `uy'.
563
a8818eb9
PJ
564 * widget.c: Don't define max.
565
996fee11
PJ
566 * process.c: Don't define max.
567 (create_process): Remove unused variable `buffer'.
568
496e1a5b
GM
5692001-10-23 Gerd Moellmann <gerd@gnu.org>
570
c2d53558 571 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 572
5905ae8b
EZ
5732001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
574
575 * xfaces.c (Finternal_set_lisp_face_attribute)
576 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
577 frame is on a windowed display.
578
24db49fb
GM
5792001-10-23 Gerd Moellmann <gerd@gnu.org>
580
c2d53558
SM
581 * dispnew.c (sync_window_with_frame_matrix_rows):
582 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
583 of marginal areas.
584
c2d53558 585 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 586
f0487f05
EZ
5872001-10-23 Andreas Schwab <schwab@suse.de>
588
589 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
590 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
591
f0a48a01
GM
5922001-10-23 Gerd Moellmann <gerd@gnu.org>
593
c2d53558 594 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
595 REAL_END. Notice if cursor gets overwritten.
596 (notice_overwritten_cursor): Take X positions as parameters.
597 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
598 around call to x_draw_glyphs.
599
a50a10a0
PJ
6002001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
601
fc11dff0
PJ
602 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
603 instead of C) and usage.
a50a10a0 604
fc11dff0
PJ
605 * editfns.c (char-to-string): Fix argument names (use CHAR instead
606 of C) and usage.
a50a10a0
PJ
607
608 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
609 `left', `max_width' and `max_height'.
610
8738febd
GM
6112001-10-23 Gerd Moellmann <gerd@gnu.org>
612
613 * xdisp.c (display_line): For a tab continued to the next line,
614 set row's ends_in_middle_of_char_p.
615
653c329b
GM
6162001-10-22 Gerd Moellmann <gerd@gnu.org>
617
618 * xdisp.c (display_line): Fix computation of continuation lines
619 width for TABs.
620
f958c5ac
PJ
6212001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
622
7ba51063
PJ
623 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
624 `Qlaplace'.
625
f958c5ac
PJ
626 * fileio.c: Remove unused code.
627
eb360291
MB
6282001-10-22 Miles Bader <miles@gnu.org>
629
630 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
631 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
632 Remove `DOC_STRINGS_IN_COMMENTS' cases.
633
98515cf0
JR
6342001-10-21 Jason Rumney <jasonr@gnu.org>
635
636 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
637
93026d88
EZ
6382001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
639
640 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
641 (Finsert_string): Avoid the multi-line string literals warning.
642
c9a95b79
MB
6432001-10-22 Miles Bader <miles@gnu.org>
644
645 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
646 (Fdocumentation): Don't use it.
647 (syms_of_doc): Don't initialize it.
648
649 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
650 * print.c (Fwith_output_to_temp_buffer): Likewise.
651 * window.c (Fsave_window_excursion): Likewise.
c2d53558 652 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 653 (Fsave_restriction): Likewise.
c2d53558
SM
654 * eval.c (Frun_hooks, Frun_hook_with_args)
655 (Frun_hook_with_args_until_failure)
656 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
657 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
658 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
659 (Funwind_protect, Fcondition_case): Likewise.
660 * coding.c (Ffind_operation_coding_system): Likewise.
661 * keyboard.c (Ftrack_mouse): Likewise.
662
a3b10252
MB
6632001-10-21 Miles Bader <miles@gnu.org>
664
c2d53558 665 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
666 (Fmake_hash_table): Add usage: string to doc string.
667 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 668 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
669 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
670 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
671 (Fml_prefix_argument_loop): Likewise.
672
c6f73eec
PJ
6732001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
674
c2d53558 675 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 676
c6f73eec
PJ
677 * sysdep.c (init_sys_modes): Change doc-string comments to `new
678 style' [w/`doc:' keyword].
679
680 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
681 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
682 comments to `new style' [w/`doc:' keyword].
683
3cf3436e
JR
6842001-10-21 Jason Rumney <jasonr@gnu.org>
685
686 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
687
c169b8f1
JR
688 * w32term.c (remember_mouse_glyph): New function.
689 (w32_mouse_position): Use it.
690 (note_mouse_movement): If the mouse moved off the glyph, remember
691 its new position.
c2d53558 692
4fdd691b
JR
693 * w32term.h (struct w32_output): Correct spelling of x_compatible.
694 (w32_display_info): Add mouse_face_overlay.
695
c169b8f1
JR
696 * w32term.c (notice_overwritten_cursor): Renamed from
697 note_overwritten_text_cursor. Rewritten to take glyph widths into
698 account.
699 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
700 (fast_find_string_pos): New function.
701 (fast_find_position): Return the correct vpos. Add parameter
702 STOP. In the final row, stop before glyphs having STOP as object.
703 Don't consider glyphs that are not from a buffer.
704 (fast_find_position) [0]: Add a presumably more correct version
705 for after 21.1.
706 (expose_window_tree, expose_frame): Don't compute intersections here.
707 (expose_window): Do it here instead.
708 (expose_window_tree, expose_window, expose_line): Return 1 when
709 overwriting mouse-face.
710 (expose_window): If W is the window currently being updated, mark
711 the frame garbaged.
712 (expose_frame): If mouse-face was overwritten, redo it.
713 (x_use_underline_position_properties): New variable.
714 (syms_of_xterm): DEFVAR_BOOL it.
715 (x_draw_glyph_string): Add comment to use it in future.
716 (x_draw_glyph_string): Restore clipping after drawing box.
717 Fix a computation of the underline position.
718 (w32_get_glyph_string_clip_rect): Minor cleanup.
719 (x_fill_stretch_glyph_string): Remove an assertion.
720 (x_produce_glyphs): Don't convert multibyte characters
721 to unibyte characters in unibyte buffers.
722 (cursor_in_mouse_face_p): New function.
723 (x_draw_stretch_glyph_string): Use it to choose a different GC
724 when drawing a cursor within highlighted text. Don't draw
725 background again if it has already been drawn.
726 (x_draw_glyph_string_box): Don't draw a full-width
727 box just because the glyph row's full_width_p flag is set.
728 (x_draw_glyphs): Fix computation of rightmost x for
729 full-width rows.
730 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
731 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
732 change bottom shadow accordingly. Some cleanup.
733 (x_update_window_end): Handle overwritten mouse face
734 also for tool bar windows.
735 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
736 DRAW is DRAW_IMAGE_RAISED.
737 (clear_mouse_face): Return 1 if text with mouse face was
738 actually redrawn. Make the function static. Reset
739 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
740 optimize away highlighting if we pass over that same overlay again.
741 (note_mouse_highlight): Call mouse_face_overlay_overlaps
742 to detect a case where we have to highlight a different region
743 despite not having left the currently highlighted region.
744 Set mouse_face_overlay in the x_display_info. Avoid changing the
745 mouse pointer shape when show_mouse_face has already done it, or
746 there is no need. Handle mouse-face and help-echo in strings.
747 (glyph_rect): New function.
748 (w32_mouse_position): Use it to raise the threshold for mouse
749 movement event generation.
750 (w32_initialize_display_info): Initialize the x_display_info's
751 mouse_face_overlay.
752 (w32_set_vertical_scroll_bar): Don't clear a zero height
753 or width area.
754 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
755 a widget to zero height.
756
3cf3436e 757 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 758 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
759 equivalents in menu_items.
760 (w32_menu_show): Don't overwrite an item's name with its key
761 description in case the description is a multibyte string.
762 (single_submenu): Some cleanup.
763
764 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
765 (postprocess_image): New function.
766 (lookup_image): Call it for all image types except PostScript.
767 (x_kill_gs_process): Call postprocess_image.
768 (tiff_error_handler, tiff_warning_handler): New functions.
769 (tiff_load): Install them as handlers.
770 (x_kill_gs_process): Recognize if someone has cleared the image
771 cache under us.
772 (valid_image_p): Protect better against invalid image
773 specifications. Previous code could signal an error.
774 (Fx_hide_tip, Fshow_tip): Doc fix.
775 (Fv_max_tooltip_size): New variable.
776 (syns_of_xfns): DEFVAR_LISP it.
777 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
778 window buffer to *tip* right after creating the frame. Set frame's
779 window_width. Use a maximum tooltip size specified by
780 Vx_max_tooltip_size, if that has valid contents.
781 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
782 Make sure the tooltip is completely visible.
783 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
784 (Fx_create_frame): Adjust the frame's height for presence
785 of the tool bar before calling x_figure_window_size.
786 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
787 when the window gets smaller.
788 (x_set_foreground_color): Set frame's cursor_pixel.
789 (x_set_foreground_color, x_set_background_color): Cleaned up.
790 (x_set_font): Handle case of x_new_fontset returning the same name
791 as before, although there was a change in fontsets.
792
386ca361
MB
7932001-10-21 Miles Bader <miles@gnu.org>
794
c2d53558 795 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
796 (Flogxor): Add usage: string to doc string.
797 * charset.c (Fstring): Likewise.
798 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
799 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
800
14ff1ee0
PJ
8012001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
802
03be2694
PJ
803 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
804
805 * alloc.c: Reindent DEFUNs with doc: keywords.
806
807 * abbrev.c (Finsert_abbrev_table_description): Reindent.
808
14ff1ee0
PJ
809 * frame.c: Change doc-string comments to `new style' [w/`doc:'
810 keyword].
811
71431a0e
GM
8122001-10-20 Gerd Moellmann <gerd@gnu.org>
813
6aa97356 814 * (Version 21.1 released.)
71431a0e 815
39f624fa
PJ
8162001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
817
c2d53558 818 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
819
820 * xdisp.c (invisible_text_between_p): Put prototype inside #if
821 0 because unused.
822
823 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
824 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
825 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 826
abcce93a
MB
8272001-10-20 Miles Bader <miles@gnu.org>
828
829 The following changes remove the glyph_row `inverse_p' field,
830 which is never set anymore, due to other changes:
831
832 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
833 (reassert_line_highlight, change_line_highlight): Declarations removed.
834 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
835 (line_hash_code, row_equal_p, fake_current_matrices)
836 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
837 (update_frame_line, update_frame_line, update_frame_line):
838 Don't use `inverse_p' field.
839 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
840 change_line_highlight_hook.
841 (XTreassert_line_highlight, x_change_line_highlight):
842 Functions removed.
c2d53558 843 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
844 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
845 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
846 `inverse_p' field.
c2d53558 847 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
848 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
849 (w32_reassert_line_highlight, x_change_line_highlight):
850 Functions removed.
851 * w32console.c (reassert_line_highlight, change_line_highlight):
852 Functions removed.
853 (initialize_w32_display): Don't set reassert_line_highlight_hook
854 or change_line_highlight_hook.
855 (hl_mode): Function removed.
c2d53558
SM
856 (reset_terminal_modes, set_terminal_modes, update_begin)
857 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
858 (clear_frame, ins_del_lines): Don't call it.
859 * termhooks.h (reassert_line_highlight_hook)
860 (change_line_highlight_hook): Declarations removed.
861 * term.c (reassert_line_highlight_hook)
862 (change_line_highlight_hook): Variables removed.
863 (reassert_line_highlight, change_line_highlight): Functions removed.
864 * msdos.c (IT_reassert_line_highlight)
865 (IT_change_line_highlight): Functions removed.
866 (internal_terminal_init): Don't set reassert_line_highlight_hook
867 or change_line_highlight_hook.
868 (highlight): Variable removed.
c2d53558 869 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
870 (IT_set_terminal_modes): Don't set or use it.
871
872 The following changes remove inverse-video support for terminals
873 that use a `magic cookie' standout mode. Due to changes in the
874 way mode-lines are displayed, such support no longer works
875 anyway, and it's probable that almost no one uses such terminals
876 anymore:
877
878 * term.c (standout_requested): Variable removed.
879 (update_end, highlight_if_desired): Don't use it.
880 (chars_wasted, copybuf): Variables removed.
881 (write_standout_marker): Function removed.
c2d53558 882 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
883 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
884 Don't use `chars_wasted' or `copybuf'.
885 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
886 Set `costs_set' to true.
887 (cursor_to, clear_end_of_line): Test `costs_set' instead of
888 `chars_wasted'.
889 (clear_end_of_line): Function removed.
890 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
891 (clear_to_end): Call `clear_end_of_line' instead of
892 `clear_end_of_line_raw'.
54800acb
MB
893 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
894 (term_init): Don't set them.
895 Turn off any standout/underline modes that require magic cookies.
c2d53558 896 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
897 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
898 Remove special processing for magic-cookie standout modes.
899 (turn_off_face, turn_on_face): Remove special processing for
900 underline magic-cookie glitch.
abcce93a 901
0b5f679f
RS
9022001-10-19 Richard M. Stallman <rms@gnu.org>
903
904 * eval.c (syms_of_eval): Doc fixes.
905
5a4a5bd4
GM
9062001-10-19 Gerd Moellmann <gerd@gnu.org>
907
908 * xdisp.c (redisplay_internal): Don't clear echo area if the
909 mini-window is selected.
910
79f1f96c
MB
9112001-10-19 Miles Bader <miles@gnu.org>
912
b57c2708
MB
913 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
914 doesn't take precedence if the affected property's value is nil.
915
916 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
917
79f1f96c
MB
918 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
919 with fields and suggest using `forward-line' to avoid them.
920 * editfns.c (Fline_beginning_position, Fline_end_position):
921 Clarify documentation.
922
ef879104
SM
9232001-10-18 Stefan Monnier <monnier@cs.yale.edu>
924
925 * keymap.c (current_minor_maps): `override' only shadows its
926 correspondent in minor-mode-map-alist, not the whole tail.
927
97f4db8c
AI
9282001-10-18 Andrew Innes <andrewi@gnu.org>
929
930 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
931 optimization. The fontp->encoding array was not being initialized
932 correctly when compiled with optimizations by MSVC.
933
e6b70fd8
GM
9342001-10-18 Gerd Moellmann <gerd@gnu.org>
935
30903479 936 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 937
0e804d38
AI
9382001-10-17 Andrew Innes <andrewi@gnu.org>
939
940 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
941
942 * w32fns.c (w32_load_system_font): Cache codepage for font, in
943 font_info.charset field.
944
945 * w32term.c (w32_encode_char): Get cached codepage from font_info,
946 rather than working it out by calling w32_codepage_for_font for
947 every glyph.
948
66e5868a
AI
9492001-10-17 Andrew Innes <andrewi@gnu.org>
950
951 * w32term.c (w32_read_socket): Determine clipping rectangle for
952 the entire frame, including areas covered by scrollbars and the
953 menubar. This avoids internal arguments about whether a frame is
954 fully obscured or not.
955
15b00083
GM
9562001-10-17 Gerd Moellmann <gerd@gnu.org>
957
23e8bd86
GM
958 * xdisp.c (try_window_id): Undo last change. Give up if
959 window ends in strings.
30903479 960
9c6ba6d1 961 * xdisp.c (try_window_id): Don't display lines after the window
30903479 962 end if the rest of the window after the window end was already blank.
23e8bd86 963
30903479 964 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
965 for the release of 21.1.
966
30903479 967 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 968
945220bd
MB
9692001-10-17 Miles Bader <miles@gnu.org>
970
971 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
972 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
973 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
974 Change doc-string comments to `new style' [w/`doc:' keyword].
975 (DOC_STRINGS_IN_COMMENTS): Macro removed.
976 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
977 out make-docfile.
978
14242528
MB
9792001-10-16 Miles Bader <miles@gnu.org>
980
981 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
982
3ddf952f
GM
9832001-10-16 Gerd Moellmann <gerd@gnu.org>
984
985 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
986 *scratch*.
987
f3fbd155
KR
9882001-10-16 Ken Raeburn <raeburn@gnu.org>
989
990 Avoid the assumption that car and cdr slots of cons cells are
991 addressable lvalues; this allows for easier experimentation with
992 other lisp implementations that may not permit such accesses for
993 various reasons. Not quite complete -- buffer.c still needs some
994 work, and w32/mac files need rechecking -- so compile-time
995 enforcement is left disabled for now.
996
997 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 998 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
999 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1000 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1001 (XSETCAR, XSETCDR): New macros.
1002 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1003 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1004 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1005 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1006 XSETCDR.
1007 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1008 * buffer.c (record_buffer, Fbury_buffer)
1009 (swap_out_buffer_local_variables, recenter_overlay_lists)
1010 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1011 fields of a cons cell respectively.
1012 * callint.c (quotify_args, Fcall_interactively): Likewise.
1013 * ccl.c (Fregister_code_conversion_map): Likewise.
1014 * coding.c (detect_coding_system): Likewise.
1015 * composite.c (get_composition_id, make_composition_value_copy):
1016 Likewise.
30903479
SM
1017 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1018 (swap_in_symval_forwarding, set_internal, Fset_default)
1019 (Fmake_variable_buffer_local, Fmake_local_variable)
1020 (Fmake_variable_frame_local): Likewise.
f3fbd155 1021 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1022 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1023 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1024 * minibuf.c (get_minibuffer): Likewise.
1025 * search.c (Fmatch_data): Likewise.
1026 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1027 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1028 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1029 Likewise.
1030 * w32term.c (x_delete_display): Likewise.
1031 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1032 Likewise.
c2d53558 1033 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1034 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1035 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1036 (Fread_file_name): Use XSETCAR.
1037 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1038 CHECK_NUMBER_CDR.
1039 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1040 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1041 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1042 CHECK_NUMBER_CDR.
1043 * keyboard.c (read_char): Alter list traversal to avoid taking the
1044 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1045 (parse_menu_item): Use XSETCAR and XSETCDR.
1046 (reach_char_x_menu_prompt): Use XSETCAR.
1047 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1048 (Fcommand_execute): Use XSETCDR.
1049 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1050 (openp): Change list traversal to avoid using XCAR as lvalue.
1051 (read_list): Use XSETCDR.
1052 * process.c (wait_reading_process_input): Change wait_for_cell
1053 handling to avoid taking addresses of cons cell slots.
30903479
SM
1054 * xselect.c (x_own_selection, x_handle_selection_clear)
1055 (x_clear_frame_selections): Use XSETCDR.
1056 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1057 (x_handle_property_notify, x_get_foreign_selection)
1058 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1059
502150e5
PJ
10602001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1061
018ba359
PJ
1062 * buffer.c: Put doc strings in comments.
1063
30903479 1064 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1065
b56ba8de
SS
10662001-10-15 Sam Steingold <sds@gnu.org>
1067
1068 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1069
6a0b793a
PJ
10702001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1071
30903479
SM
1072 * process.c (process-inherit-coding-system-flag)
1073 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1074 in comment.
1075
a1f17501 1076 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1077 arguments. Put doc strings in comments.
a65da641
PJ
1078
1079 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1080
aa601ad0
GM
10812001-10-15 Gerd Moellmann <gerd@gnu.org>
1082
30903479 1083 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1084
aa601ad0
GM
1085 * window.c (select_window_1): Unfreeze window start. Remove a
1086 doubled test for WINDOW being live.
1087
288148a1
PJ
10882001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1089
dd8d1e71
PJ
1090 * fns.c (Fmapconcat): Fix typo in a doc string.
1091
288148a1
PJ
1092 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1093
9f5eb4a3
GM
10942001-10-15 Gerd Moellmann <gerd@gnu.org>
1095
1096 * xterm.c (x_draw_glyph_string): Restore clipping after
1097 drawing box.
1098
dbae44c8
PJ
10992001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1100
30903479 1101 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1102
0c88c937
SM
11032001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1104
56378db4
GM
1105 * indent.c (skip_invisible): Use new retval of
1106 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1107
845e4cf4
SM
1108 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1109 If a parent is reached and noinherit is set, exit immediately.
1110 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1111
0c88c937
SM
1112 * s/ms-w32.h (EXEC_SUFFIXES):
1113 * s/msdos.h (EXEC_SUFFIXES):
1114 * process.h (EXEC_SUFFIXES): Remove.
1115
1116 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1117 (decode_suffixes): Remove.
1118
1119 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1120 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1121 (invisible_ellipsis_p): Remove.
0c88c937
SM
1122
1123 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1124 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1125 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1126 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1127 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1128
d19be8a9
PJ
11292001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1130
04d7d066
PJ
1131 * lisp.h (Ftop_level): Add prototype.
1132
d624284c
PJ
1133 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1134 (XTread_socket): Improve style of comments to follow other
1135 comments.
1136
a87414f9
PJ
1137 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1138 is already prototyped in included lisp.h).
1139
d19be8a9
PJ
1140 * frame.c (Fset_mouse_position): Improve style of comment to
1141 follow other comments.
1142 (Fset_mouse_pixel_position): Improve style of comment to follow
1143 other comments.
1144 (Fmake_frame_visible): Doc fix and typo in comment.
1145 (Fmake_frame_invisible): Doc fix and typo in comment.
1146 (Ficonify_frame): Fix typo in comment.
1147
c061c855
GM
11482001-10-14 Gerd Moellmann <gerd@gnu.org>
1149
37f6b5b6 1150 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1151 * term.c, alloc.c: Put doc strings in comments.
c061c855 1152
e641b454
GM
11532001-10-13 Gerd Moellmann <gerd@gnu.org>
1154
1155 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1156 Provide definitions for doc strings in comments.
1157
1158 * fns.c: Put doc strings in comments.
1159
51724e26
EZ
11602001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1161
1162 * dired.c (file_name_completion): Ignore a candidate directory if
1163 it matches an element in completion-ignored-extensions that ends
1164 in a slash.
1165 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1166 feature in the doc string.
1167 (Ffile_name_completion): Ditto.
1168
be5fc59b
SM
11692001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1170
5a1373f3
SM
1171 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1172
1173 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1174
1175 * lisp.h (Fprovide): Update prototype.
1176 (Ffeaturep, invisible_p): Remove.
1177
bbc4a3d3 1178 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1179 (DOLIST, LOOP_PROPVAL): New macros.
1180 (invisible_p, invisible_ellipsis_p): Use them.
1181 (invisible_noellipsis_p): New function.
1182 (syms_of_xdisp): Use empty_string.
1183
1184 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1185
1186 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1187 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1188
1189 * print.c (Fwith_output_to_temp_buffer): Align with
1190 internal_with_output_to_temp_buffer.
1191 (print_preprocess): Use traverse_intervals_noorder.
1192 (print_object): Update call to traverse_intervals.
1193
1194 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1195 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1196
1197 * intervals.c (traverse_intervals_noorder): New function.
1198 (search_for_interval, count_intervals): Use it.
1199 (traverse_intervals): Use less stack space and drop `depth' arg.
1200
1201 * fns.c (Ffeaturep): Add new `subfeature' arg.
1202 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1203 (Qsubfeatures): New var.
1204 (syms_of_fns): Initialize it.
1205
026f408d
SM
1206 * keymap.c (Fkey_description): Use empty_string.
1207 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1208 (syms_of_keymap): Setup inheritance between maps.
1209 Don't export Sdescribe_bindings_internal any more.
1210
be5fc59b
SM
1211 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1212
3365175e
GM
12132001-10-12 Gerd Moellmann <gerd@gnu.org>
1214
1215 * xterm.c (notice_overwritten_cursor): Renamed from
1216 note_overwritten_text_cursor. Rewritten to take glyph widths into
1217 account.
1218
2ab7765c
EZ
12192001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1220
1221 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1222 multi-line strings without a trailing "\n\".
1223
311346bb
PJ
12242001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1225
1226 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1227 defined.
1228
2168e04d
SM
12292001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1230
026f408d
SM
1231 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1232
c0ec53ad
SM
1233 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1234 * w32proc.c (sys_spawnve):
1235 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1236 * w32.c (check_windows_init_file):
1237 * sound.c (Fplay_sound):
026f408d 1238 * emacs.c (init_cmdargs):
c0ec53ad
SM
1239 * process.c (Fstart_process): Update calls to openp.
1240
1241 * callproc.c (Vexec_suffixes): New var.
1242 (Fcall_process): Update call to openp.
1243 (decode_suffixes): New function.
1244 (syms_of_callproc): Init exec-suffixes.
1245
1246 * lread.c (Vload_suffixes, default_suffixes): New vars.
1247 (openp): Take a lisp list of suffixes.
1248 Check for file-name-handlers even if the file was absolute already.
1249 (syms_of_lread): Declare load-suffixes.
1250 (Fload): Fix up call to openp.
1251 Don't bother checking for file-name-handler at the very beginning.
1252
f6333468
SM
1253 * keymap.h (Fcopy_keymap): Don't export.
1254
1255 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1256 (Vload_suffixes, Vexec_suffixes): Declare.
1257 (openp): Update prototype.
f6333468
SM
1258
1259 * emacs.c (empty_string): New var.
1260 (syms_of_emacs): Initialize it.
1261
1262 * search.c (wordify): Use it.
1263
1264 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1265 selected window if it's not displayed there. Handle the case
1266 when the window is dedicated.
1267 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1268
1269 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1270
2168e04d
SM
1271 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1272 Remove left_ok and right_ok.
1273 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1274 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1275 new meaning of b_property.
1276
1277 * syntax.c (update_syntax_table): Simplify.
1278 (Fforward_comment): Don't skip quoted chars when going backward.
1279
13d95cc0
GM
12802001-10-11 Gerd Moellmann <gerd@gnu.org>
1281
beb0990f
GM
1282 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1283 in case I is of some unsigned type, in which case
1284 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1285 comparison becomes bogus.
1286
cb938d46
GM
1287 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1288 (Fuser_full_name): Fix bug treating a float as a fixnum.
1289
1290 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1291
1292 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1293
13d95cc0
GM
1294 * lisp.h (circular_list_error): Add prototype.
1295
1296 * data.c (Qcircular_list): New variable.
1297 (circular_list_error): New function.
1298 (syms_of_data): Initialize it Qcircular_list.
1299
e35f6ff7
SM
13002001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1301
1302 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1303 casefiddle.c, buffer.c: Include keymap.h.
1304
619632ac
GM
13052001-10-10 Gerd Moellmann <gerd@gnu.org>
1306
1307 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1308 options. From Dave Love <d.love@dl.ac.uk>.
1309
5e5388f6
GM
13102001-10-09 Gerd Moellmann <gerd@gnu.org>
1311
1312 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1313 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1314
14a3dff7
GM
1315 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1316 unsigned char.
1317 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1318
76ba8daf
AI
13192001-10-08 Andrew Innes <andrewi@gnu.org>
1320
1321 * lisp.h [max]: Undef min and max before redefining them.
1322
1323 * w32gui.h: Do not undef min and max.
1324
1325 * w32heap.h: Do not undef min and max.
1326
1327 * s/ms-w32.h: Do not undef min and max.
1328
166253cb
SM
13292001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1330
1331 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1332
0c4d9527
SS
13332001-10-08 Sam Steingold <sds@gnu.org>
1334
1335 * keymap.c (current-active-maps): Quote newlines (compilation error).
1336
14bfa771
EZ
13372001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1338
1339 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1340 bindings.elc, since otherwise doc strings in bindings.el get wrong
1341 offsets in etc/DOC.
1342
bdb7aa47
SM
13432001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1344
9985827f
SM
1345 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1346
1347 * keyboard.h (map_prompt): Remove.
1348
1349 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1350 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1351
bdb7aa47
SM
1352 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1353
1354 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1355
1356 * keyboard.c (map_prompt): Remove.
1357 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1358 Use Fkeymap_prompt.
1359
1360 * keymap.h: New file. Extracted from lisp.h.
1361
9985827f
SM
1362 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1363 (accessible_keymaps_1): New function.
1364 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1365 (Fwhere_is_internal): Use Fcurrent_active_maps.
1366 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1367 Insert in current buffer rather than standard-output.
1368 Don't call `help-mode'. Export to elisp.
1369 (describe_buffer_bindings): New wrapper.
1370 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1371 and Sdescribe_buffer_bindings.
1372
402c9a51
GM
13732001-10-08 Gerd Moellmann <gerd@gnu.org>
1374
9985827f 1375 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1376 Remove code setting signal handler.
1377
9985827f 1378 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1379 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1380
3fe81fdf
PJ
13812001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1382
1383 * keyboard.c: Don't define min/max.
1384
55fa7820
GM
13852001-10-08 Gerd Moellmann <gerd@gnu.org>
1386
9985827f 1387 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1388 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1389 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1390 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1391 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1392 Don't define min/max.
1393
1394 * lisp.h (min, max): New macros.
1395
55fa7820
GM
1396 * puresize.h (BASE_PURESIZE): Increase to 725000.
1397
1aad31e4
PJ
13982001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1399
9180dc8c
PJ
1400 * xfaces.c (free_frame_menubar): Add prototype.
1401
01f67d2c
PJ
1402 * lisp.h (init_window): Add prototype.
1403
1404 * editfns.c: Include ctype.h.
1405
1406 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1407 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1408 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1409 variable `sb'.
1410
5f351ff1
PJ
1411 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1412 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1413 `popup_activated_flag' and `title'.
1414
479dfe87
PJ
1415 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1416
dff49fc8
PJ
1417 * emacs.c (main): Remove extra `;'.
1418
248ac615
PJ
1419 * atimer.h (struct atimer): Fix typos in a comment.
1420
1421 * atimer.c: Fix typo.
1422
af232c7d
PJ
1423 * Makefile.in: Fix typo.
1424
1425 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1426
d876f455
MB
14272001-10-07 Miles Bader <miles@gnu.org>
1428
1429 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1430
0037e2f2
KR
14312001-10-07 Ken Raeburn <raeburn@gnu.org>
1432
b056f36d
KR
1433 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1434 Lisp_Object.
1435
0037e2f2
KR
1436 * lisp.h (Ffield_end): Declare.
1437
1a4372ef
GM
14382001-10-07 Gerd Moellmann <gerd@gnu.org>
1439
a4a74e8c
GM
1440 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1441
1442 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1443
1444 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1445
1446 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1447
1a4372ef
GM
1448 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1449 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1450
1451 * alloc.c (inhibit_garbage_collection): Simplify.
1452 (Fmemory_use_counts): Ditto.
1453
9985827f 1454 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1455 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1456 most-negative-fixnum.
1457
9985827f 1458 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1459 (FIXNUM_OVERFLOW_P): New macros.
1460
4650e362
MB
14612001-10-06 Miles Bader <miles@gnu.org>
1462
1463 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1464 scroll_bar_bottom_shadow_pixel fields.
1465 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1466 for the shadows, and tell the toolkit about them if we succeed.
1467 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1468 Free scroll-bar shadow colors.
1469 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1470 Free scroll-bar shadow colors when the background color changes.
1471 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1472 Initialize scroll-bar shadow-color fields.
1473
ace64e0a
GM
14742001-10-05 Gerd Moellmann <gerd@gnu.org>
1475
1476 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1477
ec66bdc7
MB
14782001-10-05 Miles Bader <miles@gnu.org>
1479
9985827f
SM
1480 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1481 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1482 New functions (were in simple.el).
9985827f 1483 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1484 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1485 (syms_of_minibuf): Initialize them.
1486
a0fb4492
GM
14872001-10-05 Gerd Moellmann <gerd@gnu.org>
1488
1489 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1490 (tiff_load): Install them as error and warning handler.
1491
0bcf87c1
AI
14922001-10-04 Andrew Innes <andrewi@gnu.org>
1493
1494 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1495 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1496 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1497 (x_to_w32_charset): Handle private format for unknown charsets.
1498 Handle wildcards in charset spec, by ignoring them.
1499 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1500 "*-" prefix from charset.
1501 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1502 handle the truncated font spec form constructed by font_list_1, so
1503 that we correctly identify the charset fields. Don't remove "*-"
1504 prefix from charset.
1505 (w32_list_synthesized_fonts): Fix argument to alloca.
1506
c89e4bc5
GM
15072001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1508
1509 * window.h (MINI_WINDOW_P): Use NILP.
1510
1511 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1512
1513 * termhooks.h (struct input_event): Use proper type for `kind'.
1514
15152001-10-04 Gerd Moellmann <gerd@gnu.org>
1516
1517 This handles unknown keysyms better than before. For example,
1518 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1519 Emacs formerly completely ignored F5. With the change, it derives
1520 a key symbol from the name of the X keysym, `ccaron' in this case.
1521 Reported by Martin Buchholz.
1522
1523 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1524 unknown keysyms.
1525
1526 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1527 that EVENT->code isn't a function key, use the keysym's name.
1528
15292001-10-04 Gerd Moellmann <gerd@gnu.org>
1530
1531 FOREACH is a macro that should make it easier to loop over Lisp
1532 lists with checks for cycles and proper lists.
1533
1534 * lisp.h (LIST_END_P, FOREACH): New macros.
1535
15362001-10-04 Gerd Moellmann <gerd@gnu.org>
1537
1538 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1539 called for a lost connection. Prevent dumping core in this case.
1540 Instead print the X error, and exit. On user request.
1541
1542 * xterm.c (error_msg): New variable.
1543 (x_fatal_error_signal): New function.
1544 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1545 as fatal_error_signal_hook around the call to XtCloseDisplay.
1546
1547 * emacs.c (fatal_error_signal_hook): New variable.
1548 (fatal_error_signal): Call that function.
1549
15502001-10-04 Gerd Moellmann <gerd@gnu.org>
1551
1552 With this, Emacs prints how much pure storage it will
1553 approximately need in case pure storage overflows while dumping.
1554
1555 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1556 New variables.
1557 (init_alloc_once): Initialize new variables.
1558 (PURE_POINTER_P): Use new variables.
1559 (pure_alloc): If pure storage overflows, allocate from the heap.
1560 (check_pure_size): New function.
1561 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1562
1563 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1564 (check_pure_size): Add prototype.
1565
1566 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1567
15682001-10-04 Gerd Moellmann <gerd@gnu.org>
1569
1570 This adds a post-gc-hook that's run with GC inhibited.
1571 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1572
1573 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1574 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1575 (Fgarbage_collect): Run post-gc-hook.
1576
15772001-10-04 Gerd Moellmann <gerd@gnu.org>
1578
1579 This adds `defvaralias' and `indirect-variable'. Changes not
1580 directly related to this feature are there to gain the same
1581 performance again as before variable aliases.
1582
1583 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1584 code to get and set symbol values, to take defvaralias into account.
1585
1586 (Note: the new `constant' bit-flag in symbols would make it
1587 possible to define arbitrary read-only variables, e.g. with
1588 `defconst'.)
1589
1590 Documentation is in lispref/variables.texi. Added to NEWS.
1591
1592 * lisp.h (enum symbol_interned): New enumeration.
1593 (struct Lisp_Symbol): Remove member `obarray', add
1594 `indirect_variable', `constant', and `interned'.
1595 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1596 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1597 (indirect_variable): Add prototype.
1598
1599 * print.c (print_preprocess, print_object): Test internedness of
1600 symbols differently.
1601
1602 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1603 bit-fields.
1604 (init_obarray): Likewise for t and nil.
1605
1606 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1607 (Fdefvaralias): New function.
1608 (specbind): Simplify the test if symbol is a constant.
1609 (syms_of_eval): Defsubr Fdefvaralias.
1610
1611 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1612 (Qcyclic_variable_indirection): New variable.
1613 (Fkeywordp): Check for internedness differently.
1614 (Fmakunbound): Simplify the test if symbol is a constant.
1615 (indirect_variable, Findirect_variable): New functions.
1616 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1617 aliased symbol.
1618 (let_shadows_buffer_binding_p): Check for variable aliases.
1619 (set_internal): Simplify the test if SYMBOL is a constant.
1620 If SYMBOL has a buffer-local value and is an alias, use the aliased
1621 symbol instead.
1622 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1623 Sindirect_variable.
1624
1625 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1626 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1627 set directly.
1628
1629 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1630
1631 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1632 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1633 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1634
ab952a4f
GM
16352001-10-04 Gerd Moellmann <gerd@gnu.org>
1636
1637 * Branch for 21.1.
b56ba8de 1638
ba88ff28
MB
16392001-10-03 Miles Bader <miles@gnu.org>
1640
1641 * callproc.c (syms_of_callproc): Explicitly state in the
1642 documentation for `process-environment' that earlier entries take
1643 precedence over later ones.
1644
ae1a9581
MB
16452001-10-02 Miles Bader <miles@gnu.org>
1646
1647 * textprop.c (Fnext_char_property_change)
1648 (Fprevious_char_property_change): Remove reference to non-existant
1649 argument OBJECT from doc-string.
1650
257e3f57
GM
16512001-10-01 Gerd Moellmann <gerd@gnu.org>
1652
1653 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1654 (try_window_id): Skip back over lines ending in a newline from a
1655 string.
1656
1657 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1658 New bit flag
1659
c1f29759
RS
16602001-10-01 Richard M. Stallman <rms@gnu.org>
1661
1662 * search.c (Freplace_match): Doc fix.
1663
c30dce3d
AI
16642001-09-28 Andrew Innes <andrewi@gnu.org>
1665
1666 * w32menu.c (set_frame_menubar): Take into account that
1667 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1668 <raeburn@gnu.org>.
1669
03be5931
EZ
16702001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1671
1672 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1673
75bec752
PJ
16742001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1675
1676 * s/gnu-linux.h: Fix a typo in comment.
1677
83100e0a
AS
16782001-09-28 Andreas Schwab <schwab@suse.de>
1679
1680 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1681 nocombreloc, in case -z combreloc is the default.
1682
a74b48cf
GM
16832001-09-28 Gerd Moellmann <gerd@gnu.org>
1684
1685 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1686 really going on here.
1687
09c4719e
SM
16882001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1689
1690 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1691
f7d5d963
EZ
16922001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1693
1694 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1695 utf-8, menu-bar, and latin-N.
1696 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1697 unconditionally now.
1698 (lisp): Add latin-N, since they are preloaded.
1699
9240e746
GM
17002001-09-27 Gerd Moellmann <gerd@gnu.org>
1701
14531065
GM
1702 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1703 to the left. Some cleanup.
1704
9240e746
GM
1705 * xdisp.c (display_mode_element): One more case where a string's
1706 multibyteness should be used for display.
1707
edd1e654
GM
17082001-09-26 Gerd Moellmann <gerd@gnu.org>
1709
b02439c8
GM
1710 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1711 reading at EOF.
1712
032906b1 1713 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1714 of the only temporarily set echoing flag for deciding when
032906b1
GM
1715 the cancel echoing.
1716
1717 * keyboard.c (echo_kboard): Make externally visible.
1718
1719 * lisp.h (echo_kboard): Declare extern.
1720
cb617e7c 1721 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1722 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1723 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1724 this round of redisplay if make_cursor_line_fully_visible fails.
1725 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1726 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1727
1728 * dispextern.h (required_matrix_width, required_matrix_height):
1729 Add prototypes.
1730
09c4719e
SM
1731 * dispnew.c (required_matrix_width, required_matrix_height):
1732 New functions.
cb617e7c 1733 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1734 (allocate_matrices_for_frame_redisplay: Use them.
1735 Remove parameters CH_DIM.
cb617e7c 1736
edd1e654
GM
1737 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1738 and selected_window to the frame of the window whose mode-lines
1739 are displayed, and to the window itself.
1740 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1741 here.
edd1e654 1742
924b604c
GM
17432001-09-25 Gerd Moellmann <gerd@gnu.org>
1744
daba7643
GM
1745 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1746 the image cache under us.
1747
b7a22712 1748 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1749 with a string value, use that string's multibyteness for displaying.
b7a22712 1750
ad648212
GM
1751 * keyboard.c (read_char): Don't clear a message for a switch-frame
1752 event. From Stefan Monnier <monnier@cs.yale.edu>.
1753
9f8531e5
GM
1754 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1755 version for after 21.1.
1756
1757 * xdisp.c (row_containing_pos): Make externally visible.
1758
1759 * dispextern.h (row_containing_pos): Add prototype.
1760
924b604c
GM
1761 * process.c (send_process): Disable composition if from_byte < 0.
1762 From Kenichi Handa <handa@etl.go.jp>.
1763
6f3f0db4
GM
17642001-09-24 Gerd Moellmann <gerd@gnu.org>
1765
c69c0ebc
GM
1766 * xterm.c (refreshicon): Function removed.
1767
d1182bc4
GM
1768 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1769
1770 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1771
1772 * xterm.c (toplevel): Remove includes in #if 0.
1773
6f3f0db4
GM
1774 * process.c (sigchld_handler) [LINUX]: Don't return from
1775 the signal handler at the end of the loop.
1776
59957f85
GM
17772001-09-21 Gerd Moellmann <gerd@gnu.org>
1778
09c4719e
SM
1779 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1780 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1781
a0528984
EZ
17822001-09-21 Markus Rost <rost@math.ohio-state.edu>
1783
1784 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1785
db92b288
GM
17862001-09-20 Gerd Moellmann <gerd@gnu.org>
1787
3fed8ad5
GM
1788 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1789 since this function can be called during GC.
1790
db92b288
GM
1791 * callproc.c (Fcall_process): Handle errors from pipe(2).
1792 (child_setup): Delete code in #ifdef vipc.
1793
7121b85a
GM
17942001-09-19 Gerd Moellmann <gerd@gnu.org>
1795
72f62cb5
GM
1796 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1797 (display_mode_element): Display the string from decode_mode_spec
1798 depending on its multibyteness.
1799
a2697022
GM
1800 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1801
7121b85a
GM
1802 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1803
bfc97351
GM
18042001-09-18 Gerd Moellmann <gerd@gnu.org>
1805
c9063433
GM
1806 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1807 recursive_edit_unwind.
1808 (recursive_edit_unwind): Set kboard state according to
1809 SINGLE-KBOARD.
1810
3fbdba3e
GM
1811 * buffer.c (modify_overlay): Don't do nothing if START == END;
1812 This can still be a modification, for example when an overlay has
1813 a before-string or after-string.
1814 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1815 an overlay with before-string or after-string.
1816
1270031d
GM
1817 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1818 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1819
bfc97351
GM
1820 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1821 first_unchanged_at_end_row is in front of
1822 last_unchanged_at_beg_row. This code should be removed after the
1823 release of 21.1.
1824
d8a973aa
GM
18252001-09-17 Gerd Moellmann <gerd@gnu.org>
1826
e18c8b8d
GM
1827 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1828 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1829
d8a973aa
GM
1830 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1831 versions >= 2.95.
1832
ed7d6ba4
EZ
18332001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1834
1835 * dired.c (Ffile_attributes): Doc fix.
1836
551629f9
GM
18372001-09-14 Gerd Moellmann <gerd@gnu.org>
1838
1839 * fileio.c (Ffile_symlink_p): Fix last change.
1840
1841 * filelock.c (current_lock_owner): Fix last change.
1842
4c8c7926
GM
18432001-09-13 Gerd Moellmann <gerd@gnu.org>
1844
620c4704
GM
1845 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1846 take that to mean that the buffer is too small.
1847
81c3310d
GM
1848 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1849 that to mean that the buffer is too small.
1850
06fd3792
GM
1851 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1852 current buffer's multibyteness when discarding the iterator's
1853 stack.
1854
4c8c7926
GM
1855 * xfns.c (Fx_window_property): Handle case that property gets
1856 deleted between the two calls to XGetWindowProperty.
1857
9a72e4c1
GM
18582001-09-11 Gerd Moellmann <gerd@gnu.org>
1859
bd819d14 1860 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1861
a41edd99
GM
1862 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1863 in addition to read-only.
1864
1865 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1866 to t in addition to read-only.
1867
1868 * lisp.h (Qinhibit_modification_hooks): Declare.
1869
1870 * insdel.c (Qinhibit_modification_hooks): New variable.
1871 (syms_of_insdel): Initialize and staticpro it.
1872
d4881c6a
GM
1873 * textprop.c (verify_interval_modification): Don't run
1874 modification-hooks if inhibit_modification_hooks.
1875
1876 * dispnew.c (set_window_cursor_after_update): Fix code
1877 finding glyph row containing cursor when cursor_in_echo_area
1878 is >= 0.
1879
9a72e4c1
GM
1880 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1881 (add_to_log): Use bcopy instead of strcpy.
1882 (init_from_display_pos): Use an explicit loop over bytes in
1883 overlay strings instead of calling index.
1884
f4a374a1
GM
18852001-09-10 Gerd Moellmann <gerd@gnu.org>
1886
300e57bd
GM
1887 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1888
1889 * dispnew.c (direct_output_for_insert): Don't change IT's
1890 stop_charpos to something in front of its current position.
1891
f4a374a1
GM
1892 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1893 `format'.
1894
7e4cbc91
RS
18952001-09-10 Richard M. Stallman <rms@gnu.org>
1896
1897 * frame.c (Fmouse_position): Doc fix.
1898
6afad91e
GM
18992001-09-07 Gerd Moellmann <gerd@gnu.org>
1900
1901 * xdisp.c (init_from_display_pos): Don't compare the result
1902 of calling index with NULL.
1903
f76e0368
GM
19042001-09-06 Gerd Moellmann <gerd@gnu.org>
1905
1906 * xfns.c (x_set_background_color): Don't change the colors
1907 of the X window of scroll bar widgets.
1908
9ead1b60
AI
19092001-09-05 Andrew Innes <andrewi@gnu.org>
1910
1911 * w32fns.c (w32_createwindow): Undo last change.
1912
c3b497b3
GM
19132001-09-05 Gerd Moellmann <gerd@gnu.org>
1914
08e1d6df
GM
1915 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1916
c3b497b3
GM
1917 * xdisp.c (string_buffer_position): Use *single_char_property*
1918 functions instead of the *single_property* functions.
b56ba8de 1919
8f860180
AI
19202001-09-04 Andrew Innes <andrewi@gnu.org>
1921
9a72e4c1
GM
1922 * w32term.c (w32_read_socket): Add more information to debugging
1923 output.
8f860180
AI
1924
1925 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1926 from Emacs frames, so that calls to GetClipBox in w32term.c
1927 correctly report when part of a frame is visible (including
1928 scrollbars, etc). This prevents repeated redrawing of frames when
1929 only a scrollbar is visible.
1930 (w32_wnd_proc): Add more frame information to debugging output.
1931
2ee1aa00
SM
19322001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1933
1934 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1935
e3b22517
GM
19362001-09-03 Gerd Moellmann <gerd@gnu.org>
1937
7e376260
GM
1938 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1939 help-echo for a string which doesn't have help-echo itself, use
1940 get-char-property to obtain the help-echo from the string's buffer
1941 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1942 have mouse-face, look ``under'' the string for mouse-face from an
1943 overlay.
1944 (fast_find_position): Add parameter STOP. In the final row, stop
1945 before glyphs having STOP as object. Don't consider glyphs that
1946 are not from a buffer.
1947
e3b22517
GM
1948 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1949
9a249bba
EZ
19502001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1951
1952 * fns.c (Fmd5): Doc fix.
1953
c9979669
GM
19542001-08-31 Gerd Moellmann <gerd@gnu.org>
1955
1956 * composite.c (update_compositions): Do nothing if
1957 inhibit-modification-hooks is set.
1958
9584e63a
GM
19592001-08-30 Gerd Moellmann <gerd@gnu.org>
1960
986ec8f2 1961 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1962 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1963 glyph matrices etc. in a core dump.
1964
92a25631
GM
1965 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1966 (syms_of_xdisp): Initialize them.
1967 (handle_single_display_prop): Don't change point, bind `object',
1968 `position', and `buffer-position' instead to the object having the
2ee1aa00 1969 `display' property, position in the object and position in the buffer.
92a25631 1970
9584e63a
GM
1971 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1972 of the buffer if REPLACE is non-nil.
1973
d38633a3
GM
19742001-08-29 Gerd Moellmann <gerd@gnu.org>
1975
1976 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1977
f4fccc1e
EZ
19782001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1979
1980 * w32term.c (x_set_glyph_string_background_width)
1981 (show_mouse_face): Track the last changes in xterm.c.
1982
eaaa65b0
GM
19832001-08-28 Gerd Moellmann <gerd@gnu.org>
1984
7b0870b2
GM
1985 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1986 string's background width so that multi-line mouse-face is drawn
1987 to the right edge of the window.
1988 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1989 glyphs.
1990
6b6e2422 1991 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1992 before inserting/writing glyphs.
6b6e2422 1993
eaaa65b0
GM
1994 * xdisp.c (display_mode_element): Use string_byte_to_char to
1995 determine character positions in strings, use chars_in_text
1996 instead of strwidth.
1997 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1998 a matrix as parameter; this is easier to use from GDB.
1999
9ad62cf8
MB
20002001-08-28 Miles Bader <miles@gnu.org>
2001
2ee1aa00
SM
2002 * textprop.c (Fprevious_single_char_property_change)
2003 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2004
32171635
GM
20052001-08-27 Gerd Moellmann <gerd@gnu.org>
2006
47d57b22
GM
2007 * fileio.c (Finsert_file_contents): Allocate, restore, and
2008 free composition data in the case of REPLACE not being nil.
2009
2010 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2011 there exist overlay strings with newlines at POS.
2012 (text_outside_line_unchanged_p): Return 0 if changes start at
2013 START and overlays exist at START. Likewise for END.
2014 (try_window_id): Give up if init_to_row_end returns 0.
2015
32171635
GM
2016 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2017 unconditionally.
2018
e1249666
GM
20192001-08-24 Gerd Moellmann <gerd@gnu.org>
2020
33954c45
GM
2021 * keymap.c (access_keymap): Return the cdr of the binding of
2022 a generic character instead of its definition (KEY . BINDING).
2023
e1249666
GM
2024 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2025 to 0 also in the REPLACE case.
2026
fb4c6c96
AC
20272001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2028
2029 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2030 open to determine whether file is readable (as for DOS_NT).
2031
59ecf80b
GM
20322001-08-23 Gerd Moellmann <gerd@gnu.org>
2033
2034 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2035 coding.type is coding_type_no_conversion or coding_type_raw_text,
2036 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2037 non-nil instead of just setting enable_multibyte_characters in the
2038 buffer to nil.
2039
40e33037
GM
20402001-08-22 Gerd Moellmann <gerd@gnu.org>
2041
374388c3
GM
2042 * dispextern.h (struct face_cache): Add member
2043 menu_face_changed_p.
2044
2045 * xfaces.c (menu_face_changed_default): New variable.
2046 (menu_face_changed_count): Variable removed.
2047 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2048 the menu_face_changed_default flag, otherwise set the FRAME's
2049 menu_face_changed_p flag if the `menu' face has been changed.
2050 Prevent calling set_font_frame_param if FRAME is t.
2051 (make_face_cache): Initialize cache's menu_face_changed_p
2052 from menu_face_changed_default.
2053 (realize_basic_faces): Look into the frame's face cache to
2054 determine if the menu appearance needs updating.
2055
40e33037
GM
2056 * keymap.c (access_keymap): Fix last change to not consider
2057 IDX when it has modifiers.
2058
859ea4b8
GM
20592001-08-21 Gerd Moellmann <gerd@gnu.org>
2060
2061 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2062 . BINDING) exists, where GENERIC-CHAR is the generic character of
2063 the charset of IDX, return BINDING unless there exists a binding
2064 for IDX itself.
2065
e8660d73
GM
20662001-08-16 Gerd Moellmann <gerd@gnu.org>
2067
cca1b1d7
GM
2068 * xrdb.c (SYSV): Don't define on Solaris 2.
2069 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2070
e8660d73 2071 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2072 of the screen line, not text line, containing IT's current position.
e8660d73 2073
93aba6fc
GM
20742001-08-15 Gerd Moellmann <gerd@gnu.org>
2075
288d4e06
GM
2076 * window.c (window_scroll_pixel_based): Don't recenter if
2077 PT is partially visible in the window.
2078
3452efc2
SM
2079 * xterm.c (expose_window_tree, expose_window, expose_line):
2080 Return 1 when overwriting mouse-face.
82f053ab
GM
2081 (expose_frame): If mouse-face was overwritten, redo it.
2082
93aba6fc
GM
2083 * xfaces.c (x_update_menu_appearance): Don't call
2084 set_frame_menubar, let the next redisplay do it.
2085
858a55c1
AI
20862001-08-14 Andrew Innes <andrewi@gnu.org>
2087
2088 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2089 drawing glyph string.
2090
3a990b67
EZ
20912001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2092
2093 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2094 running HI-UX/MPP.
2095
04386463
GM
20962001-08-14 Gerd Moellmann <gerd@gnu.org>
2097
2098 * xfaces.c (x_update_menu_appearance): Save and restore value of
2099 interrupt_input_blocked.
2100
3e6385a4
GM
21012001-08-13 Gerd Moellmann <gerd@gnu.org>
2102
b0e619b4
GM
2103 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2104 a line start, move back to the line start.
3452efc2 2105
0de73d5a
GM
2106 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2107 exactly when a mini-buffer is active.
2108
3e6385a4
GM
2109 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2110 in units of 1/8 character on non window-system frames.
2111 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2112
d1b5f629
EZ
21132001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2114
2115 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2116 a doc string.
2117
eaa2319f
GM
21182001-08-09 Gerd Moellmann <gerd@gnu.org>
2119
8e3189f0
GM
2120 * keyboard.c (Vpre_help_message): New variable.
2121 (syms_of_keyboard): Initialize and staticpro it.
2122 (show_help_echo): Record current message before displaying a
2123 help-echo, and restore that message when clearing the help.
2124
eaa2319f
GM
2125 * xfns.c (x_create_im): Remove prototype.
2126
2127 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2128
2129 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2130
eaa2319f
GM
21312001-08-08 Gerd Moellmann <gerd@gnu.org>
2132
2133 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2134 windows whose height has changed, disable partially visible lines.
eaa2319f 2135
17fdcfc8
GM
21362001-08-07 Gerd Moellmann <gerd@gnu.org>
2137
22d01aed 2138 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2139 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2140
17fdcfc8
GM
2141 * xdisp.c (start_display): Don't try to determine the continuation
2142 lines width if lines are truncated. It's superfluous and leads to
2143 incorrect results if POS is not visible in the window after
2144 reseating the iterator at the previous line start.
2145
8e3fe78e
GM
21462001-08-06 Gerd Moellmann <gerd@gnu.org>
2147
2148 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2149
98a8938c
GM
21502001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2151
2152 * alloc.c (init_stack): Remove declaration.
2153
18f9986a
GM
21542001-08-03 Gerd Moellmann <gerd@gnu.org>
2155
5e1f85e0
GM
2156 * keyboard.c (read_key_sequence): Check that key is an integer
2157 before comparing it with quit_char.
2158 (add_command_key): Use larger_vector.
2159 (read_char_x_menu_prompt): Instead of converting symbol and
2160 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2161 which cannot be confused with valid events.
5e1f85e0
GM
2162 (read_char): When reading from Vunread_command_events, check for
2163 events of the form (EVENT . disabled) instead of
2164 (EVENT . nil).
2165
18f9986a
GM
2166 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2167 a float, determine the max height from the frame's height.
2168
fbc7f2a6
GM
21692001-08-02 Gerd Moellmann <gerd@gnu.org>
2170
2171 * xdisp.c (redisplay_internal): Take message_cleared_p into
2172 account only if minibuf_level == 0.
2173
81b1a79d
GM
21742001-08-01 Gerd Moellmann <gerd@gnu.org>
2175
e5c60873
GM
2176 * xdisp.c (redisplay_internal): Add a check for the last
2177 displayed message.
3452efc2 2178
6e019995
GM
2179 * xdisp.c (message_cleared_p): New variable.
2180 (clear_message): Set message_cleared_p when clearing the current
2181 message.
2182 (redisplay_internal): Look at message_cleared_p to capture
2183 the case that the echo area should be cleared.
2184
308a74d8
GM
2185 * keyboard.c (command_loop_1): Fix spelling of
2186 resize_echo_area_exactly.
2187
3452efc2 2188 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2189
2190 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2191
81b1a79d
GM
2192 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2193 current matrix when the window gets smaller.
2194
ada329e6
EZ
21952001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2196
2197 * print.c (strout): Cast the character passed to insert_char to
2198 unsigned char, to avoid sign extension when it is promoted to int.
2199
ed86208c
GM
22002001-07-31 Gerd Moellmann <gerd@gnu.org>
2201
2202 * fileio.c (Finsert_file_contents): Don't treat a return value
2203 of 0 from emacs_read as an IO error.
2204
6594ac22
GM
22052001-07-30 Gerd Moellmann <gerd@gnu.org>
2206
cef68af5
GM
2207 * keyboard.c (abs): New macro.
2208 (double_click_fuzz): New variable.
2209 (make_lispy_event): Use it to determine what makes a double-click.
2210 (syms_of_keyboard): DEFVAR_INT it.
2211
6594ac22
GM
2212 * xmenu.c (set_frame_menubar): Take into account that
2213 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2214 <raeburn@gnu.org>.
2215
75c5350a
GM
22162001-07-27 Gerd Moellmann <gerd@gnu.org>
2217
2218 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2219
2220 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2221 of row's visible height.
2222
2223 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2224 deal with the first overlay string having an image `display' property.
2225 (try_window_reusing_current_matrix, compute_line_metrics):
2226 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2227 row is invisible above and part of the row is at the same time
2228 invisible below the window.
2229
ac49effe
GM
22302001-07-26 Gerd Moellmann <gerd@gnu.org>
2231
2232 * xfns.c (x-show-tip): Doc fix.
3452efc2 2233
ac49effe
GM
2234 * xfns.c (Vx_max_tooltip_size): New variable.
2235 (syms_of_xfns): DEFVAR_LISP it.
2236 (Fx_show_tip): Set frame's window_width to the width of the
2237 window. Use a maximum tooltip size specified by
2238 Vx_max_tooltip_size, if that has valid contents.
2239 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2240
8c3b00cb
AI
22412001-07-26 Andrew Innes <andrewi@gnu.org>
2242
2243 * w32term.c (x_display_list): New variable.
2244 (w32_term_init): Set it.
2245
2246 * w32term.h (x_display_list): New extern.
2247
16098288
GM
22482001-07-26 Gerd Moellmann <gerd@gnu.org>
2249
2250 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2251 is non-nil, instead of when redisplaying_p is non-zero.
2252 See comment there.
16098288
GM
2253 (mark_window_display_accurate_1): Add an assertion.
2254
64c5be50
GM
22552001-07-25 Gerd Moellmann <gerd@gnu.org>
2256
e743f599
GM
2257 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2258
563b384d
GM
2259 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2260 events so that we get a chance of processing expose events.
2261
64c5be50
GM
2262 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2263
296808a5
GM
22642001-07-24 Gerd Moellmann <gerd@gnu.org>
2265
2266 * xfns.c (valid_image_p): Protect better against invalid image
2267 specifications. Previous code could signal an error.
2268
5247262a
GM
22692001-07-23 Gerd Moellmann <gerd@gnu.org>
2270
3452efc2 2271 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2272 presence of display table entries.
2273 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2274
dd42b31a
GM
2275 * dispnew.c (adjust_glyph_matrix): In the optimization for
2276 windows whose height has changed, use the new window height
2277 to compute which rows to invalidate.
2278
9e5a7f2a
GM
2279 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2280 (MAX_10_EXP): New macro.
2281 (Fformat): Use it.
2282
5247262a
GM
2283 * coding.c (code_convert_region): Handle the multibyte case if
2284 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2285
177ab8ce
GM
22862001-07-20 Gerd Moellmann <gerd@gnu.org>
2287
6e07c0a5
GM
2288 * dispextern.h (struct face): Change type of `stipple' to
2289 int; it's an ID.
2290
177ab8ce
GM
2291 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2292
b5b80599
GM
22932001-07-19 Gerd Moellmann <gerd@gnu.org>
2294
4e2a256b
GM
2295 * dispnew.c (update_window): Don't set the cursor at the end
2296 of the update if display update has been paused.
2297
3452efc2 2298 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2299
c1fd9232
KR
23002001-07-18 Ken Raeburn <raeburn@gnu.org>
2301
2302 * fns.c (Fset_char_table_default): Check that a charset is defined
2303 before checking its dimension.
2304
928a85c1
KR
23052001-07-17 Ken Raeburn <raeburn@gnu.org>
2306
2307 * coding.c (setup_coding_system): Don't do any designation based
2308 on reg_bits if charset is not yet defined.
2309
fb4c6c96 2310 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2311 pointer, using eassert.
2312
de11c1ea
GM
23132001-07-17 Gerd Moellmann <gerd@gnu.org>
2314
3452efc2
SM
2315 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2316 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2317
467f1209
GM
23182001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2319
2320 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2321
c3d6be34
GM
23222001-07-16 Gerd Moellmann <gerd@gnu.org>
2323
c1d61a7d
GM
2324 * fileio.c (unwind_read): Function removed.
2325 (read_non_regular, read_non_regular_quit): New functions.
2326 (Finsert_file_contents): When reading from non-regular files,
2327 arrange to catch a `quit' and terminate the loop. Rearrange
2328 code so that a `quit' when reading from a regular file doesn't
2329 insert text in the buffer.
2330
c3d6be34
GM
2331 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2332 Clear faces afterwards.
2333 (clear_font_table): Take a x_display_info parameter. Don't free
2334 fonts being the default font of any frame on the given display.
2335
e06aa1f9
GM
23362001-07-13 Gerd Moellmann <gerd@gnu.org>
2337
2338 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2339 instead of CHAR_STRING which can signal an error.
2340
2341 * charset.c (char_to_string_1): Extracted from char_to_string.
2342 Return -1 instead of signaling an error.
2343 (char_to_string): Use it.
2344
2345 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2346
176c92e6
SM
23472001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2348
2349 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2350 is t, don't try to append anything to it.
2351
1c56232f
EZ
23522001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2353
2354 * dired.c (file_name_completion): Pass dp->d_name to
2355 Fstring_match, not elt, which is always nil here.
2356
1d2b2268
GM
23572001-07-12 Gerd Moellmann <gerd@gnu.org>
2358
2359 * xselect.c (x_decline_selection_request): Handle errors
2360 caused by receivers that have vanished.
2361
2362 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2363 ignoring events on foreign windows in #if 0. Always dispatch
2364 the event after checking it with x_handle_property_notify.
2365
2366 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2367 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2368 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2369 (toplevel): Add prototypes for file-local functions.
2370 (x_atom_to_symbol): Remove DPYINFO parameter.
2371
fe5a0162
SM
23722001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2373
2374 * w32menu.c (menubar_selection_callback, w32_menu_show):
2375 Initialize `entry' to nil.
2376 (w32_dialog_show): Remove unused `save_wv' variable.
2377 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2378
a777242c
GM
23792001-07-11 Gerd Moellmann <gerd@gnu.org>
2380
8ee5b6a3
GM
2381 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2382
d0e2444e
GM
2383 * fileio.c (unwind_read): Print a message when discarding inserted
2384 text or switching the buffer to unibyte. Change parameter.
2385 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2386
a777242c
GM
2387 * fileio.c (unwind_read): New function.
2388 (Finsert_file_contents): Record it as unwind-function for
2389 the case that reading is interrupted by C-g.
2390
ae794295
GM
23912001-07-10 Gerd Moellmann <gerd@gnu.org>
2392
fe5a0162 2393 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2394 update when scrolling_window returns 0.
2395
6b05fae3
GM
2396 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2397
2398 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2399 for the case that x_decode_color signals an error.
6b05fae3 2400
ae794295
GM
2401 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2402
bb6e8cee
GM
24032001-07-09 Gerd Moellmann <gerd@gnu.org>
2404
2405 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2406 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2407 around ioctls.
2408
36b40a8a
EZ
24092001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2410
24b97d4b
EZ
2411 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2412 doc string line for dos-timezone-offset.
2413
36b40a8a
EZ
2414 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2415 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2416 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2417 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2418
2419 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2420
0967b4b0
GM
24212001-07-05 Gerd Moellmann <gerd@gnu.org>
2422
f25cfe53
GM
2423 * sound.c: Include Emacs' header files with #include "...".
2424
0967b4b0
GM
2425 * eval.c (specbind): Additionally record the buffer that was
2426 current when a buffer-local or frame-local variable was bound.
2427
c347a1c3
GM
24282001-07-04 Gerd Moellmann <gerd@gnu.org>
2429
2430 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2431 to unibyte characters in unibyte buffers.
2432
6332ca8a
GM
24332001-07-03 Gerd Moellmann <gerd@gnu.org>
2434
38472d44
GM
2435 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2436 the frame on the binding stack. Change format of entries for
2437 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2438 (unbind_to): Handle unbinding a frame-local variable.
2439
6332ca8a 2440 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2441 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2442 (dump_glyph_row): Print row's continuation_lines_width.
2443 (try_window_id): Take the shortcut if ZV is visible in the
2444 window, but there are actually no changes at ZV.
2445
63d1b174
GM
24462001-07-02 Gerd Moellmann <gerd@gnu.org>
2447
4c175203
GM
2448 * xterm.h (x_free_dpy_colors): Add prototype.
2449
2450 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2451 right number of arguments.
2452
0b54ce28
GM
2453 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2454 ($(lwlibdir)TAGS): New target.
4c175203 2455 (TAGS): Fix dependency list.
0b54ce28 2456
63d1b174
GM
2457 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2458 with input blocked.
2459
d827466c
GM
24602001-06-30 Gerd Moellmann <gerd@gnu.org>
2461
2462 * emacs.c (main): Remove extern declaration for sys_nerr, which
2463 isn't used and causes a compilation error with GCC 3.0 on
2464 FreeBSD 4.3.
2465
b5cb1ada
GM
24662001-06-27 Gerd Moellmann <gerd@gnu.org>
2467
a5d3ec3f 2468 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2469 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2470 (toplevel): Include <signal.h> and syssignal.h.
2471
b5cb1ada
GM
2472 * sound.c (vox_configure, vox_close): Turn off atimers
2473 around ioctls.
2474
d9bad487
GM
24752001-06-26 Gerd Moellmann <gerd@gnu.org>
2476
fdbb67fe
GM
2477 * keyboard.c (read_char) <non_reread>: Record the previous idle
2478 start time before calling timer_stop_idle.
2479 (read_char) <reread_first>: After processing a help-echo event,
2480 restore the previous idle start time.
2481
d9bad487
GM
2482 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2483 the start of invisible text.
2484 (setup_for_ellipsis): New function.
2485 (next_overlay_string): After all overlay strings have been
2486 processed, display an ellipsis if necessary.
2487 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2488 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2489
2490 * dispextern.h (struct iterator_stack_entry): Add member
2491 display_ellipsis_p.
2492
2b9c25e0
GM
24932001-06-25 Gerd Moellmann <gerd@gnu.org>
2494
80de57df
GM
2495 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2496 on the value of the wait-for-wm frame parameter.
2497
2498 * xterm.h (struct x_output): Add member wait_for_wm.
2499
2500 * xfns.c (Qwait_for_wm): New variable.
2501 (x_frame_parms): Add entry for `wait-for-wm".
2502 (x_set_wait_for_wm): New function.
2503 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2504 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2505
2b9c25e0
GM
2506 * xdisp.c (try_window_id) <all changes below window end>: Don't
2507 take this shortcut if ZV is visible in the window.
2508 (try_window_id): When checking for window start being in changed
2509 text, don't check that the buffer's size has changed.
2510
f772775c
RS
25112001-06-23 Richard M. Stallman <rms@gnu.org>
2512
2513 * minibuf.c (Fcompleting_read): Doc fix.
2514
fa9090b8
GM
25152001-06-19 Gerd Moellmann <gerd@gnu.org>
2516
2517 * composite.c (Ffind_composition_internal): Accept ZV
2518 and a string's end position as POS.
2519
f6f1beba
GM
25202001-06-18 Gerd Moellmann <gerd@gnu.org>
2521
2522 * composite.c (Ffind_composition_internal): Check POS
2523 for validity.
2524
0ae83348
EZ
25252001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2526
2527 * editfns.c (Fmessage_box): If the frame is not under a window
2528 system, output the message in the echo area.
2529
e4cdc335
RS
25302001-06-14 Richard M. Stallman <rms@gnu.org>
2531
2532 * xdisp.c (try_window_id): When EOB is visible, don't treat
2533 insertion at EOB as if it were "off the bottom of the screen."
2534
a55a5f3c
AI
25352001-06-11 Andrew Innes <andrewi@gnu.org>
2536
2537 * w32proc.c (create_child): Add new parameter is_gui_app.
2538 (w32_executable_type): Add new parameter is_gui_app.
2539 (sys_spawnve): Use it.
2540 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2541 SIGQUIT. This matches better how the signals are interpreted by
2542 MSVC compiled programs.
2543 (syms_of_ntproc): Update docstring.
2544
1b85dc1c
SM
25452001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2546
2547 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2548 well otherwise note_mouse_highlight might optimize away highlighting
2549 if we pass over that same overlay again.
2550
b75f8eab
EZ
25512001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2552
2553 * lread.c (Fload): Document that the argument is run via
2554 substitute-in-file-name.
2555
94843cc1
GM
25562001-05-31 Gerd Moellmann <gerd@gnu.org>
2557
b14659e6
GM
2558 * Makefile.in (bootstrap-doc): New target.
2559 (bootstrap-emacs): Depend on it.
2560
0894672f
GM
2561 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2562 auto-save-list-file-name when shutting down Emacs, because
2563 creating the directory might signal an error, and leaves
2564 Emacs in a strange state.
2565
94843cc1
GM
2566 * term.c: (tty_cursor_hidden): New variable.
2567 (update_begin): Don't call tty_hide_cursor. Clean up.
2568 (update_end, set_terminal_window, set_scroll_region): Clean up.
2569 (ring_bell, reset_terminal_modes): Clean up.
2570 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2571 on tty_cursor_hidden.
2572 (write_glyphs): Call tty_hide_cursor.
2573
db3a49a6
SM
25742001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2575
2576 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2577
8bd189fb
GM
25782001-05-30 Gerd Moellmann <gerd@gnu.org>
2579
6f1be3b9
GM
2580 * xfns.c (enum image_value_type): New enumerator
2581 IMAGE_STRING_OR_NIL_VALUE.
2582 (parse_image_spec): Handle it.
2583 (xbm_format, pbm_format): Use it for :foreground and :background.
2584 (xbm_load, pbm_load): Check for nil color names.
2585
8bd189fb
GM
2586 * xterm.c (note_mouse_highlight): If an overlapping overlay
2587 exists, but we find that we highlight the same overlay as before,
2588 don't do the highlighting again.
2589
7bdba03c
GM
25902001-05-29 Gerd Moellmann <gerd@gnu.org>
2591
4c329aa8
GM
2592 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2593 Protect unibyte strings created by replacing their multibyte
2594 equivalents in menu_items.
2595
e15e2828
GM
2596 * keymap.c (Fsingle_key_description): NUL-terminate the string
2597 buffer before calling build_string.
2598
7bdba03c
GM
2599 * callproc.c (Fcall_process): Deal with decode_coding returning
2600 CODING_FINISH_INCONSISTENT_EOL.
2601
89c8dc6c
GM
26022001-05-28 Gerd Moellmann <gerd@gnu.org>
2603
db3a49a6 2604 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2605 an item's name with its key description in case the description
2606 is a multibyte string.
2607
2608 * keymap.c (Fsingle_key_description): Create a multibyte string
2609 only if necessary.
2610
eb04d6cd
GM
2611 * macros.c (Fstart_kbd_macro): Doc fix.
2612
8bd6307f
GM
2613 * xterm.c (cursor_in_mouse_face_p): New function.
2614 (x_draw_stretch_glyph_string): Use it to choose a different GC
2615 when drawing a cursor within highlighted text.
2616
e26c4089
GM
2617 * editfns.c (char_property_eq): Put in #if 0.
2618
2619 * indent.c (string_display_width): Put in #if 0.
2620
2621 * lread.c (Fload): Remove unused label.
2622
89c8dc6c
GM
2623 * termcap.c (speeds): Put in #if 0.
2624
9a1211f2
GM
26252001-05-18 Gerd Moellmann <gerd@gnu.org>
2626
29148a3f
GM
2627 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2628
9a1211f2
GM
2629 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2630 transformation matrix by 10.
2631
09393d07
GM
26322001-05-16 Gerd Moellmann <gerd@gnu.org>
2633
2634 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2635 only if it's equal to the former foreground pixel color.
db3a49a6 2636 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2637 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2638
460e6bae
GM
26392001-05-16 Dave Love <fx@gnu.org>
2640
2641 * insdel.c (signal_before_change, signal_after_change): Consider a
2642 local change hook which changes the buffer.
99c78ce8
GM
2643
2644 * process.c (read_process_output): Don't call signal_after_change
2645 and update_compositions after insert_from_string_before_markers.
2646
dbcf3c03
GM
26472001-05-16 Gerd Moellmann <gerd@gnu.org>
2648
a90b3d3c
GM
2649 * xfaces.c (split_font_name): Use the right field when
2650 checking for `[...]' syntax.
2651
1b7818b4
GM
2652 * buffer.c (copy_overlays): New function.
2653 (clone_per_buffer_values): Use it.
2654
2655 * buffer.h (OVERLAY_PLIST): New macro.
2656
9bae8781
GM
2657 * keymap.c (Fsingle_key_description): Replace a build_string with
2658 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2659
dbcf3c03
GM
2660 * fontset.c (Ffontset_info): Check that face is non-null
2661 before accessing its fields.
2662
8a1ae4dd
GM
26632001-05-15 Gerd Moellmann <gerd@gnu.org>
2664
18a0a39e
GM
2665 * keyboard.c (read_key_sequence): Prevent generating a fake
2666 prefix key twice.
2667
e335b66a
GM
2668 * xfaces.c (split_font_name): Handle `[...]' for the right
2669 font name fields.
2670
8a1ae4dd
GM
2671 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2672 of CCL_STAT_INVALID_CMD.
2673
3cf80731
SM
26742001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2675
33568849
SM
2676 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2677 in <var> has no default value yet.
2678
3cf80731
SM
2679 * xfaces.c (try_alternative_families): First try the FAMILY.
2680 And if nothing is found in the end, try again with scalable fonts.
2681 (try_font_list): Let try_alternative_families do a bit more of
2682 the work. Only use FAMILY if it is not nil.
2683 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2684
933b0249
GM
26852001-05-14 Gerd Moellmann <gerd@gnu.org>
2686
58e5af83
GM
2687 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2688 pointer shape when show_mouse_face has already done it.
33568849 2689
58e5af83 2690 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2691 full-width rows.
2692
7b16a6bf
GM
2693 * xfaces.c (split_font_name): Make sure to leave the loop
2694 with the right value of `i'.
3cf80731 2695
933b0249
GM
2696 * xfaces.c (split_font_name): Handle matrix transformations
2697 in the pixel and point size fields of XLFD font names.
2698 (xlfd_point_size): Likewise.
2699
dddcbf00
EZ
27002001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2701
3cf80731 2702 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2703 (x_to_w32_font): Add prototype.
2704
7689ef0b
EZ
2705 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2706 redefining, to avoid compiler warnings.
2707
e7c15bba
EZ
2708 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2709
dddcbf00
EZ
2710 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2711 (w32_get_bdf_glyph): Cast between unsigned char and char when
2712 passing arguments to subroutines, to shut up compiler warnings.
2713 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2714 GET_HEX_VAL.
2715
2716 * xfaces.c: Include keyboard.h before frame.h, not after it.
2717
2718 * widget.c: Include keyboard.h before frame.h.
2719
2720 * w32term.h (struct image, struct face): Forward declaration, to
2721 avoid compiler warnings.
2722
7bd2d083
GM
27232001-05-11 Gerd Moellmann <gerd@gnu.org>
2724
47e72862
GM
2725 * keyboard.c (read_key_sequence): Don't modify events when
2726 generating fake prefix keys (mode-line, scroll-bar, ...) since
2727 this prevents proper processing of such events when pushed back
2728 into unread-command-events.
2729
dd5f324b
GM
2730 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2731 actually redrawn. Make the function static.
2732 (note_mouse_highlight): Fix a case where the mouse cursor
2733 was changed back to the text cursor.
2734
2735 * xterm.h (clear_mouse_face): Remove prototype.
2736
d88a79d4
GM
2737 * xdisp.c (try_window_id): Fix the fix and set the right
2738 window_end_vpos.
2739
2740 * xdisp.c (try_window_id): Fix computation of window end in the
2741 case that lines were deleted at the end of the window. Add some
2742 more debug_method_adds.
0416532f 2743
7bd2d083
GM
2744 * xfaces.c (try_alternative_families): New function.
2745 (try_font_list): Use it. If ATTRS specifies a family, check
2746 fonts from that family first.
2747 (choose_face_font): Remove code setting the family part of
2748 the pattern to nil.
2749
23fca891
GM
27502001-05-10 Gerd Moellmann <gerd@gnu.org>
2751
ff9aa2ca
GM
2752 * xdisp.c (try_window_id): Fix case of all changes before
2753 the window start.
7b2654b5 2754
23fca891
GM
2755 * xdisp.c (try_window_id): Add some xasserts.
2756
e9726794
GM
27572001-05-09 Gerd Moellmann <gerd@gnu.org>
2758
2759 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2760
9e53a675
GM
27612001-05-09 Dave Love <fx@gnu.org>
2762
2763 * xdisp.c (GIVE_UP): Fix for K&R C.
2764
0d487c52
GM
27652001-05-09 Gerd Moellmann <gerd@gnu.org>
2766
fe88d421
GM
2767 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2768
0d487c52
GM
2769 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2770 back to the text cursor shape without need.
2771
1e9fc92e
GM
27722001-05-07 Gerd Moellmann <gerd@gnu.org>
2773
a2a6232e
GM
2774 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2775
2776 * dispextern.h (inverse_video): Declare extern.
2777
1e9fc92e
GM
2778 * keyboard.c (delete_kboard): Handle the case that selected_frame
2779 has been deleted in the course of x_connection_closed.
2780
12949a7f
EZ
27812001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2782
7b2654b5
SM
2783 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2784 Fix the change from 2001-04-30.
12949a7f 2785
2fa2f461
GM
27862001-05-03 Gerd Moellmann <gerd@gnu.org>
2787
a779d213
GM
2788 * xfns.c (file_dialog_unmap_cb): New function.
2789 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2790 where a dialog is closed via the window manager.
2791
7b2654b5 2792 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2793 the window start or all below the window end mostly rewritten.
2794 (redisplay_window): Move the tests if try_window_id is
2795 applicable to try_window_id.
2796 (GIVE_UP): New macro.
2797
3356df63
GM
27982001-05-02 Gerd Moellmann <gerd@gnu.org>
2799
a39202f6 2800 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2801 currently being updated, mark the frame garbaged.
2802 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2803 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2804
3356df63
GM
2805 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2806 again if it has already been drawn.
2807
a9d2fd1d
SM
28082001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2809
2810 * syntax.c (update_syntax_table): Check that oldi has the same
2811 properties as old_prop before deciding not to invalidate.
2812
c95fc5f1
GM
28132001-04-30 Gerd Moellmann <gerd@gnu.org>
2814
a9793e45
GM
2815 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2816 read-only text that is so because of text properties.
2817
c95fc5f1 2818 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2819 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2820 windows that are components of a Lucid menu bar.
2821
5a5d9185
GM
28222001-04-27 Gerd Moellmann <gerd@gnu.org>
2823
2824 * term.c (turn_on_face): Fix reverse video handling on terminals
2825 that don't support colors.
2826
ba973f7a
GM
28272001-04-26 Gerd Moellmann <gerd@gnu.org>
2828
2829 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2830 a non-buffer.
2831
8c56a983
GM
28322001-04-25 Gerd Moellmann <gerd@gnu.org>
2833
a728644c
GM
2834 * term.c (toggle_highlight): New function.
2835 (turn_on_face): Change handling of reverse video.
2836
7b2654b5
SM
2837 * process.c (wait_reading_process_input):
2838 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2839
bfd8410f
GM
2840 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2841 of the number of overlays to check.
2842
be2488ca
GM
2843 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2844
8c56a983
GM
2845 * xdisp.c (try_window_id): Fix a case where window_end_pos
2846 and window_end_bytepos were not adjusted.
2847
522d42f7
GM
28482001-04-23 Gerd Moellmann <gerd@gnu.org>
2849
2850 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2851 zero instead of -1.
2852
78c1afb6
EZ
28532001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2854
a9d2fd1d
SM
2855 * process.c (wait_reading_process_input) [!subprocesses]:
2856 Don't reference waiting_for_user_input_p, it's not defined in the
2857 branch without async subprocesses support.
78c1afb6 2858
a2fab450
GM
28592001-04-19 Gerd Moellmann <gerd@gnu.org>
2860
a122a38e
GM
2861 * keyboard.c (delete_kboard): Prevent a dangling reference
2862 from current_kboard to KB, which is freed.
2863
a9d2fd1d
SM
2864 * process.c (wait_reading_process_input):
2865 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2866 read_key_sequence aware of buffer changes from under it.
2867
0f8d6dc7
GM
28682001-04-18 Gerd Moellmann <gerd@gnu.org>
2869
eeffb293
GM
2870 * xfaces.c (Qscalable_fonts_allowed): New variable.
2871 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2872 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2873 removed.
eeffb293 2874 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2875 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2876 for scalable-fonts-allowed to t.
eeffb293 2877
0f8d6dc7
GM
2878 * fileio.c (Finsert_file_contents): If the file size returned from
2879 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2880 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2881
eec2d1de
EZ
28822001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2883
2884 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2885 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2886 (__memalign_hook): Make the two prototypes consistent.
2887
f4f480bd
GM
28882001-04-17 Gerd Moellmann <gerd@gnu.org>
2889
2890 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2891 matrix of mini-windows.
2892
52283633
SM
28932001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2894
2895 * intervals.c (find_interval): Don't rebalance during signal handling.
2896
ec2423c9
GM
28972001-04-11 Gerd Moellmann <gerd@gnu.org>
2898
30cb0001 2899 * fns.c: Include blockinput.h.
52283633 2900
ec2423c9
GM
2901 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2902
719d83ad
GM
29032001-04-10 Gerd Moellmann <gerd@gnu.org>
2904
60f8d735
GM
2905 * fns.c (Fcompare_strings): Fix return values.
2906
afffeb57
GM
2907 * window.c (window_scroll): Change the meaning of N to mean
2908 N screen-fulls or N lines.
2909 (window_scroll_pixel_based, window_scroll_line_based)
2910 (scroll_command, Fscroll_other_window): Change accordingly.
2911
52283633
SM
2912 * window.c (window_scroll_pixel_based, Frecenter):
2913 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2914 height of the window.
2915
2916 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2917 instead of using it.last_visible_y for the height of the window.
52283633 2918
719d83ad 2919 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2920 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2921
2922 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2923 able to write to hidden and system files. From Dan Holmsand
2924 <dan@eyebee.com>.
719d83ad 2925
8ddf3ee1
GM
2926 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2927 Holmsand <dan@eyebee.com>.
719d83ad 2928
522ed7fb
GM
29292001-04-09 Gerd Moellmann <gerd@gnu.org>
2930
9170e5d4
GM
2931 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2932
522ed7fb
GM
2933 * window.c (window_internal_height): Return 1 less if the
2934 window has a header line.
2935
2936 * xdisp.c (try_window_id): When scrolling on a terminal, take
2937 the change of window_internal_height into account.
2938
ceeb3d7d
EZ
29392001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2940
2941 * gmalloc.c (align): If the argument SIZE would overflow
2942 __malloc_ptrdiff_t, fail right away.
2943
63685b9d
GM
29442001-04-06 Gerd Moellmann <gerd@gnu.org>
2945
2946 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2947 Make sure the tooltip is completely visible.
2948 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2949
2950 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2951
2952 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2953
3ffb33bb
DL
29542001-04-06 Dave Love <fx@gnu.org>
2955
52283633
SM
2956 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2957 Fix test of `from'.
3ffb33bb 2958
869fb12c
GM
29592001-04-06 Gerd Moellmann <gerd@gnu.org>
2960
52283633 2961 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2962
869fb12c
GM
2963 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2964
441bf856
GM
29652001-04-05 Gerd Moellmann <gerd@gnu.org>
2966
4d664b04
GM
2967 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2968
52283633 2969 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2970
30ca89f5
GM
2971 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2972 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2973
2974 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2975 shell widget's position only if it is non-null.
2976
52283633
SM
2977 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2978 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2979
81a81c0f
GM
2980 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2981 FILENAME to bring it in synch with the documentation.
2982
441bf856
GM
2983 * xfaces.c (realizing_basic_faces_p): Renamed from
2984 realize_default_face_p.
2985 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2986 (realize_default_face): Don't set the flag.
2987
702a1e8e
GM
29882001-04-04 Gerd Moellmann <gerd@gnu.org>
2989
1013f4e3
GM
2990 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2991
52283633
SM
2992 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2993
1013f4e3
GM
2994 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2995 the buffer that was used for echoing.
2996
702a1e8e
GM
2997 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2998 (first_font_matching): Removed unused function.
2999 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3000 (may_use_scalable_font_p): Remove parameter FONT; rename
3001 parameter NAME to FONT.
3002 (x_face_list_fonts): Fix missing bounds check.
3003 (realizing_default_face_p): New variable.
3004 (realize_default_face): Set and clear that flag.
3005 (x_face_list_fonts): When called during the realization of the
3006 default face, and no matching fonts are found when ignoring
3007 scalable fonts and fonts matching a regexp from
3008 face-ignored-fonts, try without ignoring fonts.
3009
f9dbcda4
GM
30102001-04-03 Gerd Moellmann <gerd@gnu.org>
3011
ad18ffb1
GM
3012 * xfns.c (postprocess_image): New function.
3013 (lookup_image): Call it for all image types except PostScript.
3014 (x_kill_gs_process): Call postprocess_image.
3015
f9dbcda4
GM
3016 * xterm.c (x_use_underline_position_properties): New variable.
3017 (x_draw_glyph_string): Use it.
3018 (syms_of_xterm): DEFVAR_BOOL it.
3019
651f03b6
GM
30202001-04-02 Gerd Moellmann <gerd@gnu.org>
3021
3022 * xterm.c (x_alloc_nearest_color_1): New function.
3023 (x_alloc_nearest_color): Use it.
3024 (x_color_cells): Take a Display as argument, instead of a frame.
3025 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3026 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3027 (x_initialize): Register cvt_string_to_pixel as resource converter
3028 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3029
73d75a62
GM
30302001-03-30 Gerd Moellmann <gerd@gnu.org>
3031
b2046df8
GM
3032 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3033 (set_iterator_to_next): If a string from a display property ends,
3034 consider the case that this might also be the end of an
3035 overlay string having the display property.
3036
52283633 3037 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3038
87d8eba4
GM
3039 * xdisp.c (reseat_to_string): Undo last change.
3040
73d75a62
GM
3041 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3042 matrix of a window when the header line changes, when
3043 new rows are allocated, or when the width changes.
3044
911a2406
EZ
30452001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3046
52283633 3047 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3048
aea51abe
EZ
30492001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3050
3051 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3052 deprecated.
3053
176bc847
GM
30542001-03-29 Gerd Moellmann <gerd@gnu.org>
3055
ed31fabf
GM
3056 * data.c (Fsubr_interactive_form): New function.
3057 (syms_of_data): Defsubr it.
3058
176bc847
GM
3059 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3060 (live_float_p, live_misc_p): Return 1 only if the offset of the
3061 pointer in its block is >= 0.
3062
e59d0e9d
GM
30632001-03-28 Paul Eggert <eggert@twinsun.com>
3064
3065 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3066 microseconds calcuation. Avoid double-rounding problem.
3067 In doc string, warn that the result is approximate.
3068
f827b862
GM
30692001-03-28 Gerd Moellmann <gerd@gnu.org>
3070
30a3f61c
GM
3071 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3072 bind `inhibit-eval-during-redisplay' to t.
3073
3074 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3075
3076 * xdisp.c (inhibit_eval_during_redisplay)
3077 (Qinhibit_eval_during_redisplay): New variables.
3078 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3079 don't eval, return nil instead.
3080 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3081 Initialize Qinhibit_eval_during_redisplay.
3082
e719f5ae
GM
3083 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3084 the iterator's multibyte_p flag.
3085
deb2613a
GM
3086 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3087 instead of setting it to zero; it's incremented for each frame
3088 where the menu face is changed.
3089
52283633
SM
3090 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3091 change bottom shadow accordingly.
3092
3093 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3094 intersections here.
3095 (expose_window): Do it here instead.
52283633 3096 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3097
f827b862
GM
3098 * bytecode.c (BYTE_CODE_QUIT): New macro.
3099 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3100
4bde0ebb
GM
31012001-03-27 Gerd Moellmann <gerd@gnu.org>
3102
607ec83c
GM
3103 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3104 Give up if matrix starts in an ellipsis.
3105 (init_from_display_pos): Do nothing if POS doesn't specify
3106 a dpvec_index but the iterator has such a position.
3107
0245398f
GM
3108 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3109
aba25348
GM
3110 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3111 x/y position is (0, 0) after destroying the menu bar, restore
3112 its original position.
3113
4bde0ebb
GM
3114 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3115 (init_from_display_pos): Use it.
3116 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3117
8cdb267e
GM
31182001-03-26 Gerd Moellmann <gerd@gnu.org>
3119
3120 * xdisp.c (try_window_id): Undo last change.
3121
9948db79
EZ
31222001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3123
3124 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3125
3126 * buffer.c (syms_of_buffer): Doc fix.
3127
2eddf899
GM
31282001-03-26 Gerd Moellmann <gerd@gnu.org>
3129
3130 * xfaces.c (x_update_menu_appearance): Use local variable
3131 popup_path for setting font resources.
3132
6c145d35
EZ
31332001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3134
6a65b1b5
EZ
3135 * frame.c (Fframe_list): Don't reference tip_frame if
3136 HAVE_WINDOW_SYSTEM is not defined.
3137
6c145d35
EZ
3138 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3139 <wl@gnu.org>.
3140
d74c1900
GM
31412001-03-25 Gerd Moellmann <gerd@gnu.org>
3142
20fbd925
GM
3143 * xdisp.c (init_from_display_pos): Test invisible property
3144 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3145
927c5b3b
GM
3146 * xdisp.c (redisplay_internal) <update one window>: Make sure
3147 last_arrow_position and last_arrow_string are set.
3148
d74c1900
GM
3149 * frame.c (Fframe_list): Don't return a tooltip frame.
3150
091f8878
GM
31512001-03-23 Gerd Moellmann <gerd@gnu.org>
3152
52283633
SM
3153 * xdisp.c (mark_window_display_accurate_1): New function,
3154 extracted from mark_window_display_accurate.
3155 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3156 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3157 (mark_window_display_accurate): Use it.
3158 (redisplay_internal): Use it for the selected window.
3159 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3160 for the selected frame.
3161
ac90c44f
GM
3162 * xdisp.c Use make_number, for readability.
3163 (try_window_id): Disable rows below the window end.
3164 (try_window_reusing_current_matrix): Use cursor_row_p.
3165 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3166 of rows.
3167 (init_from_display_pos): If POS specifies a position in a display
3168 vector, maybe get the iterator set up for that ellipsis.
43c09969 3169
091f8878
GM
3170 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3171
991786dd
EZ
31722001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3173
3174 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3175
6c29b43c
GM
31762001-03-23 Gerd Moellmann <gerd@gnu.org>
3177
3178 * xfaces.c (x_update_menu_appearance): Use a different path
3179 for Lucid popup menus.
3180
d8731202
SM
31812001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3182
3183 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3184
3185 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3186 (string_buffer_position): Use `make_number'.
3187
f61a541b
GM
31882001-03-22 Gerd Moellmann <gerd@gnu.org>
3189
3c9e997b
GM
3190 * xfaces.c (x_update_menu_appearance): Renamed from
3191 x_set_menu_face_resources. Use different resources for popups.
3192
3193 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3194 (GC_CHECK_STRING_BYTES): Don't define.
3195
364cd450
GM
3196 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3197 Removed, together with subroutines.
3198 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3199 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3200
d8731202
SM
3201 * dispextern.h (x_set_menu_resources_from_menu_face):
3202 Remove prototype.
364cd450 3203
d8731202 3204 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3205 Remove calls to x_set_menu_resources_from_menu_face.
3206
d8731202
SM
3207 * xfaces.c (xm_set_menu_resources_from_menu_face):
3208 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3209
3210 * xmenu.c: Include widget.h.
3211 (single_submenu): Return int. Some cleanup.
3212 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3213
140330de
GM
32142001-03-21 Gerd Moellmann <gerd@gnu.org>
3215
3216 * xterm.c (x_update_window_end): Handle overwritten mouse face
3217 also for tool bar windows.
3218 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3219 DRAW is DRAW_IMAGE_RAISED.
3220
1741905c
GM
32212001-03-20 Gerd Moellmann <gerd@gnu.org>
3222
fa88947e
GM
3223 * print.c (syms_of_print): Doc fixes.
3224
1741905c
GM
3225 * fns.c (Fmd5): Doc fix.
3226
ade0bee1
GM
32272001-03-19 Gerd Moellmann <gerd@gnu.org>
3228
357e7376
GM
3229 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3230 Clear area of the frame not occupied by the scroll bar.
3231
c2c097cc
GM
3232 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3233 tip frame's root window buffer to *tip* right after creating
3234 the frame.
3235
ade0bee1
GM
3236 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3237 is an integer don't have to be for space characters.
3238
88c6e37e
GM
32392001-03-16 Gerd Moellmann <gerd@gnu.org>
3240
52283633
SM
3241 * indent.c (current_column, current_column_1, Fmove_to_column)
3242 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3243
c62eed76
KH
32442001-03-15 Kenichi Handa <handa@etl.go.jp>
3245
3246 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3247 drawing glyph string.
3248
c899e7e6
GM
32492001-03-15 Gerd Moellmann <gerd@gnu.org>
3250
d0bbfc99
GM
3251 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3252 (command_loop_1): Undo last change.
3253
03d1a189
GM
3254 * xterm.c (fast_find_position): Return the correct vpos.
3255
c899e7e6 3256 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3257 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3258 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3259 Call store_symval_forwarding with BUF null.
3260 (set_internal): Call store_symval_forwarding with the BUF
3261 parameter passed to set_internal. Formerly, the value was always
3262 set in the current buffer; the buffer recorded in specbind for
3263 this case wasn't used.
3264 (arith_driver): Reindent.
3265
52283633
SM
3266 * buffer.c (swap_out_buffer_local_variables):
3267 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3268
3269 * lisp.h (store_symval_forwarding): Change prototype.
3270
3271 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3272
57ac7c81
GM
32732001-03-14 Gerd Moellmann <gerd@gnu.org>
3274
697617d9
GM
3275 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3276 FOR_DELETION. Avoid resizing the mini-window of the selected
3277 frame if FOR_DELETION is set.
3278 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3279 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3280 signature.
3281
3282 * window.c (Fset_window_configuration): Change call to
3283 do_switch_frame to new format.
3284
3285 * keyboard.c (quit_throw_to_read_char): Change call to
3286 do_switch_frame to new format.
3287
3288 * lisp.h (do_switch_frame): Change prototype.
3289
819dce0f
GM
3290 * frame.c (Fframe_parameters): In the `buffer-list' frame
3291 parameter, store the buffer list of FRAME, not the list of the
3292 selected frame.
3293
57ac7c81
GM
3294 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3295 box just because the glyph row's full_width_p flag is set.
3296
65008712
GM
32972001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3298
3299 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3300 skip the padding blanks inserted in extend_face_to_end_of_line,
3301 before checking for trailing whitespace.
3302
159cf431
GM
33032001-03-13 Gerd Moellmann <gerd@gnu.org>
3304
52283633 3305 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3306 Remove special handling for LessTif/Motif.
3307 (toplevel): Don't include Xm/Xm.h.
3308
52283633
SM
3309 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3310 Remove workaround code for LessTif; it doesn't work anymore.
3311
2564ea1b 3312 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3313 Xm/ScrollBarP.h.
afcdc0a1 3314
52283633
SM
3315 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3316 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3317 contemporary LessTif.
3318
52283633
SM
3319 * xfaces.c (xm_set_menu_resources_from_menu_face):
3320 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3321
159cf431
GM
3322 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3323 removing button grabs.
3324
c6f7429a
KH
33252001-03-13 Kenichi Handa <handa@etl.go.jp>
3326
cb82d767
KH
3327 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3328 and clip-large-size-font as obsolete.
3329
c6f7429a
KH
3330 * lread.c (read_multibyte): Check the validity of multibyte
3331 sequence. If invalid, return the first byte.
3332
760cefb5
GM
33332001-03-12 Gerd Moellmann <gerd@gnu.org>
3334
3335 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3336 before running the command; timer functions or process
3337 filters may have set it.
3338
5141f9d0
EZ
33392001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3340
3341 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3342 Doc fix.
3343
b6a15240
GM
33442001-03-12 Gerd Moellmann <gerd@gnu.org>
3345
3346 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3347 to sprintf.
3348
95522746
GM
33492001-03-09 Gerd Moellmann <gerd@gnu.org>
3350
db14cfc5
GM
3351 * dispextern.h (string_buffer_position): Add prototype.
3352
52283633 3353 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3354 (single_display_prop_string_p): New functions.
3355
3356 * xterm.c (note_mouse_highlight): If there's no help-echo on
3357 a string, look at the buffer text ``under'' it.
3358
3359 * keyboard.c (make_lispy_event): Add string info to the event,
3360 analogous to what's done on mode lines.
3361 (read_key_sequence): For a click on a string, consider `local-map'
3362 and `keymap' of that string.
3363
52283633
SM
3364 * keyboard.c (make_lispy_event, make_lispy_movement):
3365 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3366
3367 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3368
3369 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3370 POS; return void.
3371
95522746
GM
3372 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3373 flags argument to emacs_open; it seems to conflict with O_EXCL.
3374
898a399d
KH
33752001-03-09 Kenichi Handa <handa@etl.go.jp>
3376
28cd4910
KH
3377 * composite.h (struct composition): Change types of members;
3378 glyph_len to unsigned, width to unsigned short.
898a399d 3379
4cdf6a6c
AI
33802001-03-08 Andrew Innes <andrewi@gnu.org>
3381
3382 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3383 menu titles.
3384
129004d3
GM
33852001-03-08 Gerd Moellmann <gerd@gnu.org>
3386
221dd3e7
GM
3387 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3388 instead of nil.
3389
52283633 3390 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3391 help-echo in strings.
3392 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3393 (fast_find_string_pos): New function.
3394
52283633
SM
3395 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3396 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3397
3398 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3399 Handle `mouse-face'.
3400
3401 * dispextern.h (face_at_string_position): Change prototype.
3402
52283633 3403 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3404
129004d3
GM
3405 * keyboard.c (make_lispy_event): Avoid generating drag events
3406 if the mouse hasn't actually moved to another buffer position.
52283633 3407
80c8ab8c
DL
34082001-03-08 Dave Love <fx@gnu.org>
3409
129004d3 3410 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3411
989521fd
GM
34122001-03-08 Gerd Moellmann <gerd@gnu.org>
3413
3414 * process.c (Fset_process_window_size): Fix a typo.
3415
bb5c338d
KH
34162001-03-08 Kenichi Handa <handa@etl.go.jp>
3417
3418 * coding.c (detect_coding_sjis): Do more rigid check.
3419 (detect_coding_big5): Likewise.
3420 (decode_coding_sjis_big5): Likewise.
3421 (Fdetect_coding_region): Call detect_coding_system with tailing
3422 anchor byte `\0' for more rigid detection.
52283633 3423 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3424 (Fdetect_coding_string): Likewise.
3425
8b8f9197
SM
34262001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3427
3428 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3429 a string before extracting its data.
3430
3bdf2660
GM
34312001-03-07 Gerd Moellmann <gerd@gnu.org>
3432
3433 * window.c (Frecenter): Rewrite code handling negative values
3434 of ARG on graphical frames.
3435
34362001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3437
3438 * window.c (displayed_window_lines): If W->start is outside the
3439 accessible portion of the buffer, call start_display with BEGV or
3440 ZV instead of W->start.
3441
471f86b9
GM
34422001-03-07 Gerd Moellmann <gerd@gnu.org>
3443
2ab62c6c
GM
3444 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3445
471f86b9
GM
3446 * process.c (Fset_process_filter): Don't crash if the input
3447 file descriptor of PROCESS is closed.
3448 (Fset_process_window_size): Likewise.
3449
101922c3
GM
34502001-03-06 Kenichi Handa <handa@etl.go.jp>
3451
3452 * xterm.c (XTflash): Make the timeout of select shorter, and call
3453 select repeatedly until the desired time expires.
3454
45d051a7
GM
34552001-03-06 Gerd Moellmann <gerd@gnu.org>
3456
3457 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3458
3459 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3460
3461 * lisp.h (Vwindow_list): Declare extern.
3462
8f372c46
EZ
34632001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3464
3465 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3466
f16a7aa5
GM
34672001-03-06 Gerd Moellmann <gerd@gnu.org>
3468
157ae273
GM
3469 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3470 to detect a case where we have to highlight a different region
3471 despite not having left the currently highlighted region.
3472 Set mouse_face_overlay in the x_display_info.
45d051a7 3473 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3474
3475 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3476
3477 * buffer.c (mouse_face_overlay_overlaps): New function.
3478
3479 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3480 (Qmouse_face): Declare extern.
3481
f16a7aa5
GM
3482 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3483 if face_change_count is non-zero.
3484
827afcac
KH
34852001-03-06 Kenichi Handa <handa@etl.go.jp>
3486
3487 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3488 that the source is unibyte.
3489
14c7242e
DL
34902001-03-05 Dave Love <fx@gnu.org>
3491
827afcac 3492 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3493
c28b847b
GM
34942001-03-05 Gerd Moellmann <gerd@gnu.org>
3495
3496 * minibuf.c (read_minibuf): Clean up the binding stack if
3497 called noninteractively.
3498
b86644f2
KH
34992001-03-05 Kenichi Handa <handa@etl.go.jp>
3500
3501 * coding.c (syms_of_coding): Docstring modified.
3502
203682cc 35032001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3504
3505 * charset.c (char_to_string): If a single byte char has modifier
3506 bits that can't be reflected to the character code, ignore them
45d051a7 3507 instead of signaling an error.
b86644f2 3508
e30bd7b7
EZ
35092001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3510
3511 * s/msdos.h: Update copyright notice.
3512
3513 * dosfns.h: Update copyright notice.
3514
3515 * dosfns.c: Update copyright notice.
3516
3517 * msdos.c: Update copyright notice.
3518
b52b65bd
GM
35192001-03-02 Gerd Moellmann <gerd@gnu.org>
3520
3521 * xterm.c (glyph_rect): New function.
3522 (XTmouse_position): Use it to raise the threshold for mouse
3523 movement event generation.
3524
53c4b1e6
EZ
35252001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3526
3527 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3528 specifies (reverse . t), reverse the initial screen colors.
3529 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3530 but we are reversing the colors, set bg_set, not fg_set.
3531 Likewise for setting background-color and reversing: set fg_set.
3532 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3533 in effect.
3534
3535 * xfaces.c (Finternal_set_lisp_face_attribute)
3536 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3537 parameters alist.
3538
f964b4d7
GM
35392001-03-02 Gerd Moellmann <gerd@gnu.org>
3540
ef53d75e
GM
3541 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3542 to a single slash in the middle of file names.
3543
52283633 3544 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3545 Accept only alphanumeric time zone names.
3546
f964b4d7
GM
3547 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3548 or width area.
3549 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3550 a widget to zero height.
52283633 3551
c3c45f65
GM
35522001-03-01 Gerd Moellmann <gerd@gnu.org>
3553
3554 * window.c (Fwindow_end): Call move_it_past_eol only if
3555 ending up on a partially visible line.
3556
028d739a
DL
35572001-03-01 Dave Love <fx@gnu.org>
3558
3559 * ccl.c (Fccl_execute): Doc fix.
3560
57c5889c
GM
35612001-03-01 Gerd Moellmann <gerd@gnu.org>
3562
35f59f6b
GM
3563 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3564 of the tool bar before calling x_figure_window_size.
3565
f84ff02c
GM
3566 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3567 NULL after destroying it, otherwise XTread_socket can access a
3568 destroyed widget when input is unblocked.
3569
8b8f9197 3570 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3571
57c5889c
GM
3572 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3573 same name as before, although there was a change in fontsets.
3574
224227d1
KR
35752001-02-28 Ken Raeburn <raeburn@gnu.org>
3576
4560730a
KR
3577 * lisp.h (Fframe_parameter): Declare.
3578
224227d1 3579 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3580 Lisp_Object.
224227d1 3581
ece93c02
GM
35822001-02-28 Gerd Moellmann <gerd@gnu.org>
3583
11ef99b9
GM
3584 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3585 NULL instead.
3586
3587 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3588 NULL instead.
3589
ece93c02
GM
3590 * alloc.c (toplevel): Include process.h.
3591 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3592 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3593 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3594 (allocate_vector, allocate_hash_table, allocate_window)
3595 (allocate_frame, allocate_process, allocate_other_vector):
3596 New functions.
ece93c02
GM
3597 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3598 (mark_maybe_pointer): New function.
52283633 3599 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3600 remain and not Lisp_Objects.
3601 (min_heap_address, max_heap_address): New variables.
3602 (mem_find): Return MEM_NIL if START is below min_heap_address or
3603 above max_heap_address.
3604 (mem_insert): Compute min_heap_address and max_heap_address.
3605
3606 * process.c (make_process): Use allocate_process.
3607
3608 * frame.c (make_frame): Use allocate_frame.
3609
3610 * window.c (make_window, make_dummy_parent): Use allocate_window.
3611 (Fcurrent_window_configuration): Use allocate_other_vector.
3612
3613 * lisp.h (allocate_vectorlike): Remove prototype.
3614 (allocate_vector, allocate_other_vector, allocate_frame)
3615 (allocate_window, allocate_process, allocate_hash_table):
3616 Add prototypes.
3617
3618 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3619 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3620
063af457
KH
36212001-02-27 Kenichi Handa <handa@etl.go.jp>
3622
3623 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3624 treat the produced bytes as a valid multibyte sequence.
3625
3626 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3627 (ccl_driver) <CCL_WriteMultibyteChar2>:
3628 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3629 <ccl_finish>: Set ccl->eight_bit_control properly.
3630
3631 * ccl.h (struct ccl_program): New member eight_bit_control.
3632
f58c6494
SM
36332001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3634
3635 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3636 accessible_keymaps_char_table.
3637 (accessible_keymaps_char_table): Obey `is_metized'.
3638 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3639 Lisp_Object.
3640
c596c392
GM
36412001-02-26 Gerd Moellmann <gerd@gnu.org>
3642
3643 * dispnew.c: Check HAVE_TERM_H before including term.h.
3644
425de386
AI
36452001-02-24 Andrew Innes <andrewi@gnu.org>
3646
3647 * makefile.w32-in: Update copyright notice.
3648
2ba11bbd
SM
36492001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3650
3651 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3652
66c56ed1
KH
36532001-02-24 Kenichi Handa <handa@etl.go.jp>
3654
4c1593ce
KH
3655 * Makefile.in (lisp): Add international/utf-8.elc.
3656
66c56ed1
KH
3657 * fontset.c (Fnew_fontset): Fix handling of the case that an
3658 element of FONTLIST is a cons of family and registry.
3659
796ead7e
JR
36602001-02-23 Jason Rumney <jasonr@gnu.org>
3661
3662 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3663 to height unconditionally.
3664
3665 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3666 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3667 (x_insert_glyphs): Call window_box_left to obtain the left
3668 x-coordinate of the area to shift.
3669
3670 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3671 safe_run_hooks.
3672
f6839838
AI
36732001-02-22 Andrew Innes <andrewi@gnu.org>
3674
52283633 3675 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3676 ($(BLD)\dispnew.obj):
3677 ($(BLD)\editfns.obj):
3678 ($(BLD)\fileio.obj):
3679 ($(BLD)\filelock.obj):
3680 ($(BLD)\keyboard.obj):
3681 ($(BLD)\w32proc.obj):
3682 ($(BLD)\process.obj):
3683 ($(BLD)\sysdep.obj): Ditto.
3684
3685 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3686 header files.
52283633
SM
3687 ($(BLD)/dispnew.$(O)):
3688 ($(BLD)/editfns.$(O)):
3689 ($(BLD)/fileio.$(O)):
3690 ($(BLD)/filelock.$(O)):
3691 ($(BLD)/keyboard.$(O)):
3692 ($(BLD)/w32proc.$(O)):
3693 ($(BLD)/process.$(O)):
f6839838
AI
3694 ($(BLD)/sysdep.$(O)): Ditto.
3695
c224f70b
GM
36962001-02-22 Gerd Moellmann <gerd@gnu.org>
3697
51695746
GM
3698 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3699 at the start of the function, check that the \n in it->c is
3700 from the iterator's current position.
52283633 3701
a61b7058
GM
3702 * xdisp.c (handle_single_display_prop): Add parameter
3703 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3704 properties which replace the display of text with something else.
3705 (handle_display_prop): Call handle_single_display_prop with
3706 additional argument saying if we already replaced text display
3707 with something else. Use AREF.
52283633 3708 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3709 (decode_mode_spec_coding): Use AREF and ASIZE.
3710
3473f362
GM
3711 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3712 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3713 * vmstime.h: Files removed.
52283633 3714
2bb58df3
GM
3715 * unexencap.c, unexfx2800.c: Files removed.
3716
c224f70b
GM
3717 * dispnew.c (direct_output_for_insert): Give up if we are showing
3718 a message or just cleared the message because we might need to
3719 resize the echo area window or display an empty echo area.
3720
ffc9ff0c
GM
37212001-02-21 Gerd Moellmann <gerd@gnu.org>
3722
0528abe1
GM
3723 * xdisp.c (redisplay_internal): Do the
3724 mark_window_display_accurate after all windows have been
3725 redisplayed because this call resets flags in buffers which are
3726 needed for proper redisplay.
3727
52283633
SM
3728 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3729 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3730 the old names.
3731
52283633
SM
3732 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3733 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3734
3735 * msdos.h (struct x_output): Rename busy_window to
3736 hourglass_window, busy_p to hourglass_p.
3737
52283633
SM
3738 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3739 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3740
3741 * xfns.c: Rename everything containing *busy_cursor* and similar
3742 to *hourglass*.
3743 (syms_of_w32fns): Rename x-busy-pointer-shape to
3744 x-hourglass-pointer-shape, display-busy-cursor to
3745 display-hourglass, busy-cursor-delay to hourglass-delay.
3746
3747 * w32fns.c: Rename everything containing *busy_cursor* and similar
3748 to *hourglass*.
3749 (syms_of_w32fns): Rename x-busy-pointer-shape to
3750 x-hourglass-pointer-shape, display-busy-cursor to
3751 display-hourglass, busy-cursor-delay to hourglass-delay.
3752
3753 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3754 of its busy_p flag.
3755
3756 * dispextern.h (start_hourglass, cancel_hourglass)
3757 (display_hourglass_p): Renamed from *busy_cursor*.
3758
ab2c5f0a
GM
37592001-02-20 Gerd Moellmann <gerd@gnu.org>
3760
d17e49a8
GM
3761 * keyboard.c (read_char): When an event from unread-command-events
3762 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3763
fa97adf6
GM
3764 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3765 equal to the current buffer.
3766
ab2c5f0a
GM
3767 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3768 nil, otherwise we're left with truncate_lines t when a message
3769 is printed with message-truncate-lines bound to t.
3770
aeac019e
GM
37712001-02-19 Gerd Moellmann <gerd@gnu.org>
3772
c8bc6f65
GM
3773 * window.c (Fmove_to_window_line): Undo last change.
3774 (displayed_window_lines): Call line_bottom_y to determine
3775 the line's bottom position.
3776
3777 * dispextern.h (line_bottom_y): Add prototype.
3778
52283633 3779 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3780 (pos_visible_p): Use it.
3781
980a2d69
GM
3782 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3783 set redisplaying_p to 0 here instead of in Frecursive_edit.
3784 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3785 set redisplaying_p.
3786
52283633 3787 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3788 New variables.
3789 (syms_of_xdisp): Initialize new variables.
3790 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3791 Specbind `inhibit-menubar-update' when updating the menu bar.
3792
65048e97
GM
3793 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3794 safe_run_hooks.
3795
3796 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3797 safe_run_hooks.
3798
a57c4026
GM
3799 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3800 is null.
3801
aeac019e
GM
3802 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3803 to the start of the file.
3804
76846b31
GM
38052001-02-16 Gerd Moellmann <gerd@gnu.org>
3806
f3f053f3 3807 * window.c (set_window_buffer): Fix last change.
52283633 3808
f3f053f3
GM
3809 * window.c (set_window_buffer): Set window's vscroll to 0.
3810
dad75588
GM
3811 * window.c (coordinates_in_window): Increase width of area
3812 where the vertical line can be dragged.
3813
c220b753
GM
3814 * xterm.c (x_set_glyph_string_background_width): Extend the
3815 background face to the end of the drawing area in the text
3816 area, only.
3817
c56b1c1b
GM
3818 * xdisp.c (handle_single_display_prop): Set iterator's position
3819 to where the `display' property starts, like for images.
3820 (dump_glyph): New function.
3821 (dump_glyph_row): Use it. Dump info about marginal areas.
3822
3823 * dispnew.c (direct_output_for_insert): Recognize more cases where
3824 glyphs can be written instead of being inserted.
3825
3826 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3827 the left x-coordinate of the area to shift.
3828
76846b31
GM
3829 * dired.c (directory_files_internal): Set result list to nil
3830 before retrying.
3831
0fc71a77
KH
38322001-02-15 Kenichi Handa <handa@etl.go.jp>
3833
3834 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3835 invalid multibyte sequence, treat *SRC as a character of
3836 eight-bit-graphic.
3837
25078b54
EZ
38382001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3839
3840 * textprop.c (Fset_text_properties): Doc fix.
3841
8399f8a0
GM
38422001-02-15 Gerd Moellmann <gerd@gnu.org>
3843
3844 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3845
9a2a6f73
DL
38462001-02-14 Dave Love <fx@gnu.org>
3847
3848 * coding.c: Doc and message fixes.
3849
bf853fee
AI
38502001-02-14 Andrew Innes <andrewi@gnu.org>
3851
3852 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3853 Emacs frame above the screen size.
3854
78c663d8
GM
38552001-02-14 Gerd Moellmann <gerd@gnu.org>
3856
3857 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3858
7cc9f69f
GM
38592001-02-13 Gerd Moellmann <gerd@gnu.org>
3860
0a411995
GM
3861 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3862 case that TO ends up beyond ZV after running before-change-functions.
3863
5ddc1b75
GM
3864 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3865 the selected window if it is showing the buffer in question.
3866
7cc9f69f
GM
3867 * dired.c (directory_files_internal): Initialize errno.
3868 (toplevel): Include errno.h.
3869
2e6621ca
GM
38702001-02-13 Kenichi Handa <handa@etl.go.jp>
3871
3872 * xfaces.c (best_matching_font): New parameter width_ratio.
3873 Multiply avgwidth by width_ratio.
3874 (choose_face_font): Call best_matching_font with width_ratio
3875 calculated from the column width of C.
3876
60222d69
AI
38772001-02-12 Andrew Innes <andrewi@gnu.org>
3878
3879 The following changes are to draw box lines inside characters area
3880 if line-width is negative.
52283633 3881
60222d69
AI
3882 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3883 face->box_line_width is negative.
3884 (x_produce_stretch_glyph): Likewise.
3885 (x_produce_glyphs): Likewise.
3886 (x_estimate_mode_line_height): Likewise.
3887 (x_draw_glyph_string_background): Likewise.
3888 (x_draw_glyph_string_foreground): Likewise.
3889 (x_draw_composite_glyph_string_foreground): Likewise.
3890 (x_draw_glyph_string_box): Likewise.
3891 (x_draw_image_foreground): Likewise.
3892 (x_draw_image_relief): Likewise.
3893 (x_draw_image_foreground_1): Likewise.
3894 (x_draw_image_glyph_string): Likewise.
3895
9804b846
KH
38962001-02-09 Kenichi Handa <handa@etl.go.jp>
3897
3898 The following changes are to draw box lines inside characters area
3899 if line-width is negative.
52283633 3900
9804b846
KH
3901 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3902 face->box_line_width is negative.
3903 (x_produce_stretch_glyph): Likewise.
3904 (x_produce_glyphs): Likewise.
3905 (x_estimate_mode_line_height): Likewise.
3906 (x_draw_glyph_string_background): Likewise.
3907 (x_draw_glyph_string_foreground): Likewise.
3908 (x_draw_composite_glyph_string_foreground): Likewise.
3909 (x_draw_glyph_string_box): Likewise.
3910 (x_draw_image_foreground): Likewise.
3911 (x_draw_image_relief): Likewise.
3912 (x_draw_image_foreground_1): Likewise.
3913 (x_draw_image_glyph_string): Likewise.
3914
3915 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3916 and :line-width can be negative.
52283633 3917 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3918
49be9f70
JR
39192001-02-09 Jason Rumney <jasonr@gnu.org>
3920
3921 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3922 characters the same as ASCII and latin-1.
3923 (x_display_and_set_cursor): Check for the focus frame's selected
3924 window instead of selected_window.
3925 (x_after_update_window_line): Don't clear if frame's internal
3926 border width is zero.
3927 (x_new_font): Don't change a tooltip's size.
3928 (w32_initialize): Set char_ins_del_ok to 1.
3929
3930 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3931 (x_set_font): If font hasn't changed, avoid recomputing
3932 faces and other things.
52283633
SM
3933 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3934 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3935 (x_create_tip_frame): Prevent changing the tooltip's
3936 background color by specifying a color for the default font
3937 in .Xdefaults.
3938 (Qcancel_timer): New variable.
3939 (syms_of_w32fns): Initialize and staticpro it.
3940 (Fx_hide_tip, Fx_show_tip): Use it.
3941 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3942 the timer.
3943 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3944
3945 * w32.c (init_environment): Duplicate local string before putenv.
3946
555e35d2
SZ
39472001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3948
3949 * charset.c (Fstring): A typo.
3950
19c92c94
KH
39512001-02-09 Kenichi Handa <handa@etl.go.jp>
3952
e47a1c33
KH
3953 * charset.c (Fstring): If all arguments are less than 256, return
3954 a unibyte string.
3955
3956 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3957 return a unibyte string.
3958
19c92c94
KH
3959 * coding.c (code_convert_region): After detecting a coding, if
3960 nothing found, set coding->composing to COMPOSITION_NO.
3961 (decode_coding_string): Likewise.
3962
d8e675f5
SM
39632001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3964
3965 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3966 to avoid overflow.
3967
bd503487
KH
39682001-02-07 Kenichi Handa <handa@etl.go.jp>
3969
3970 * charset.c (parse_str_to_multibyte): New function.
3971
3972 * charset.h (parse_str_to_multibyte): Extern it.
3973
3974 * print.c (print_string): If we are going to print a unibyte
3975 string into a multibyte buffer, convert the string to multibyte by
3976 str_to_multibyte.
3977
a8370d72
AI
39782001-02-06 Andrew Innes <andrewi@gnu.org>
3979
3980 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3981 been created. It seems we can get sent window messages such as
3982 WM_ERASEBKGND before we properly update a frame.
3983
c363a1d6
GM
39842001-02-06 Gerd Moellmann <gerd@gnu.org>
3985
3986 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3987 Avoid some unnecessary cursor positioning.
3988
a08332c0
GM
39892001-02-05 Gerd Moellmann <gerd@gnu.org>
3990
52283633 3991 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3992 (LFACE_AVGWIDTH): New macro.
3993 (LFACEP): Use AREF.
3994 (check_lface_attrs): Check LFACE_AVGWIDTH.
3995 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3996 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3997 (merge_face_vectors): Check LFACE_AVGWIDTH.
3998 (Finternal_make_lisp_face): Use AREF.
3999 (xm_set_menu_resources_from_menu_face)
4000 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4001 (Finternal_lisp_face_empty_p): Use AREF.
4002 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4003 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4004 Compare average widths..
4005 (best_matching_font): Arrange for comparing average widths.
4006
52283633
SM
4007 * dispextern.h (enum lface_attribute_index):
4008 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4009
5cb3c8d4
DL
40102001-02-05 Dave Love <fx@gnu.org>
4011
4012 * puresize.h: Revert last change following loadup.el change.
4013
193fba87
AI
40142001-02-05 Andrew Innes <andrewi@gnu.org>
4015
4016 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4017 invocation of temacs, to work with Windows 2000.
4018 (bootstrap-emacs): Ditto.
4019
e16f52ce
GM
40202001-02-05 Gerd Moellmann <gerd@gnu.org>
4021
7a58ab59
GM
4022 * xterm.c (x_display_and_set_cursor): Check for the focus
4023 frame's selected window instead of selected_window.
4024
e89aaabd
GM
4025 * xdisp.c (try_scrolling): If point is in the line below the
4026 window, make sure to move the iterator at least a canonical
4027 char height down.
4028
52283633 4029 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4030
789ce875
KH
40312001-02-05 Kenichi Handa <handa@etl.go.jp>
4032
52283633
SM
4033 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4034 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4035 (ccl_driver): If the CCL program is terminated because of
4036 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4037 destination instead of throwing them away.
4038
20b28f82
GM
40392001-02-02 Gerd Moellmann <gerd@gnu.org>
4040
79fb38c0
GM
4041 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4042 faces and other things.
4043
20b28f82
GM
4044 * xdisp.c (get_next_display_element): Fix case of empty
4045 display table entry.
4046
5a72551e
EZ
40472001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4048
eb24d0bf
EZ
4049 * editfns.c (Fconstrain_to_field): Doc fix.
4050
6a3f48c7
EZ
4051 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4052 into `thoroughly', to make it consistent with the doc string.
4053
5a72551e
EZ
4054 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4055
01acdb05
GM
40562001-02-01 Gerd Moellmann <gerd@gnu.org>
4057
0353b28f
GM
4058 * search.c (search_buffer): Call set_search_regs with a byte
4059 position, not a character position.
4060
01acdb05
GM
4061 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4062 minibuffer-only,
4063
e86b5133
EZ
40642001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4065
4066 * frame.c (Fmodify_frame_parameters): Doc fix.
4067
7442878f
GM
40682001-01-31 Gerd Moellmann <gerd@gnu.org>
4069
01acdb05
GM
4070 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4071 identifier which is not reserved by Standard C.
52283633 4072
7442878f
GM
4073 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4074
4075 * window.c (enum window_part): New enumeration.
4076 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4077 Qright_bitmap_area.
4078 (coordinates_in_window): Return an enumerator from enum
4079 window_part. Fix handling of right scroll bar.
4080 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4081 `right-fringe' instead of `left-bitmap-area' and
4082 `right-bitmap-area'. Use enumerators from enum window_part
4083 instead of hard-coded integers.
52283633
SM
4084 (check_window_containing, window_from_coordinates):
4085 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4086 (syms_of_window): Replace Qleft_bitmap_area and
4087 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4088
7c132cba
EZ
40892001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4090
4091 * editfns.c (Fformat_time_string): Doc fix.
4092
c359dd9e
SM
40932001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4094
4095 * keymap.c (Fwhere_is_internal): Use the first valid binding
4096 if no ascii binding is found (when firstonly is t).
4097
ce070307
GM
40982001-01-31 Gerd Moellmann <gerd@gnu.org>
4099
b4f30ec5
GM
4100 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4101 instead of Finteractive_p.
4102
4103 * lisp.h (interactive_p): Add prototype.
4104
4105 * eval.c (interactive_p): New function.
4106 (Finteractive_p): Use it.
4107
ce070307
GM
4108 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4109
f57b6e64
DL
41102001-01-31 Dave Love <fx@gnu.org>
4111
d61c7afe
DL
4112 * .gdbinit (hook-run): Define to run xreload.
4113
f57b6e64
DL
4114 * textprop.c (Fset_text_properties): Fix newline in doc string.
4115
eef93f99
GM
41162001-01-30 Gerd Moellmann <gerd@gnu.org>
4117
52283633
SM
4118 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4119 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4120
4121 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4122 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4123 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4124
4125 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4126 height.
4127
d9c1f6f9
DL
41282001-01-30 Dave Love <fx@gnu.org>
4129
4130 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4131 AFTER_POTENTIAL_GC.
4132
e8f044a0
GM
41332001-01-29 Gerd Moellmann <gerd@gnu.org>
4134
52283633
SM
4135 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4136 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4137
8e1db7b3
EZ
41382001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4139
4140 * textprop.c (Fset_text_properties): Doc fix.
4141
4eefd9d2
GM
41422001-01-29 Gerd Moellmann <gerd@gnu.org>
4143
4144 * xdisp.c (forward_to_next_line_start): Remove xassert.
4145
fccb8288
EZ
41462001-01-29 Jason Rumney <jasonr@gnu.org>
4147
4eefd9d2 4148 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4149 returning without releasing it.
4150
76581eab
KH
41512001-01-29 Kenichi Handa <handa@etl.go.jp>
4152
4153 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4154 for '^', '$', and '\0'.
4155
83a96b4d
AC
41562001-01-28 Andrew Choi <akochoi@i-cable.com>
4157
5604ec34
AC
4158 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4159 regex for '^', '$', and '\0'.
4160
83a96b4d
AC
4161 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4162 only if current_sblock has been initialized.
4163
4164 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4165 terminal frame even if it is the only visible frame.
4166
c09a6440
KH
41672001-01-28 Kenichi Handa <handa@etl.go.jp>
4168
4169 * fontset.c (font_family_registry): Even if FONTNAME conform to
4170 XLFD, if it specifies other fields than family and registry,
52283633 4171 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4172 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4173 a signle byte character. Don't set FAMILY part to nil here.
4174 It is handled by the caller choose_face_font.
c09a6440
KH
4175 (Fnew_fontset): Call font_family_registry with FORCE 0.
4176 (Fset_fontset_font): Likewise.
4177
4dcd74e6
GM
41782001-01-27 Gerd Moellmann <gerd@gnu.org>
4179
4180 * xdisp.c (display_line): Don't treat a newline as fitting
4181 on the line.
4182
d2906bf8
GM
41832001-01-26 Gerd Moellmann <gerd@gnu.org>
4184
0130fe1a
GM
4185 * window.c (size_window): Set the window's orig_top to nil when
4186 changing heights, so that a future shrink_mini_window won't
4187 restore a bogus height.
4188
550f0e6a
GM
4189 * frame.c (do_switch_frame): If selected frame has a mini-window,
4190 resize that to exact size.
4191
b7b20fbd
GM
4192 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4193
a47b7816
GM
4194 * xdisp.c (display_line): Simplify check for glyphs fitting
4195 entirely in the line.
4196
d2906bf8
GM
4197 * xfns.c (xic_style): New variable.
4198 (create_frame_xic): Move static variable to global scope for
550f0e6a 4199 the case that `static' gets defined away.
d2906bf8 4200
73df2b1e
KH
42012001-01-26 Kenichi Handa <handa@etl.go.jp>
4202
4203 * coding.c (decode_coding): Set a flag for inhibiting
4204 inconsistent eol.
4205 (code_convert_region): Always set saved_coding_symbol.
4206 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4207 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4208
6613cfc4
GM
42092001-01-25 Gerd Moellmann <gerd@gnu.org>
4210
c5e6e06b
GM
4211 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4212 XClearArea.
4213
4214 * xterm.c (x_after_update_window_line): Don't clear if frame's
4215 internal border width is zero.
4216 (x_clear_area): New function.
4217 (x_after_update_window_line, x_clear_end_of_line)
4218 (x_scroll_bar_create, x_scroll_bar_set_handle)
4219 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4220 instead of XClearArea.
4221
4222 * xterm.h (x_clear_area): Add prototype.
4223
6613cfc4
GM
4224 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4225 which doesn't seem necessary anymore with Lesstif 0.92.
4226
650cc6cc
DL
42272001-01-25 Dave Love <fx@gnu.org>
4228
34ac3367
DL
4229 * puresize.h (BASE_PURESIZE): Up to 720000.
4230
650cc6cc
DL
4231 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4232
5e37dc22
GM
42332001-01-25 Gerd Moellmann <gerd@gnu.org>
4234
e1e441f9
GM
4235 * xdisp.c (echo_area_display): Don't call redisplay_internal
4236 when Emacs is shutting down. We can't run hooks etc. that
4237 would be necessary to do a redisplay.
4238
5e37dc22
GM
4239 * lread.c (read_integer): Use type EMACS_INT instead of int.
4240
0fb94c7f
EZ
42412001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4242
4243 * ccl.c (ccl_driver): Fix last change.
4244
e3778624
KH
42452001-01-25 Kenichi Handa <handa@etl.go.jp>
4246
4247 * ccl.h (sturct ccl_program): New member suppress_error.
4248
bb264518 4249 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4250 insert error message to the output.
4251 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4252
4253 * coding.h (struct coding_system): New member suppress_error.
4254
4255 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4256 (Fset_terminal_coding_system_internal): Set the member
4257 suppress_error to 1.
4258 (Fset_safe_terminal_coding_system_internal): Likewise.
4259
245ed2b1
SM
42602001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4261
4262 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4263 as if it was a `charset'.
4264
f9aaedb6
GM
42652001-01-24 Gerd Moellmann <gerd@gnu.org>
4266
4267 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4268 value in where_is_cache; the next lookup in the cache returns
4269 something bogus if we do.
4270
c3902c3e
EZ
42712001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4272
4273 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4274 if HAVE_WINDOW_SYSTEM isn't defined.
4275
3497f73e
GM
42762001-01-24 Gerd Moellmann <gerd@gnu.org>
4277
e7e41584
GM
4278 * fns.c (sweep_weak_table): Fix code taking items out of
4279 the hash collision chain. Some cleanup.
4280
3497f73e
GM
4281 * xterm.c (x_new_font): Don't change a tooltip's size.
4282
4283 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4284 background color by specifying a color for the default font
4285 in .Xdefaults.
4286
3d48e687
KH
42872001-01-24 Kenichi Handa <handa@etl.go.jp>
4288
96531b20
KH
4289 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4290 a workaround for SunOS 4's cc.
4291 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4292 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4293 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4294 statement.
3d48e687 4295
a30629d2
GM
42962001-01-23 Gerd Moellmann <gerd@gnu.org>
4297
4298 * xterm.c (x_set_window_size_1): New function extracted from
4299 x_set_window_size.
4300 (x_set_window_size): Use it.
4301 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4302 doesn't have a widget, like tooltips.
4303
5a43decf
EZ
43042001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4305
52283633 4306 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4307
b0e98867
KH
43082001-01-23 Kenichi Handa <handa@etl.go.jp>
4309
4310 * fns.c (Fset_char_table_default): Fix to make sub char-table
4311 correctly.
4312
50606b4c
GM
43132001-01-22 Gerd Moellmann <gerd@gnu.org>
4314
cb2ddc53 4315 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4316 a desired tool bar string, even if there are no tool bar items.
4317
57c28064
GM
4318 * xdisp.c (Ftool_bar_lines_needed): New function.
4319 (syms_of_xdisp): Defsubr it.
4320
50606b4c
GM
4321 * editfns.c (Fformat): Don't extend text properties from arguments
4322 to padding chars in the result.
4323
2f169c38
EZ
43242001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4325
4326 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4327
0f32f023
AI
43282001-01-20 Andrew Innes <andrewi@gnu.org>
4329
52283633 4330 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4331 (w32_initialize): Don't set term hooks that aren't actually needed
4332 in windowed mode.
4333
4334 * xfaces.c (realize_default_face):
4335 (realize_face):
4336 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4337
4338 * xdisp.c (handle_single_display_prop): Remove references to
4339 FRAME_W32_CONSOLE_P.
4340
52283633 4341 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4342
4343 * frame.h (output_method): Remove output_w32_console method.
4344 (FRAME_W32_CONSOLE_P): Remove macro.
4345
4346 * frame.c (Qw32_console): Remove variable.
4347 (Fframep): Remove references to it.
4348 (syms_of_frame): Ditto.
4349 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4350
4351 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4352 redefinition.
4353
7173eada
KH
43542001-01-20 Kenichi Handa <handa@etl.go.jp>
4355
4356 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4357
755b45ce
AI
43582001-01-19 Andrew Innes <andrewi@gnu.org>
4359
4360 * w32.c (init_environment): Add a version-independent site-lisp
4361 directory to EMACSLOADPATH, after the version dependent one.
4362
0a949811
GM
43632001-01-19 Gerd Moellmann <gerd@gnu.org>
4364
8501998a
GM
4365 * editfns.c (Fbuffer_substring): Doc fix.
4366
52283633
SM
4367 * xdisp.c (message_dolog, message2, message2_nolog):
4368 Rename parameter LEN to NBYTES.
0a949811 4369
e6ebcbbe
KH
43702001-01-19 Kenichi Handa <handa@etl.go.jp>
4371
200ecca2
KH
4372 * charset.c (strwidth): Use c_string_width.
4373 (c_string_width): New function.
4374 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4375 Caller changed.
4376
4377 * charset.h (c_string_width, lisp_string_width): Extern them.
4378
52283633 4379 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4380
e6ebcbbe
KH
4381 * indent.c (check_composition): Check validity of composition.
4382
200ecca2
KH
4383 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4384 characters by calling c_string_width.
4385 (x_consider_frame_title): Get byte length of frame tile string
4386 correctly.
4387 (display_mode_element): Pay attention to width of non-ASCII
4388 characters by calling strwidth.
4389
8692ca92
GM
43902001-01-18 Gerd Moellmann <gerd@gnu.org>
4391
8962e303
GM
4392 * xfns.c (Qcancel_timer): New variable.
4393 (syms_of_xfns): Initialize and staticpro it.
4394 (Fx_hide_tip, Fx_show_tip): Use it.
4395 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4396 the timer.
4397 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4398
91523be9
GM
4399 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4400
4401 * window.h (WINDOW_LIVE_P): New macro.
4402
b0b7ed0e
GM
4403 * window.c (window_size_fixed): New variable.
4404 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4405 the doc string.
4406
06bccf8e
GM
4407 * eval.c (specbind): If binding a per-buffer variable which
4408 doesn't have a buffer-local value in the current buffer, change
4409 the global value by changing the value of the symbol bound in all
4410 buffers not having their own value, to make it consistent with
4411 what happens with other buffer-local variables.
4412
8692ca92
GM
4413 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4414
4415 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4416 when searching for a newline.
4417
bb3a3b50
KH
44182001-01-18 Kenichi Handa <handa@etl.go.jp>
4419
4420 * xdisp.c (display_string): Fix previous change.
4421
c2cc16fa
JR
44222001-01-18 Jason Rumney <jasonr@gnu.org>
4423
4424 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4425 GLYPH_DEBUG is defined.
4426 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4427 true for images with `:ascent 100'.
4428 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4429 meantime, use face MOUSE_FACE_ID.
4430 If first glyph isn't a character glyph, use the ASCII NUL
4431 character to determine the face.
4432 (expose_area): Do not treat left margin specially.
4433 (note_mode_line_highlight): If no local_map, check global keymap.
4434 (note_mouse_highlight): Initialize overlay.
52283633 4435 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4436 (show_scroll_bars): Remove unused function.
4437 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4438 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4439 Clip to row.
52283633 4440 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4441 (x_free_frame_resources): Unload relief colors.
4442
9c11f79e
GM
44432001-01-17 Gerd Moellmann <gerd@gnu.org>
4444
3aec8722 4445 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4446 get_next_display_element when the newline is already found.
4447 This may change the iterator's position, when its current position is
3aec8722
GM
4448 equal to the iterator's stop_charpos.
4449
f3ffc2c3
GM
4450 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4451 zero, use this method only at the end of a line.
4452
52283633 4453 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4454 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4455 if SCALABLE_FONTS_P is set.
52283633 4456
d26d6fd9
GM
4457 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4458 so that scalable fonts are included.
4459
9c11f79e
GM
4460 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4461 In the cache, use a key containing the information if scalable
4462 fonts are included.
4463 (x_load_font): Adapt to change of keys in the font cache.
4464
44652001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4466
d26d6fd9
GM
4467 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4468 XListFonts to take advantage of font caching.
4469
9c11f79e
GM
4470 * xterm.c (x_list_fonts): Ensure caching font information when
4471 called for a null frame, which is the case frequently when Emacs
4472 starts.
4473
51446987
GM
44742001-01-17 Gerd Moellmann <gerd@gnu.org>
4475
f864120f
GM
4476 * xfns.c (QCconversion): Replaces QCalgorithm.
4477
4478 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4479
4480 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4481 of :algorithm.
52283633 4482
e37d1417
GM
4483 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4484 not everything could be displayed.
4485
51446987
GM
4486 * line.h, x-list-font.c: Files removed because unused.
4487
9ad4f3e5
AI
44882001-01-17 Andrew Innes <andrewi@gnu.org>
4489
4490 * dired.c (directory_files_internal): Convert result from readdir
4491 to a unibyte string initially, to avoid possible misinterpretation
4492 of some bytes as the internal form of Emacs characters.
4493
2eda09b5
KH
44942001-01-17 Kenichi Handa <handa@etl.go.jp>
4495
4496 * fns.c (concat): Be sure to avoid putting the same `composition'
4497 property on the adjacent regions.
4498
826f3788
GM
44992001-01-16 Gerd Moellmann <gerd@gnu.org>
4500
52283633 4501 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4502 (Fscroll_right, Fscroll_left): Set it here instead, if called
4503 interactively.
4504
d57b83b3
GM
4505 * buffer.c (Fset_buffer_modified_p): Set buffer's
4506 prevent_redisplay_optimizations_p flag.
4507
826f3788 4508 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4509 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4510 with additional arg.
4511
4512 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4513 Change prototype.
826f3788 4514
826f3788
GM
4515 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4516 FROM_WHERE, for debugging.
4517
261d788b
KH
45182001-01-16 Kenichi Handa <handa@etl.go.jp>
4519
4520 * ccl.c (Fregister_ccl_program): Handle the return value of
4521 resolve_symbol_ccl_program correctly.
52283633 4522 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4523
bccee4f2
GM
45242001-01-15 Gerd Moellmann <gerd@gnu.org>
4525
e4ded23c
GM
4526 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4527 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4528
4529 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4530 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4531 the display; we didn't open it.
4532
bccee4f2
GM
4533 * dispnew.c (save_or_restore_current_matrices): Function removed.
4534 (save_current_matrix, restore_current_matrix): New functions.
4535 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4536 restore the frame's current matrix. Due to the glyph pointer
4537 setup done in adjust_glyph_matrix, there is no easy way to make
4538 saving the current matrix in the desired matrix generally correct,
4539 so don't try it.
4540
ebeccffa
KH
45412001-01-15 Kenichi Handa <handa@etl.go.jp>
4542
4543 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4544 truncation glyphs.
4545 (display_line): Optimize for wide characters.
e4ded23c 4546 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4547 partially. On ttys, produce more than one truncation glyph for
4548 multi-column characters that don't fit on the line.
4549
64388126
KH
45502001-01-13 Kenichi Handa <handa@etl.go.jp>
4551
52283633
SM
4552 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4553 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4554
8edb0a6f
JR
45552001-01-13 Jason Rumney <jasonr@gnu.org>
4556
4557 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4558 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4559 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4560 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4561
52283633
SM
4562 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4563 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4564 (x_draw_image_glyph_string): Adapt to change of image margins.
4565
4566 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4567 variables.
4568
4569 * w32bdf.c (search_file_line, get_cached_font_char)
4570 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4571
4572 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4573
4574 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4575 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4576 (Fw32_send_sys_command): Remove unused variables.
4577 (w32_msg_pump): Add parentheses.
4578
4579 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4580 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4581 Add parentheses.
4582
4956d1ef
GM
45832001-01-12 Gerd Moellmann <gerd@gnu.org>
4584
b30623be
GM
4585 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4586 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4587 being a pair of margins.
4588 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4589 to DEFVAR_LISP. Extend doc.
4590
4591 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4592 margins.
4593 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4594 pair of integers `(X . Y)', use X for the horizontal and Y for the
4595 vertical margin.
4596 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4597 (parse_image_spec): Check it.
52283633
SM
4598 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4599 (tiff_format, gif_format, gs_format):
4600 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4601
52283633
SM
4602 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4603 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4604 (x_draw_image_glyph_string): Adapt to the change of image margins.
4605
4606 * dispextern.h (struct image): Replace member `margin' with
4607 `hmargin' and `vmargin'.
4608
4554cc79
GM
4609 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4610 and GLYPHS.
4611
4612 * dispnew.c (update_text_area): Put code which decrements the
4613 stop position when the row's face extends to the end of the
3bffc665 4614 line in #if 0.
4554cc79 4615
3cccce8d
GM
4616 * xfns.c (x_set_mouse_color): Fix color allocation.
4617
4956d1ef
GM
4618 * keyboard.c: Call get_local_map with new argument list.
4619
4620 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4621
4622 * intervals.h (enum map_property): Removed.
4623 (get_local_map): Change prototype.
4624
4625 * keymap.c: Call get_local_map with new argument list.
4626 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4627
2c2ff7f2
GM
46282001-01-11 Gerd Moellmann <gerd@gnu.org>
4629
a23887b9
GM
4630 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4631 of the size needed for the tool bar string. For the last image,
4632 use a `display' property that reaches to the end of the string.
4633
a7ee2d2e
GM
4634 * xselect.c (selection_request_dpyinfo): New variable.
4635 (x_handle_selection_request): Set it.
4636 (x_selection_request_lisp_error): Don't call
4637 x_decline_selection_request if selection request's display has
4638 been closed.
4639
52283633
SM
4640 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4641 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4642
457b792c
GM
46432001-01-10 Dave Love <fx@gnu.org>
4644
4645 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4646 ${SOME_MACHINE_LISP}, not ${lisp}.
4647
c1efd260
GM
46482001-01-10 Gerd Moellmann <gerd@gnu.org>
4649
52283633
SM
4650 * xdisp.c (display_line): On ttys, produce more than one truncation
4651 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4652
ac95a621
GM
4653 * xselect.c (x_reply_selection_request): Add a comment.
4654
c1efd260
GM
4655 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4656 XkbGetNames instead of XkbGetKeyboard.
4657
1bfb1345
DL
46582001-01-10 Dave Love <fx@gnu.org>
4659
4660 * sysdep.c (random): Revert the declaration.
4661
38119822
GM
46622001-01-09 Gerd Moellmann <gerd@gnu.org>
4663
52283633
SM
4664 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4665 Call function string_bytes.
35f464a7
GM
4666 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4667
4668 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4669 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4670 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4671 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4672 the current sblock.
4673 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4674 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4675 after sweeping strings, and at the end.
4676 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4677
38119822
GM
4678 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4679 ensure that pop_message is called.
4680
4681 * keyboard.c (Fexecute_extended_command): Use a
4682 record_unwind_protect to ensure that pop_message is called.
4683
4684 * lisp.h (push_message_unwind): Add prototype.
4685
4686 * xdisp.c (push_message_unwind): New function.
4687
4688 * fileio.c (do_auto_save_unwind): Do the pop_message here
4689 instead of in Fdo_auto_save.
4690 (Fdo_auto_save): Don't call pop_message.
4691
f47a9ec4
KR
46922001-01-08 Ken Raeburn <raeburn@gnu.org>
4693
4694 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4695 in inner block.
4696
a758f97d
GM
46972001-01-08 Gerd Moellmann <gerd@gnu.org>
4698
6d0afc03
GM
4699 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4700 when increasing window's vscroll.
4701
a758f97d
GM
4702 * macros.c (Qkbd_macro_termination_hook): New variable.
4703 (syms_of_macros): Initialize and staticpro it.
4704 (pop_kbd_macro): Run kbd-macro-termination-hook.
4705
4706 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4707
1bfb1345 47082001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4709
4710 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4711 arglist, for documentation's sake.
4712
0dac6924
AI
47132001-01-06 Andrew Innes <andrewi@gnu.org>
4714
4715 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4716 of *.pdb.
4717
8182406a
AI
47182001-01-05 Andrew Innes <andrewi@gnu.org>
4719
4720 * term.c (update_end): Don't check updating_frame; for some reason
4721 this can be 0 sometimes, such as after dismissing a popup menu,
4722 and isn't necessary given the explicit frame argument.
4723
3828218c
GM
47242001-01-05 Gerd Moellmann <gerd@gnu.org>
4725
4726 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4727 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4728
2f5ded21
GM
47292001-01-04 Gerd Moellmann <gerd@gnu.org>
4730
52283633 4731 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4732
4733 * xfns.c (x_create_tip_frame): Preserve the value of
4734 face_change_count around the creation of the tip frame.
52283633 4735
2f5ded21
GM
4736 * xfns.c (last_show_tip_args): New variable.
4737 (compute_tip_xy): New function.
4738 (Fx_show_tip): Reuse an existing tip frame, if possible.
4739 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4740
dfad65fa
DL
47412001-01-04 Dave Love <fx@gnu.org>
4742
64d4ec0f
DL
4743 * editfns.c (Fformat): Doc fix.
4744
dfad65fa
DL
4745 * systime.h (set_file_times): Prototype.
4746
4747 * widget.h (EmacsFrameSetCharSize_): Prototype.
4748
4749 * sysdep.c (random, srandom): Declare explicitly.
4750
4751 * dispextern.h (move_it_vertically_backward): Declare.
4752
85fe3b5e
GM
47532001-01-04 Gerd Moellmann <gerd@gnu.org>
4754
0f2ac578
GM
4755 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4756 like in Fx_create_frame.
4757
482cca61
GM
4758 * xfaces.c (set_font_frame_param): Don't do anything for
4759 non-graphical frames.
4760
85fe3b5e
GM
4761 * window.c (Fdelete_other_windows): Set window's window_end_valid
4762 to nil when changing the window's start. Don't change the
4763 window's start when its top position hasn't changed. If we do,
4764 this will set the window's optional_new_start, which act's like a
4765 force_start during redisplay with C-x 1 M-> under particular
4766 circumstances (see report from Per Starback to emacs-pretest-bug
4767 from 2000-12-13.).
4768
3e99d3b4
GM
47692001-01-03 Gerd Moellmann <gerd@gnu.org>
4770
a77dc1ec
GM
4771 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4772 short cut at the start of the function. Add an assertion.
4773 (reseat_at_next_visible_line_start): Add an assertion.
4774
2f3cad6c
GM
4775 * window.c (Frecenter): When changing the window start, set the
4776 window's window_end_valid to nil.
4777 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4778
4779 * dispextern.h (move_it_past_eol): Add prototype.
4780
4781 * xdisp.c (move_it_past_eol): New function.
4782
3e99d3b4
GM
4783 * window.c (Fwindow_end): Doc fix.
4784
47852001-01-03 Dave Love <fx@gnu.org>
4786
52283633 4787 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4788
bafb434c
GM
47892001-01-03 Gerd Moellmann <gerd@gnu.org>
4790
4791 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4792 the enabled_p flag of the glyph row at window_end_vpos to 0.
4793 (handle_single_display_prop): Fix last change.
4794
5297fb00
RS
47952001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4796
4797 * window.c (Frecenter): Doc fix.
4798
13d6a61c
AI
47992001-01-02 Andrew Innes <andrewi@gnu.org>
4800
4801 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4802
4803 * frame.h (output_method): Add output_w32_console method.
4804 (FRAME_W32_CONSOLE_P): New macro.
4805
4806 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4807 use output_w32_console method.
4808 (Qw32_console): New Lisp_Object.
4809 (Fframep): Return it.
4810 (syms_of_frame): Init it.
52283633 4811 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4812
4813 * xfaces.c (realize_default_face): Set face foreground and
4814 background to unspecified for w32_console frames.
4815 (realize_face): Realize face cache for w32_console frames.
4816 (realize_tty_face): Accept w32_console frames.
4817
52283633 4818 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4819 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4820 necessary, even if running interactively.
4821
4822 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4823 w32_console frames.
4824
52283633
SM
4825 * w32term.c (x_update_begin):
4826 (x_update_end):
4827 (x_clear_frame):
4828 (x_ins_del_lines):
4829 (x_change_line_highlight):
4830 (x_delete_glyphs):
4831 (w32_ring_bell):
4832 (x_update_begin):
4833 (x_update_end):
4834 (w32_reassert_line_highlight):
4835 (w32_frame_rehighlight):
13d6a61c
AI
4836 (w32_frame_raise_lower): Do nothing if not w32 frame.
4837
4838 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4839
4840 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4841 system doesn't tell us directly.
4842 (Fx_display_visual_class): Implement properly.
4843
d6bb0c0d
GM
48442001-01-02 Gerd Moellmann <gerd@gnu.org>
4845
4846 * window.c (Frecenter): Handle centering in graphical frames
4847 specially. Centering on the basis of line counts doesn't work
4848 reliably with variable-height lines.
52283633 4849
315f5865
EZ
48502001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4851
4852 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4853 and al[].
4854
52283633 4855 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4856 (update_compositions): Remove unused variable `hook'.
4857
4858 * intervals.c (get_local_map): Remove unused variable `tem'.
4859
4860 * doprnt.c (doprnt1): Remove unused variable `size'.
4861
4862 * fns.c (Flength): Remove unused variable `tail'.
4863 (Fdelete): Remove unused variable `size'.
4864
4865 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4866 and `gcpro2'.
4867
52283633 4868 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4869
4870 * data.c (find_symbol_value): Remove extra 3rd argument in the
4871 call to swap_in_symval_forwarding.
4872
52283633 4873 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4874
4875 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4876 (trivial_regexp_p): Remove unused variable `c'.
4877 (boyer_moore): Remove unused variable `k'.
4878
4879 * indent.c (current_column): Remove unused variable `stopchar'.
4880 (Fcompute_motion): Remove unused variable `contin'.
4881
4882 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4883
4884 * dired.c (directory_files_internal): Fix a typo in a comment.
4885 Remove an unused variable `handler'.
52283633 4886 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4887 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4888 on BSD4_2.
4889
52283633 4890 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4891
4892 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4893 and `buf'.
4894 (Fmarker_insertion_type): Remove unused variable `buf'.
4895
4896 * insdel.c (make_gap): Remove unused variable `result'.
4897
52283633 4898 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4899 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4900 (menu_bar_items): Remove unused function-scope variable `tem'.
4901
4902 * fontset.c (fontset_ref): Remove unused variable `i'.
4903 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4904 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4905 (make_fontset_for_ascii_face): Remove unused variable `name'.
4906 (fs_load_font): Remove unused variable `font_idx'.
52283633 4907 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4908 (list_fontsets): Remove unused variable `tail'.
4909 (Fnew_fontset): Remove unused variables `family' and `registry'.
4910 (accumulate_font_info): Remove unused variable `tmp'.
4911 (Ffontset_font): Remove unused variable `id'.
4912 (syms_of_fontset): Remove unused variable `i'.
4913
4914 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4915 to x_term_init.
4916 (lookup_image): Remove unused variable `file'.
4917 (xbm_load): Remove unused variables `bitmap_data', `height', and
4918 `width'. Remove function-local variable `i', leave the
4919 block-local one.
4920 (gif_load): Remove unused variable `inc'.
4921
52283633 4922 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4923 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4924 leave only the one in the inner block.
4925
4926 * xfaces.c (face_fontset, realize_default_face): Remove unused
4927 variable `fontset'.
4928 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4929
4930 * term.c (encode_terminal_code): Remove unused variable `c'.
4931
4932 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4933 char *' instead of `char *'.
4934
4935 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4936 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4937 (Fchar_category_set): Remove unused variables `val', `charset',
4938 `c1' and `c2'.
4939
52283633
SM
4940 * coding.c (detect_coding_iso2022, setup_coding_system):
4941 Remove unused variable `i'.
315f5865
EZ
4942 (detect_coding_mask): Remove unused variable `idx'.
4943 (detect_coding): Remove unused variable `i'.
4944 (ccl_coding_driver): Remove unused variable `result'.
4945 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4946 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4947 (encode_coding_string): Remove unused variables `gcpro1' and
4948 `saved_coding_symbol'.
4949 (Ffind_coding_systems_region_internal): Remove function-local
4950 variable args[], leave only the block-local one.
4951 (code_convert_region1): Remove unused variable `len'.
4952
4953 * charset.c (char_printable_p): Remove unused variable `chars'.
4954 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4955 (str_to_multibyte): Remove unused variable `c'.
4956
4957 * window.c (size_window): Remove block-local variable `min_size'.
4958
4959 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4960 `header_line_height'.
4961 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4962 enum display_element_type.
4963
1a8a9daf
GM
49642001-01-02 Gerd Moellmann <gerd@gnu.org>
4965
6dde6abc 4966 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4967 statements that call X. Save away the error message in a local copy.
4968
1883b2c6
GM
4969 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4970 the start.
4971
a13be207
GM
4972 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4973 in or at the start of invisible text.
4974
1a8a9daf
GM
4975 * dispnew.c (update_window): Don't check_current_matrix_flags.
4976
3608c0f9
JR
49772001-01-01 Jason Rumney <jasonr@gnu.org>
4978
4979 * w32fns.c (x_figure_window_size): Do not allow new_height and
4980 new_width of frame to override specified values.
4981
abb1acc4
KH
49822000-12-30 Kenichi Handa <handa@etl.go.jp>
4983
52283633 4984 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4985
762a68ec
GM
49862000-12-29 Gerd Moellmann <gerd@gnu.org>
4987
52283633 4988 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4989 (update_window) [GLYPH_DEBUG]: Call it.
4990 (scrolling_window): Prevent including current rows which are below
4991 what's displayed in the window.
4992
4993 * xdisp.c (try_window_reusing_current_matrix)
4994 <new start <= old start>: Disable rows in the current matrix
4995 which are below the window after scrolling.
52283633 4996
762a68ec
GM
4997 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4998 is zero. It's not worth the complexity.
4999 (invisible_text_between_p): Put in #if 0 because unused.
5000
2d5912c1
GM
50012000-12-28 Gerd Moellmann <gerd@gnu.org>
5002
46f6a258
GM
5003 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5004 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5005
89f93679
GM
5006 * keyboard.c (echo_char): If C is an integer, always call
5007 push_key_description. Former code could signal an invalid
5008 character error.
5009
5010 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5011 If set, print multibyte text.
5012 (Fsingle_key_description): Call push_key_description with
5013 FORCE_MULTIBYTE set.
5014 (describe_buffer_bindings): Likewise.
5015
5016 * lisp.h (push_key_description): Add prototype.
5017
c06017fb
GM
5018 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5019 around the call to redisplay_internal.
5020
f1d2ce7f
GM
5021 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5022
2d5912c1
GM
5023 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5024
9371f831
KH
50252000-12-28 Kenichi Handa <handa@etl.go.jp>
5026
5027 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5028 (ccl_driver): New local variable `extra_bytes'.
5029
5030 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5031
52283633
SM
5032 * coding.c (setup_coding_system):
5033 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5034 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5035
0c80628a
KH
50362000-12-28 Kenichi Handa <handa@etl.go.jp>
5037
5038 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5039 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5040 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5041 (decode_composition_emacs_mule): New function.
5042 (decode_coding_emacs_mule): Decode composition sequence by calling
5043 decode_composition_emacs_mule.
5044 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5045 (encode_coding_emacs_mule): Changed from macro to function.
5046 If a text contains compositions, encode them correctly.
0c80628a
KH
5047 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5048 that decoding and encoding are required.
5049
3e32cc27
GM
50502000-12-27 Gerd Moellmann <gerd@gnu.org>
5051
5e25feee
GM
5052 * xfaces.c (PT_PER_INCH): New macro.
5053 (xlfd_point_size): Compute real point size from font's pixel size.
5054 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5055 instead of 72.
5056
892d8fcd
GM
5057 * .gdbinit: Comment out the line pointing to the Lesstif source
5058 directory.
5059
12c8b416
GM
5060 * window.c (Frecenter): Use displayed_window_lines instead
5061 of window_internal_height.
5062
6061fbf0
GM
5063 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5064 instead of x-toolkit-scroll-bars-p.
5065 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5066
5067 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5068 instead of x-toolkit-scroll-bars-p.
5069 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5070
3e32cc27
GM
5071 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5072 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5073 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5074 New variables.
5075 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5076 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5077 (build_frame_matrix_from_leaf_window): Remove unused code.
5078 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5079 redisplay history.
5080 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5081 (update_window) [GLYPH_DEBUG]: Likewise.
5082 (syms_of_display): Defsubr dump-redisplay-history.
5083
31798cfe
GM
50842000-12-23 Gerd Moellmann <gerd@gnu.org>
5085
f717c2ba
GM
5086 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5087 the end of the prompt. Set echo_after_prompt to the offset
5088 of echoptr in echobuf.
5089
aeb2b8fc
GM
5090 * xdisp.c (init_from_display_pos): Pop until the iterator's
5091 stack is empty; there may be frames for stretch or images
5092 on the stack.
5093
31798cfe
GM
5094 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5095 (save_or_restore_current_matrix): New function for the same
5096 purpose, but more efficient.
5097 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5098
f8156156
EZ
50992000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5100
5101 * xdisp.c (syms_of_xdisp): Fix last change.
5102
bdd6d4e8
GM
51032000-12-23 Gerd Moellmann <gerd@gnu.org>
5104
5105 * xdisp.c (syms_of_xdisp): Doc fix.
5106
5107 * xdisp.c (redisplay_window): Remove label restore_buffers;
5108 use finish_scroll_bars instead to make sure that scroll bars
5109 are redeemed. If we don't do this, flickering can result from
5110 scroll bars being destroyed and recreated.
5111
9436cdf9
JR
51122000-12-22 Jason Rumney <jasonr@gnu.org>
5113
5114 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5115 in the wrong colors when the foreground is not black.
5116 (expose_window): Don't redraw the window that's currently being
5117 updated.
5118
951f9df5
GM
51192000-12-22 Gerd Moellmann <gerd@gnu.org>
5120
856ff7a7
GM
5121 * window.c (size_window): When setting the window's too_small_ok
5122 flag, compare old size with minimum size depending on WIDTH_P,
5123 don't compare with window_min_width.
52283633 5124
951f9df5
GM
5125 * window.c (delete_window): Simplify somewhat.
5126 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5127 freeing window matrices. The flag windows_or_buffers_changed is
5128 set, so the next redisplay will consider all windows; this should
5129 suffice.
5130
886bc933
KH
51312000-12-22 Kenichi Handa <handa@etl.go.jp>
5132
5133 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5134
5135 * ccl.h (struct ccl_program): New member cr_consumed.
5136
5137 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5138 (CCL_READ_CHAR): Handle EOL conversion here.
5139 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5140
177f4e88
GM
51412000-12-21 Gerd Moellmann <gerd@gnu.org>
5142
52283633 5143 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5144
5145 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5146 otherwise tabs of different size compare equal.
5147
5148 * callint.c (Fcall_interactively): Prevent a compiler warning.
5149
5150 * print.c (print_unwind): Return nil.
5151 (PRINTDECLARE): Initialize all local variables.
5152 (print_preprocess): Add a default case.
5153
8e15274f
GM
5154 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5155
5156 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5157
52283633 5158 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5159 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5160
5161 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5162
5163 * dispnew.c (ensure_frame_matrix): Removed.
5164 (save_frame_matrix, restore_frame_matrix): New functions.
5165 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5166
5167 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5168 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5169
99012074
AI
51702000-12-21 Andrew Innes <andrewi@gnu.org>
5171
5172 * w32term.c (x_update_begin): Regenerate the palette here, rather
5173 than for each window.
5174
5175 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5176 palette is NULL, since this corrupts memory! Also get
5177 display_info reference from frame.
5178
29ef7d2d
JR
51792000-12-21 Jason Rumney <jasonr@gnu.org>
5180
5181 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5182
5183 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5184 to avoid returning without releasing it.
3e27fa1f 5185
3f9d67a6
KH
51862000-12-21 Kenichi Handa <handa@etl.go.jp>
5187
587fc3f9
KH
5188 * keymap.c (push_key_description): Don't convert eight-bit-control
5189 and eight-bit-graphic to multibyte character.
5190
3f9d67a6
KH
5191 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5192 generic character and CODE1 is nil, return the smallest character
5193 in CHARSET.
5194
774ba8c9
DL
51952000-12-20 Dave Love <fx@gnu.org>
5196
5197 * s/osf5-0.h (NSIG): Don't redefine.
5198
88416888
SM
51992000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5200
5201 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5202 excluding menu-bar and tool-bar.
5203 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5204 (menu_item_p): Remove.
5205 (where_is_internal_1): Don't ignore menu-items.
5206
a6426c6f
GM
52072000-12-20 Gerd Moellmann <gerd@gnu.org>
5208
03ff8aab
GM
5209 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5210 into account.
5211
5212 * window.c (make_window): Initialize window's min_hscroll.
5213 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5214 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5215 to zero.
5216 (struct saved_window): New member min_hscroll.
5217 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5218 (Fset_window_configuration): Set window's min_hscroll.
5219 (save_window_save): Save window's min_hscroll.
5220 (compare_window_configurations): Compare min_hscroll values.
5221
5222 * window.h (struct window): New member min_hscroll.
5223
5224 * keyboard.c (echo_prompt): Prevent a compiler warning.
5225
8de4aaf8
GM
5226 * xdisp.c (try_cursor_movement): Fix last change. The real
5227 condition is that PT is at the end of the row, and should
5228 be displayed at the start of the next row.
52283633 5229
3f7e3031
GM
5230 * xdisp.c (try_cursor_movement): If we end on a partially
5231 visible line, end we already decided to scroll, return -1.
5232
a6426c6f
GM
5233 * dispextern.h (ensure_frame_matrix): Add prototype.
5234
5235 * window.c (delete_window, Fsplit_window)
5236 (Fset_window_configuration): Call ensure_frame_matrix.
5237
52283633
SM
5238 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5239 New functions.
a6426c6f
GM
5240 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5241 completed, call fake_current_matrices instead of marking frame
5242 garbaged.
5243
57fa2774
JR
52442000-12-20 Jason Rumney <jasonr@gnu.org>
5245
5246 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5247
d925df90
EZ
52482000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5249
5250 * fns.c (Frequire): Doc fix.
5251
7b93a85b
GM
52522000-12-19 Gerd Moellmann <gerd@gnu.org>
5253
52283633 5254 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5255
c74e645b
GM
5256 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5257 currently displaying a message.
5258
7b93a85b
GM
5259 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5260 xterm.h.
5261 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5262
90d97e64
AI
52632000-12-18 Andrew Innes <andrewi@gnu.org>
5264
5265 * w32.c (w32_strerror): New function.
5266
5267 * w32.h (w32_strerror): New extern.
5268
5269 * w32fns.c (Fw32_shell_execute): Use it.
5270
91c9e6ce
GM
52712000-12-18 Gerd Moellmann <gerd@gnu.org>
5272
5273 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5274
6f4745e2
EZ
52752000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5276
5277 * msdos.c (IT_set_face): Obey inverse_video.
5278
c9e088ce
KH
52792000-12-18 Kenichi Handa <handa@etl.go.jp>
5280
5281 * dired.c (directory_files_internal): Always return decoded filenames.
5282
c3695f5f
GM
52832000-12-18 Gerd Moellmann <gerd@gnu.org>
5284
52d8e4ff
GM
5285 * xterm.c (x_connection_closed): Prevent being called recursively
5286 because of an error condition in XtCloseDisplay.
52283633 5287
62be9979
GM
5288 * xdisp.c (init_iterator): If noninteractive, and the frame's
5289 face cache is null, make one.
5290
52283633 5291 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5292
c3695f5f
GM
5293 * process.c (wait_reading_process_input): Check for pending
5294 input when running timers.
5295
78555fbe
EZ
52962000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5297
52283633 5298 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5299
b2b36264
KH
53002000-12-18 Kenichi Handa <handa@etl.go.jp>
5301
5302 * process.c (read_process_output): Don't run a filter if the code
5303 decoder produces nothing but carryover.
5304
9c543fbf
AI
53052000-12-17 Andrew Innes <andrewi@gnu.org>
5306
5307 * w32.c (sys_rename): Only check errno against EEXIST, and not
5308 EACCES, when determining whether rename failed because the target
5309 exists. This was resulting in indefinite looping on Windows 9x if
5310 the source file was locked by another process.
5311
5312 * w32fns.c (Ffile_system_info): New function.
5313 (syms_of_w32fns): Defsubr it.
5314
10c2b5a8
GM
53152000-12-17 Gerd Moellmann <gerd@gnu.org>
5316
b0228ace
GM
5317 * window.c (coordinates_in_window): Fix computation for
5318 position on vertical line between mode lines.
5319
10c2b5a8
GM
5320 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5321 Don't alter tip_frame or tip_window.
5322 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5323 was deleted.
5324
c844a81a
GM
5325 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5326 Don't alter tip_frame or tip_window.
5327 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5328 was deleted.
5329
6c825f8e
EZ
53302000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5331
5332 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5333 be consistent with the doc string. Reported by NAKAJIMA Mikio
5334 <minakaji@osaka.email.ne.jp>.
5335
af4bb4c8
KH
53362000-12-16 Kenichi Handa <handa@etl.go.jp>
5337
5338 * xfaces.c (Vface_ignored_fonts): New variable.
5339 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5340 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5341
8062e53a
GM
53422000-12-15 Gerd Moellmann <gerd@gnu.org>
5343
e87b8809
GM
5344 * dispnew.c (update_window): Detect pending input every nth line
5345 updated, i.e. do it depending on real work done, and not on the
5346 vpos of the line.
5347
5348 * xterm.c (expose_window): Don't redraw the window that's
5349 currently being updated.
5350
a6768cc5
GM
5351 * window.c (Fset_window_point): Remove test for
5352 cursor_in_non_selected_windows.
5353
4ea7fdca
GM
5354 * lread.c (read1): Recognize end of file after `\\'.
5355
8062e53a
GM
5356 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5357 not unwind_create_frame.
5358
bb7959c1
GM
53592000-12-15 Dave Love <fx@gnu.org>
5360
5361 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5362 bcopy & al.
5363
5364 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5365
ced04c42
KH
53662000-12-15 Kenichi Handa <handa@etl.go.jp>
5367
c5443913
KH
5368 * coding.c (setup_coding_system): Clear all members of the struct
5369 coding_system at first.
bc137305
KH
5370 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5371 argument.
5372 (code_convert_region): Don't override coding->src_multibyte and
5373 coding->dst_multibyte.
c5443913 5374
ced04c42
KH
5375 * fns.c (Fmd5): Docstring improved.
5376
c2d7f289
MB
53772000-12-15 Miles Bader <miles@gnu.org>
5378
5379 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5380 are actually marked as mode-lines; otherwise use
5381 estimate_mode_line_height.
5382
9d7d9263
GM
53832000-12-14 Gerd Moellmann <gerd@gnu.org>
5384
5385 * editfns.c (Fformat): Prevent a buffer overrun when the format
5386 specifies a precision.
5387
7cf0153a
EZ
53882000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5389
5390 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5391 argument is outside the range [2..3].
5392
1de0f662
AI
53932000-12-14 Andrew Innes <andrewi@gnu.org>
5394
5395 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5396 nothing to do. Bind inhibit-quit.
5397 (tip_frame): Make it a Lisp_Object.
5398 (x_create_tip_frame): Set tip_frame after it has been added to
5399 Vframe_list.
5400 (Fx_show_tip): Don't set tip_frame here.
52283633 5401 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5402 (unwind_create_frame, unwind_create_tip_frame): New functions.
5403 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5404 while a frame is only partially constructed.
5405
5406 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5407 (x_free_frame_resources): New function.
5408 (x_destroy_window): Use it.
5409
02387dcc
GM
54102000-12-14 Gerd Moellmann <gerd@gnu.org>
5411
5412 * xfns.c (Fx_backspace_delete_keys_p): New function.
5413 (syms_of_xfns): Defsubr it.
5414
5415 * config.in (HAVE_XKBGETKEYBOARD): Add.
5416
0544ef49
KH
54172000-12-14 Kenichi Handa <handa@etl.go.jp>
5418
98d62747
KH
5419 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5420 Always store string in multibyte representation in echobuf.
5421 (echo_char): Always store string in multibyte representation in
5422 echobuf.
5423 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5424 (read_key_sequence): Adjusted for the change of echo_prompt.
5425
a20193cd
KH
5426 * fns.c (Fmd5): Docstring improved.
5427
191b83b6
KH
5428 * lisp.h (detect_coding_system): Prototype adjusted.
5429
0544ef49
KH
5430 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5431 (detect_coding_emacs_mule, detect_coding_iso2022,)
5432 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5433 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5434 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5435 (detect_coding_mask, detect_coding_system): New argument
5436 MULTIBYTEP. Callers changed.
1da1bb05
KH
5437 (decode_coding_string): Set coding->src_multibyte and
5438 coding->dst_multibyte before calling detect_coding and detect_eol.
5439 Update them after some coding system is detected.
52283633 5440
d5b3eb1b
SM
54412000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5442
5443 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5444
5445 * keyboard.c (menu_bar_items, tool_bar_items):
5446 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5447
f7f8bb69
GM
54482000-12-13 Gerd Moellmann <gerd@gnu.org>
5449
52283633 5450 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5451 New variables.
5452 (unwind_create_frame, unwind_create_tip_frame): New functions.
5453 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5454 while a frame is only partially constructed.
5455
5456 * xterm.h (x_free_frame_resources): Declare.
5457
5458 * xterm.c (x_free_frame_resources): New function.
5459 (x_destroy_window): Use it.
5460
e10da507
GM
5461 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5462 don't interrupt the update for pending input initially, i.e.
5463 update at least some lines.
5464
5465 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5466
d5b3eb1b 5467 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5468
5469 * xfns.c (gray_bitmap_bits): Declare `char *'.
5470
90aa2856
GM
54712000-12-12 Gerd Moellmann <gerd@gnu.org>
5472
5473 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5474 lines start with a relief line.
5475
a308c9cd
DL
54762000-12-12 Dave Love <fx@gnu.org>
5477
5478 * window.c (Fdisplay_buffer): Doc fix.
5479 (Fwindow_list): Remove unused var.
5480
5481 * buffer.h (mmap_set_vars): Declare.
5482
5483 * window.h (Fset_window_point): Declare.
5484
d575011f
EZ
54852000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5486
bf6282d2 5487 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5488 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5489 variable `area'. When looking for a row under (X,Y), give up if some
5490 of the previous rows is not enabled.
d575011f 5491
ecf4d726
GM
54922000-12-12 Gerd Moellmann <gerd@gnu.org>
5493
2ebf6139
GM
5494 * window.c (Fset_window_point): If displaying cursors in windows
5495 other than the selected window, make sure redisplay updates
5496 other windows to show the new value of point in the window.
5497
5498 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5499
bfdb75ee
GM
5500 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5501 the buffer is the sole visible buffer when in the mini-buffer.
5502
52283633 5503 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5504 Bind `inhibit-read-only' to t.
5505 (unwind_with_echo_area_buffer): Use AREF.
5506
c0006262
GM
5507 * xfns.c (Fx_hide_tip): Simplified.
5508
52283633
SM
5509 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5510 instead of `1'.
e9a59cad 5511
ecf4d726
GM
5512 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5513
e5959a9a
GM
55142000-12-11 Gerd Moellmann <gerd@gnu.org>
5515
a3642e49 5516 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5517
44b5a125
GM
5518 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5519 nothing to do. Bind inhibit-quit.
5520 (tip_frame): Make it a Lisp_Object.
5521 (x_create_tip_frame): Set tip_frame after it has been added to
5522 Vframe_list.
5523 (Fx_show_tip): Don't set tip_frame here.
5524
5525 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5526
5527 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5528 Lisp_Object.
5529
5530 * dispextern.h: Change external declaration of tip_frame.
5531
d990421f
GM
5532 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5533 return an empty string.
5534
4db87380
GM
5535 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5536 of the window's update_mode_line flag, since the former is set by
5537 force-mode-line-update, not the latter. This makes
5538 column-number-mode slightly faster.
52283633 5539
e5959a9a
GM
5540 * xdisp.c (try_window_id) <all changes above window start>:
5541 Set the cursor.
5542
169fe44e
GM
55432000-12-11 Paul Eggert <eggert@twinsun.com>
5544
5545 * config.in (HAVE_FTELLO): Remove.
5546 (HAVE_FSEEKO): Add.
5547 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5548 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5549 HAVE_FTELLO.
5550 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5551 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5552
59ec59ae
MB
55532000-12-11 Miles Bader <miles@gnu.org>
5554
5555 * window.c (displayed_window_lines): Don't round up when
5556 converting empty space at bottom to lines.
ff904dd6
MB
5557 Handle non-newline-terminated final lines properly.
5558 (Fwindow_text_height): New function (used to be in lisp).
5559 (syms_of_window): Initialize it.
59ec59ae 5560
42ebfa31
SM
55612000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5562
5563 * syntax.c (scan_lists): Check that the right quote char has the
5564 right Sstring syntax when jumping over strings.
5565 (init_syntax_once): Use Smax rather than 13.
5566
5cdb3cf3
MB
55672000-12-09 Miles Bader <miles@gnu.org>
5568
5569 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5570 with PARTIALLY, inverting the sense.
5571 (window_scroll_pixel_based): Scroll partially visible lines into
5572 place if we hit the beginning or end of the buffer.
a12167c5
MB
5573 (displayed_window_lines): Don't include partially visible lines.
5574 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5575
842b2a94
GM
55762000-12-08 Gerd Moellmann <gerd@gnu.org>
5577
5578 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5579
5580 * tparam.c (tparam1): Change the way buffers are reallocated to be
5581 portable and less obfuscated.
5582
5583 * termcap.c (tgetent): Change the way buffers are reallocated to
5584 be portable and less obfuscated.
5585
5586 * macros.c (store_kbd_macro_char): Change the way buffers are
5587 reallocated to be portable and less obfuscated.
5588
5589 * lread.c (read1): Change the way buffers are reallocated to be
5590 portable and less obfuscated.
5591
5592 * doc.c (Fsubstitute_command_keys): Change the way buffers
5593 are reallocated so that it is portable.
5594
137cad7c
EZ
55952000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5596
5597 * dosfns.c (Ffile_system_info): New function.
5598 (syms_of_dosfns): Defsubr it.
5599
5c7f629c
SM
56002000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5601
5602 * alloc.c (gc_sweep): Add comment.
5603
959e647d
GM
56042000-12-07 Gerd Moellmann <gerd@gnu.org>
5605
52283633
SM
5606 * sound.c (vox_configure): Change order of ioctls.
5607 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5608 Ignore errors when changing volume.
5609 (vox_close): Don't reset the device.
5610
926b7e5e
GM
5611 * process.c (read_process_output): Make sure the process marker's
5612 position is valid when the process buffer is changed in
5613 after-change functions. W3 does that.
52283633 5614
959e647d
GM
5615 * xfns.c (x_free_gcs): New function.
5616
5617 * xterm.h (x_free_gcs): Add prototype.
5618
5619 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5620 freeing GCs here.
5621
5622 * xterm.c (x_destroy_window): Call x_free_gcs so that
5623 resources of non-toolkit X windows will be freed.
5624
478ea067
AI
56252000-12-07 Andrew Innes <andrewi@gnu.org>
5626
5627 * w32fns.c (xlfd_charset_of_font): Fix last change.
5628
fbee3231
DL
56292000-12-06 Dave Love <fx@gnu.org>
5630
67292061
DL
5631 * md5.h (__P): Don't define -- it comes from config.h.
5632
fbee3231
DL
5633 * strftime.c: Change some #if foo to #ifdef foo.
5634
4ee87dbb
AI
56352000-12-06 Andrew Innes <andrewi@gnu.org>
5636
5637 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5638
52283633 5639 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5640 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5641 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5642
9765b4a4
GM
56432000-12-06 Gerd Moellmann <gerd@gnu.org>
5644
d285b373
GM
5645 * alloc.c (gc_sweep): Prevent symbols read during loadup
5646 from being freed.
5647
384333ee
GM
5648 * xdisp.c (underlying_face_id): New function.
5649 (handle_face_prop, face_before_or_after_it_pos): Use it
5650 to determine the face ``under'' a string. Let strings inherit
5651 the face of the buffer under them.
5652
5653 * xfaces.c (face_at_string_position): Update function comment.
52283633 5654
d4b72d58
GM
5655 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5656 matrix if the window's left position has changed; we need to
5657 redraw it in this case.
5658
5659 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5660
e1d05387
GM
5661 * window.c (coordinates_in_window): Check mouse on mode-line or
5662 header-line first.
5663
eb1b0c74
GM
5664 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5665 advertized by the function documentation.
5666
d94d636f
GM
5667 * window.c (syms_of_window): Doc fix.
5668
3887b449
GM
5669 * sound.c (vox_configure): Set volume for left and right channel.
5670 (sound_cleanup): Return nil.
5671
efc8f57a
GM
5672 * xdisp.c (move_it_by_lines): Fix paren typo.
5673
9765b4a4
GM
5674 * xterm.c (x_load_font): Don't use the font's max_bounds for
5675 computing the height of the font. If max_bounds' ascent or
5676 descent are greater than the font's ascent or descent, this means
5677 glyphs overlap, which should be handled now by redisplay.
5678
6529ed87
GM
5679 * window.c (Veven_window_heights): New variable.
5680 (syms_of_window): DEFVAR_LISP it.
5681 (Fdisplay_buffer): Check Veven_window_heights before evening the
5682 window heights.
52283633 5683
0eb2ecde
MB
56842000-12-06 Miles Bader <miles@gnu.org>
5685
5686 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5687 update `default-frame-alist' instead of setting no frame parameters.
5688
03d7a167
KH
56892000-12-06 Kenichi Handa <handa@etl.go.jp>
5690
5691 * composite.c (update_compositions): Fix typo (use the correct
5692 variable).
5693
5f8803c2
JR
56942000-12-05 Jason Rumney <jasonr@gnu.org>
5695
5696 * md5.h: Remove underscores from function declarations.
5697 (__attribute__, __alignof__) [!__GNUC__]: Define.
5698
5699 * md5.c: Delay include of md5.h until after namespace cleaning.
5700
c28a075b
JR
5701 * makefile.w32-in (fns.o): Depend on md5.h
5702 (md5.o): New target.
5703 (sunfns.o): Remove.
5704
5705 * makefile.nt: Likewise.
5706
ff3c7056
JR
57072000-12-05 Jason Rumney <jasonr@altavista.net>
5708
5709 * w32term.c (expose_area): Complete last change.
5710
0c21eeeb
KR
57112000-12-05 Ken Raeburn <raeburn@gnu.org>
5712
5713 * minibuf.c: Include intervals.h.
5714
f201d732
JR
57152000-12-05 Jason Rumney <jasonr@gnu.org>
5716
5717 * w32term.c (x_produce_glyphs): If a font for a component of
5718 a composition is not found, use 1 pixel dot ascent and 0 dot
5719 descent value to avoid displaying terribly tall empty boxes.
5720 (expose_area): Pass x-coordinate relative to the exposed
5721 area to x_draw_glyphs instead of a window-relative coordinate.
5722
21999ab9
GM
57232000-12-05 Gerd Moellmann <gerd@gnu.org>
5724
4d2036e4
GM
5725 * xdisp.c (next_element_from_ellipsis): Save face before selective
5726 display in saved_face_id, and set face_before_selective_p.
5727 (reseat_1): Reset face_before_selective_p.
5728 (append_space, extend_face_to_end_of_line): If iterator's
5729 face_before_selective_p is set, use the face from saved_face_id.
5730 (extend_face_to_end_of_line): For tty frames, make sure to
5731 use the right face id when producing spaces at the end of
5732 the line.
5733
5734 * dispextern.h (struct it): Add face_before_selective_p.
5735
52be17cc
GM
5736 * keyboard.c (record_char): Don't record identical help-echo
5737 events in recent_keys.
5738
8a4f36cc
GM
5739 * xterm.c [USE_X_TOOLKIT]: Close the display.
5740 (xim_close_dpy): Handle case that the display has been closed.
5741
57d6e381
GM
5742 * xterm.c (x_destroy_window): Reset the frame's X window after
5743 destroying it.
5744
21999ab9
GM
5745 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5746 variable window_width.
5747 (line_draw_cost): Fix code skipping over spaces at the end of the
5748 line when must_write_spaces is not set.
5749 (scrolling_window): Fix code inserting runs in list of all runs.
5750
91372bb7
KH
57512000-12-05 Kenichi Handa <handa@etl.go.jp>
5752
5753 * coding.c (setup_coding_system): Be sure to initialize
5754 coding->category_idx.
5755
6c083b4c
GM
57562000-12-04 Gerd Moellmann <gerd@gnu.org>
5757
0c68ce6f 5758 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5759
6452929e
GM
5760 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5761 area to x_draw_glyphs instead of a window-relative coordinate.
5762
d7f31e22
GM
5763 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5764 error in the message.
5765
ae18aa3b
GM
5766 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5767 timer after having read a key. It's not good for code reading
5768 several keys in a loop, like an input method.
5769
caa15ef7
GM
5770 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5771 record undo information for format-decode.
5772
5773 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5774 current buffer is read-only, not if it isn't.
5775
6c083b4c
GM
5776 * keyboard.c (record_char): Record `help-echo' input events
5777 in recent_keys only if they display some help. Don't record
5778 `help-echo' events as macro char.
5779
caa15ef7
GM
57802000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5781
5782 * editfns.c (save_excursion_restore): Don't move point
5783 in another window if it is showing the wrong buffer.
5784 Avoid the call to Fwindow_live_p, for speed.
5785
5a13529b
KH
57862000-12-04 Kenichi Handa <handa@etl.go.jp>
5787
e225faa7
KH
5788 * xfaces.c (struct font_name): New member registry_priority.
5789 (split_font_name): Initialize the above member to zero.
5790 (concat_font_list): New function.
5791 (font_list): Include fonts of all alternative registries.
5792 (FONT_POINT_SIZE_QUANTUM): New macro.
5793 (better_font_p): Ignore point size difference less than
5794 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5795
e89648b4
KH
5796 * xterm.c (x_produce_glyphs): If a font for a component of
5797 a composition is not found, use 1 pixel dot ascent and 0 dot
5798 descent value to avoid displaying terribly tall empty boxes.
5799
5a13529b
KH
5800 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5801
d7935eb6
KR
58022000-12-03 Ken Raeburn <raeburn@gnu.org>
5803
5804 * coding.h (code_convert_string1): Declare.
5805
5806 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5807
52283633 5808 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5809
0dd5e255
JR
58102000-12-02 Jason Rumney <jasonr@gnu.org>
5811
5812 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5813 correctly for single byte character case.
5814 (w32_per_char_metric): Do not try to make any assumptions about
5815 the metrics of BDF fonts.
250cfece 5816 (x_estimate_mode_line_height): If `mode-line' face
52283633 5817 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5818 (note_mouse_highlight): Change the cursor shape on the vertical
5819 border between windows [not enabled].
5820
5821 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5822
5823 * w32fns.c (Fx_create_frame): Reintroduce the call to
5824 face-set-after-frame-defaults.
5825 (Vx_window_horizontal_drag_shape): New variable.
5826 (syms_of_xfns): DEFVAR_LISP it.
5827 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5828 enabled].
0dd5e255 5829
b5d8d2ca
GM
58302000-12-02 Simon Josefsson <simon@josefsson.org>
5831
5832 * fns.c (Fmd5): Use a different logic to decide the coding system
5833 to use.
5834
5835 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5836
fbb87147
EZ
58372000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5838
52283633 5839 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5840
447e9da0
GM
58412000-12-01 Gerd Moellmann <gerd@gnu.org>
5842
7708ced0
GM
5843 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5844 height for YNegative.
5845 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5846 height; also see comment there.
5847
447e9da0
GM
5848 * window.c (coordinates_in_window): Handle computations for
5849 positions on the vertical bar and fringes differently for
5850 window-system frames. Consider some pixels near the vertical bar
5851 as on the bar if the frame doesn't have vertical scroll bars.
5852 Associate positions between mode or header lines with the
5853 right window, the left one.
5854
86d1db20
JR
58552000-12-01 Jason Rumney <jasonr@gnu.org>
5856
5857 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5858
5859 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5860 invalid frame.
5861
a1d58e5b
GM
58622000-12-01 Gerd Moellmann <gerd@gnu.org>
5863
52283633 5864 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5865 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5866 (save_window_save, Fset_window_configuration): Save/restore
5867 window's orig_top and orig_height.
5868
89c609af
JR
58692000-12-01 Jason Rumney <jasonr@gnu.org>
5870
4d177746 5871 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5872
89c609af
JR
5873 * w32fns.c (x_set_cursor_color): Fix last change.
5874
eccc05db
GM
58752000-11-30 Gerd Moellmann <gerd@gnu.org>
5876
31b6671b
GM
5877 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5878 sure that the next redisplay displays the minibuffer, so that
5879 the cursor will be replaced with what the minibuffer wants.
5880
eccc05db
GM
5881 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5882 #ifndef instead of using #if.
5883 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5884 USE_TOOLKIT_SCROLL_BARS is defined.
5885
162de750
JR
58862000-11-30 Jason Rumney <jasonr@gnu.org>
5887
5888 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5889 x_display_cursor.
5890
693c4692
GM
58912000-11-30 Gerd Moellmann <gerd@gnu.org>
5892
5893 * fns.c (Fmd5): Doc fix.
5894
b5d8d2ca 58952000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5896
5897 * fns.c (Fmd5): New function.
5898 (syms_of_fns): Defsubr md5.
5899
5900 * Makefile.in (obj): Add md5.o
5901
b02cd40b
GM
59022000-11-30 Gerd Moellmann <gerd@gnu.org>
5903
edfb795e
GM
5904 * md5.h, md5.c: New files, taken from glibc.
5905
df3aedcf
GM
5906 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5907
b02cd40b 5908 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5909 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5910
8b5176cd
SM
59112000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5912
5913 * eval.c (Frun_hooks): Allow 0 arguments.
5914
346598f1
GM
59152000-11-29 Gerd Moellmann <gerd@gnu.org>
5916
f9396e03
GM
5917 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5918 is over the menu bar widget, say it's not on the frame.
5919
4a967a9b
GM
5920 * xfns.c (Fx_create_frame): Reintroduce the call to
5921 face-set-after-frame-defaults.
5922
346598f1
GM
5923 * eval.c (Fsignal): Reset handling_signal.
5924
222456a1
JR
59252000-11-28 Jason Rumney <jasonr@gnu.org>
5926
5927 * w32menu.c (add_menu_item): Reset menu item text when changing
5928 type to radio button.
5929
8049ddc0
GM
59302000-11-28 Gerd Moellmann <gerd@gnu.org>
5931
346598f1 5932 * xselect.c: Update copyright.
f4f4ee4d 5933
bebe4a2c
GM
5934 * window.c (coordinates_in_window): If on a mode or header line,
5935 but sufficiently close to its start, return ``on vertical
5936 border''. This gives us a way to drag windows horizontally when
5937 using toolkit scroll bars.
5938
5939 * xterm.c (note_mouse_highlight): Change the cursor shape
5940 on the vertical border between windows.
5941
5942 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5943
5944 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5945 (syms_of_xfns): DEFVAR_LISP it.
5946 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5947
8d2c2642
GM
5948 * textprop.c (text_read_only): New function.
5949 (verify_interval_modification): Use it instead of signaling
5950 `text-read-only'. This makes it easier to catch this error
52283633 5951 with a breakpoint.:
8d2c2642 5952
52283633 5953 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5954 not end of line, which includes CR.
5955
5a2bae6c
KH
59562000-11-28 Kenichi Handa <handa@etl.go.jp>
5957
5958 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5959 include no-conversion.
5960
ae31f84d
JR
59612000-11-27 Jason Rumney <jasonr@gnu.org>
5962
5963 * w32fns.c (w32_load_system_font): Always mark font as double byte
5964 if codepage is unicode.
5965
67f1cf4c
GM
59662000-11-27 Gerd Moellmann <gerd@gnu.org>
5967
4a74d071 5968 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5969 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5970
902ae620
GM
5971 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5972 `vertical-line', `mode-line' and `header-line' events.
5973
5974 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5975 of a character, a TAB for instance. This is easier than to set
5976 up the iterator exactly, and it's not a frequent case, so the
5977 additional effort wouldn't really pay off.
5978
c1e279c2
AC
59792000-11-26 Andrew Choi <akochoi@i-cable.com>
5980
67f1cf4c 5981 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5982 init_window_once.
5983
a609568a
JR
59842000-11-25 Jason Rumney <jasonr@gnu.org>
5985
52283633
SM
5986 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5987 Args to window_from_coordinates should be pixel coordinates.
48b21762 5988
a609568a
JR
5989 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5990 redisplay handles them properly.
5991
a658d039
MB
59922000-11-25 Miles Bader <miles@gnu.org>
5993
5994 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5995
d3416cca
JR
59962000-11-24 Jason Rumney <jasonr@gnu.org>
5997
5998 * w32.c (init_environment): Set LANG environment variable based on
5999 locale settings, if not set.
6000
6001 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6002 making tool bar smaller. When clearing the frame, also
6003 clear current matrices. Clear frame when tool bar disappears.
6004 Don't use more lines for the tool-bar than is available.
6005 (x_change_window_heights): New function.
6006
ba193890
GM
60072000-11-24 Gerd Moellmann <gerd@gnu.org>
6008
2be8f184
GM
6009 * xdisp.c (init_from_display_pos): If POS says we're already after
6010 an overlay string ending at POS, make sure to pop the iterator
6011 because it will be in front of that overlay string. When POS is
6012 ZV, we've thereby also ``processed'' overlay strings at ZV.
6013
ba193890
GM
6014 * xfaces.c (lface_from_face_name): Function comment fix.
6015
1862a24e
MB
60162000-11-24 Miles Bader <miles@gnu.org>
6017
6018 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6019 apply `mode-line-inverse-video' -- zero means force display using
6020 the default face, non-zero means display using the specialized face.
6021 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6022
f07fa1b8
KH
60232000-11-23 Kenichi Handa <handa@etl.go.jp>
6024
6025 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6026 hard coded `4'.
6027
2bcdf662
EZ
60282000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6029
6030 * coding.c (decode_coding_emacs_mule): Fix the case of
6031 CODING_EOL_LF, which used uninitialized value of c.
6032
ba8299ff
SM
60332000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6034
6035 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6036
f4117c4d
GM
60372000-11-22 Gerd Moellmann <gerd@gnu.org>
6038
03e757c1
GM
6039 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6040 buffer object.
6041
f4117c4d
GM
6042 * frame.h (struct frame): Replace desired_tool_bar_items,
6043 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6044 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6045
6046 * frame.c (make_frame): Change initialization of tool bar
6047 items accordingly.
6048
6049 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6050 Change references to members deleted from struct frame to use the
f4117c4d
GM
6051 new ones.
6052
6053 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6054 references to members deleted from struct frame to use the new ones.
f4117c4d 6055
52283633 6056 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6057
6058 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6059
6060 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6061 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6062 from struct frame to use the new ones.
6063
f8e2f3f2
MB
60642000-11-23 Miles Bader <miles@gnu.org>
6065
6066 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6067 the face's inverse-video attribute, rather than overriding it.
6068
60e8e0a5
GM
60692000-11-22 Gerd Moellmann <gerd@gnu.org>
6070
6071 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6072 making tool bar smaller.
6073
92dd1b29
DL
60742000-11-22 Dave Love <fx@gnu.org>
6075
6076 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6077
e672fdce
MB
60782000-11-22 Miles Bader <miles@gnu.org>
6079
3a17d6cc
MB
6080 * keyboard.c (Vminibuffer_message_timeout): New variable.
6081 (command_loop_1): Use it to determine message timeout.
6082 (syms_of_keyboard): Initialize it.
6083
60e8e0a5 6084 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6085
e9655d81
KH
60862000-11-22 Kenichi Handa <handa@etl.go.jp>
6087
6088 * sysdep.c: Move the code for declaring h_errno after #include
6089 <netdb.h>.
6090
77270fac
GM
60912000-11-21 Gerd Moellmann <gerd@gnu.org>
6092
cd913aae
GM
6093 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6094 the menu bar when the tooltip is unmapped.
6095
77270fac
GM
6096 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6097 sole visible buffer when we're currently in the mini-buffer, and
6098 give up if so.
52283633 6099
556635d6
JR
61002000-11-21 Jason Rumney <jasonr@gnu.org>
6101
6102 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6103 put on the clipboard.
6104 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6105 copy of what Emacs last put there. If they are the same, do not
52283633 6106 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6107
5b7bde64
MB
61082000-11-22 Miles Bader <miles@gnu.org>
6109
6110 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6111 (syms_of_minibuf): Initialize it.
6112 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6113 to prompt, don't make read-only.
6114
ff23e1dd
GM
61152000-11-21 Gerd Moellmann <gerd@gnu.org>
6116
52283633
SM
6117 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6118 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6119
7aaf4388
GM
6120 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6121
f5f47add 6122 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6123
ff23e1dd
GM
6124 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6125
37c35586
KH
61262000-11-21 Kenichi Handa <handa@etl.go.jp>
6127
6128 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6129 ... #endif scope.
6130
ff9ab414
GM
61312000-11-20 Gerd Moellmann <gerd@gnu.org>
6132
52283633 6133 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6134 screen supports it.
6135
29a01b72
GM
6136 * s/gnu-linux.h: Don't use `#cpu'.
6137
09dfdf85
GM
6138 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6139 not defined in mman.h.
6140
52283633 6141 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6142 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6143 and store an index in the XClientMessageEvent. Storing a
6144 Lisp_Object or pointer can fail on a 64 bit system, since X only
6145 transfers 32 bits.
52283633
SM
6146 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6147
81459ac9
DL
61482000-11-20 Dave Love <fx@gnu.org>
6149
6150 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6151
56c13ae6
GM
61522000-11-20 Gerd Moellmann <gerd@gnu.org>
6153
6154 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6155
495a6df3
KH
61562000-11-20 Kenichi Handa <handa@etl.go.jp>
6157
2bcf3714
KH
6158 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6159 by WIDTH.
6160
495a6df3
KH
6161 * alloc.c (make_string): Fix previous change. Be sure to make
6162 unibyte string correctly.
6163
6d950f4c
GM
61642000-11-19 Gerd Moellmann <gerd@gnu.org>
6165
39b39373
GM
6166 * window.c (Fwindow_list): Change parameter list to be XEmacs
6167 compatible.
6168 (window_list_1): New function.
6169 (window_loop): Use it instead of Fwindow_list.
6170
b95b34e5
GM
6171 * sysdep.c (emacs_ospeed): New variable.
6172 (toplevel): Don't declare ospeed extern.
6173 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6174
6175 * termcap.c (ospeed): Remove.
6176 (tputs) [!emacs]: Remove unused code.
6177 (tgetent): Avoid a compiler warning.
6178
e83dc917
GM
6179 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6180 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6181 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6182
6183 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6184 removed.
6185 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6186 Take the X display as additional argument.
6187 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6188 `Widget' is a pointer type that's not easily stored in Lisp_Object
6189 form in a portable way.
52283633 6190
6d950f4c
GM
6191 * dispnew.c (update_text_area): Fix last change.
6192
e47306e6
GM
61932000-11-18 Gerd Moellmann <gerd@gnu.org>
6194
fb3cd89b
GM
6195 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6196
6197 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6198 clear current matrices.
6199
edaa9aed
GM
6200 * buffer.c (mmap_enlarge): Don't print a message on stderr
6201 if mapping new memory at the end of the existing region fails.
6202
e47306e6
GM
6203 * dispnew.c (update_text_area): Don't skip over equal glyphs
6204 when the last current glyph overlaps the glyph to its right.
6205
509633e3
MB
62062000-11-18 Miles Bader <miles@gnu.org>
6207
6208 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6209 lines that *end* with "..." too (that's the most common case!).
6210
d392e9c5
GM
62112000-11-18 Gerd Moellmann <gerd@gnu.org>
6212
67988445
GM
6213 * xdisp.c (resize_mini_window): Temporarily change to the
6214 mini-window's buffer if necessary.
1bfdbe43 6215
d392e9c5
GM
6216 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6217 the tooltip obscures less text under it.
6218
62192000-11-17 Gerd Moellmann <gerd@gnu.org>
6220
6221 * puresize.h (BASE_PURESIZE): Increase to 700000.
6222
92bb977f
JR
62232000-11-18 Jason Rumney <jasonr@gnu.org>
6224
6225 * w32term.c (w32_draw_bitmap): Use face to set colors.
6226
26fbf20b
DL
62272000-11-17 Dave Love <fx@gnu.org>
6228
6229 * lread.c (Fload): Fix #ifdef for pcc.
6230
100b593b
GM
62312000-11-17 Gerd Moellmann <gerd@gnu.org>
6232
6233 * xdisp.c (pos_visible_p): Compute the default character height
6234 differently.
6235
a288d0d1
GM
62362000-11-16 Gerd Moellmann <gerd@gnu.org>
6237
cac94de6 6238 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6239 knowing the line's height; use the default font's height in that case.
cac94de6 6240
a288d0d1
GM
6241 * xfaces.c (weight_table): Add `demi' with the same meaning as
6242 `demibold'.
6243
981fb6f6
KH
62442000-11-16 Kenichi Handa <handa@etl.go.jp>
6245
2cca872d 6246 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6247 (clear_glyph_row): Delete local static variable null_row.
6248
e5fa381b
JR
62492000-11-15 Jason Rumney <jasonr@gnu.org>
6250
6251 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6252 (w32_alloc_lighter_color): Use new brightness calculations from
6253 xterm.c. Scale delta to be in the range expected by W32.
6254 (w32_draw_relief_rect): Use frame relief colors.
6255
8e42f043
GM
62562000-11-15 Gerd Moellmann <gerd@gnu.org>
6257
6d133d1f
GM
6258 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6259 (Qinhibit_default_face_x_resources): New variable.
6260 (syms_of_frame): Initialize it.
6261 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6262
6263 * xdisp.c (pos_visible_p): Improve function comment.
6264
6265 * lisp.h (BINDING_STACK_SIZE): New macro.
6266
8e42f043
GM
6267 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6268 reading the directory if readdir returns null and errno is EAGAIN
6269 or EINTR.
6270
e8c87124
SM
62712000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6272
6273 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6274 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6275 Set amount_to_scroll to max of dx and scroll_step so that
6276 scroll-conservatively doesn't defeat scroll-step>1.
6277 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6278 scroll-conservatively for line-at-a-time scrolling.
6279
5f0c971d
GM
62802000-11-14 Gerd Moellmann <gerd@gnu.org>
6281
6282 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6283 extra argument.
6284
6285 * xdisp.c (current_mode_line_height, current_header_line_height):
6286 New variables.
6287 (init_xdisp): Initialize them.
6288 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6289 and use exact mode line heights if it is set.
6290
6291 * lisp.h (pos_visible_p): Change prototype.
6292
6293 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6294 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6295 and current_header_line_height first.
52283633
SM
6296 (current_mode_line_height, current_header_line_height):
6297 Declare extern.
5f0c971d 6298
d7361edf
MB
62992000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6300
6301 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6302 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6303 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6304
ee5e440a
MB
63052000-11-14 Miles Bader <miles@gnu.org>
6306
6307 * xterm.c (x_alloc_lighter_color): Include an additive component
6308 too for dark colors, because FACTOR isn't enough.
6309 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6310 New macros.
6311
5ca020fc
GM
63122000-11-13 Gerd Moellmann <gerd@gnu.org>
6313
6314 * keyboard.c (show_help_echo): Call message3_nolog with number of
6315 bytes in the help string as 2nd parameter, instead of the number
6316 of characters.
6317
9d348294
MB
63182000-11-13 Miles Bader <miles@gnu.org>
6319
6320 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6321 (Fload): Use new openp return protocol.
6322 Don't try to use Vload_source_file_function to load .elc files.
6323 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6324 openp return protocol.
6325 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6326
1729bb9a
KH
63272000-11-11 Kenichi Handa <handa@etl.go.jp>
6328
4e677396
KH
6329 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6330
6331 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6332 Defined these macros.
6333 (NLIST_STRUCT): Avoid re-defining it.
6334
1729bb9a
KH
6335 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6336 -I/usr/contrib/X11R6/include.
6337 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6338
a82fe213
JR
63392000-11-10 Jason Rumney <jasonr@gnu.org>
6340
6341 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6342
6343 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6344 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6345
6346 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6347 (Qw32_charset_vietnamese): New symbol.
6348 (xlfd_charset_of_font): New function.
6349 (w32_load_system_font): Use it.
6350 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6351 when Vw32_charset_info_alist is nil to ensure default face always
6352 has font. Use Fcar and Fcdr for safety.
6353 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6354 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6355 pseudo-codepages for special cases.
6356 (w32_to_x_font): New parameter to allow charset portion to be
6357 specified where there is many to one mapping. Callers changed.
6358 (w32_list_fonts): Avoid listing fonts that won't display.
6359
52d89894
GM
63602000-11-10 Gerd Moellmann <gerd@gnu.org>
6361
6362 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6363 (font_list_1): Renamed from font_list.
6364 (font_list): New function, trying alternative registries from
6365 Vface_alternative_font_registry_alist.
6366 (Finternal_set_alternative_font_registry_alist): New function.
6367 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6368 Vface_alternative_font_registry_alist.
6369 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6370
651cd3da
KR
63712000-11-09 Ken Raeburn <raeburn@gnu.org>
6372
6373 * lisp.h (Flooking_at): Declare.
6374
388ac098
GM
63752000-11-09 Gerd Moellmann <gerd@gnu.org>
6376
778fbc46 6377 * dired.c (directory_files_internal): Fix a braino.
52283633 6378
388ac098
GM
6379 * dired.c (directory_files_internal): Add missing GCPRO's.
6380 Some cleanup.
6381
ecaedde1
GM
63822000-11-08 Gerd Moellmann <gerd@gnu.org>
6383
f7eb32aa
GM
6384 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6385 (resize_mini_window): Return quickly if Vresize_mini_window is
6386 nil. Don't return if Vmax_mini_window_height is nil.
6387
6388 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6389 (syms_of_xdisp): Initialize them.
6390 (resize_mini_window): Act according to the setting of
6391 Vresize_mini_window.
6392 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6393
ecaedde1
GM
6394 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6395 scroll bar widget after configuring it, so that it will appear at
6396 the right position from the start.
6397 (XTredeem_scroll_bar): Cleaned up.
6398
3747ef2c
KH
63992000-11-08 Kenichi Handa <handa@etl.go.jp>
6400
6401 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6402 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6403 division by two.
6404
6405 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6406
03391420
DL
64072000-11-07 Dave Love <fx@gnu.org>
6408
7758f1c1 6409 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6410
6411 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6412
b5de343d
GM
64132000-11-07 Gerd Moellmann <gerd@gnu.org>
6414
acad3c0b
GM
6415 * window.c (Fset_window_configuration): Don't try to preserve
6416 point in the current buffer, if that buffer is displayed in more
6417 than one window.
6418
b5de343d
GM
6419 * xfaces.c (lookup_named_face): If default face isn't realized,
6420 try to realize it. Return -1 if not successful.
6421 (Fx_list_fonts): Handle case that face cannot be determined.
6422 (Fface_font): Likewise.
6423
cdb1fe49
GM
64242000-11-06 Gerd Moellmann <gerd@gnu.org>
6425
6426 * window.c (displayed_window_lines): Detect partially
6427 visible lines at the bottom correctly.
6428
d3a67486
SM
64292000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6430
6431 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6432 when ensuring we don't do visit in indirect buffer.
6433
ff8dd5d5
KH
64342000-11-06 Kenichi Handa <handa@etl.go.jp>
6435
6436 * composite.h (compose_chars_in_text): Add prototype.
6437
6438 * composite.c (Vcomposition_function_table): New variable.
6439 (Qcomposition_function_table): New variable.
6440 (run_composition_function): Call
6441 Vcompose_chars_after_function with three arguments.
6442 (compose_chars_in_text): New function.
6443 (syms_of_composite): Modified the doc-string of
6444 Vcompose_chars_after_function. Declare composition-function-table
6445 as a lisp variable, and initialize it.
6446
6447 * xfns.c (x_encode_text): Suppress producing escape sequences for
6448 composition.
6449
6450 * xselect.c: Include composite.h.
6451 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6452
d1145f85
AI
64532000-11-05 Andrew Innes <andrewi@gnu.org>
6454
6455 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6456
6457 * sysdep.c (read_input_waiting): Remove extraneous argument to
6458 read_socket_hook.
6459
6460 * w32fns.c (Fx_server_version): Include w32_build_number in the
6461 return list.
6462
6463 * w32heap.c (w32_build_number): New variable.
6464 (cache_system_info): Set it.
6465
6466 * w32heap.h (w32_build_number): Add extern.
6467
6468 * emacs.c (syms_of_emacs): Update docstring for
6469 system-configuration, to reflect the actual usage on MS-Windows.
6470
e85ee976
GM
64712000-10-31 Gerd Moellmann <gerd@gnu.org>
6472
26dcb81b
GM
6473 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6474 process idle timers while waiting for another event.
6475
52283633 6476 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6477 the default face are colored.
6478
e85ee976
GM
6479 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6480 window height hasn't changed.
6481
01b220b6
JR
64822000-10-31 Jason Rumney <jasonr@gnu.org>
6483
6484 * w32term.c (x_produce_glyphs): Handle composite characters.
6485 (x_draw_glyph_string_foreground)
6486 (x_draw_composite_glyph_string_foreground): Restore old font.
6487
4e6b7204
MB
64882000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6489
6490 * minibuf.c (read_minibuf): Reset the undo history just before
6491 starting the recursive-edit.
6492
d4358b37
GM
64932000-10-30 Gerd Moellmann <gerd@gnu.org>
6494
563f68f1
GM
6495 * xfaces.c (menu_face_change_count): New variable.
6496 (Finternal_set_lisp_face_attribute): Increment it for changes
6497 of the `menu' face.
6498 (realize_basic_faces): Reflect changes in the `menu' faces
6499 in menu bars.
6500
82e274d1
GM
6501 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6502 dy obtained from the iterator's y-position after moving from
6503 scroll_margin_pos to PT; see comment there.
52283633 6504
0dbf9fd2
GM
6505 * xdisp.c (safe_eval_handler): Call add_to_log.
6506
906b3b14
GM
6507 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6508 is not a symbol or string.
6509
d4358b37
GM
6510 * xdisp.c (echo_area_display): Don't perform a display update from
6511 inside redisplay. The update will happen anyway at the end of
6512 redisplay, and it can confuse redisplay (GC messages while
6513 redisplaying, for instance.)
6514
70c825df
SM
65152000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6516
cf9b4b0b
SM
6517 * xrdb.c (x_load_resources): Use the class name in the defaults.
6518
70c825df
SM
6519 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6520 (regex_compile): Catch bogus \(\1\).
6521
a1d34b1e
GM
65222000-10-30 Gerd Moellmann <gerd@gnu.org>
6523
cae71efe
GM
6524 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6525 RGB values.
52283633 6526
35efe0a1
GM
6527 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6528 we have a color cache, check that the cached color equals the
6529 allocated color. If not, clear the color cache.
6530
1d3baf74
GM
6531 * window.c (displayed_window_lines): Change buffers if necessary.
6532 Fix computation of displayed lines.
6533
a1d34b1e
GM
6534 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6535 update_menu_bindings to DEFVAR_BOOL.
6536
70737ea9
KH
65372000-10-30 Kenichi Handa <handa@etl.go.jp>
6538
70c825df 6539 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6540
fa0cb51d
KH
6541 * puresize.h (BASE_PURESIZE): Increase to 680000.
6542
70737ea9
KH
6543 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6544
0e4c08e8
JR
65452000-10-29 Jason Rumney <jasonr@gnu.org>
6546
6547 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6548
6549 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6550 (w32_cache_char_metrics): Handle possibility that 'x' does not
6551 exist in a BDF font.
6552 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6553
6554 * w32bdf.h (bdffont): Add nchars.
6555
6556 * w32bdf.c (set_bdf_font_info): Set it.
6557 (w32_BDF_TextOut): Swap byte order of double byte characters.
6558 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6559
45b84006
EZ
65602000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6561
6562 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6563 don't override the colors in frame's param_alist, unless they are
6564 unspecified.
6565
6566 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6567 reverse the effect of the highlight flag.
6568
caf9deee
KR
65692000-10-27 Ken Raeburn <raeburn@gnu.org>
6570
6571 * window.h (Fwindow_live_p): Declare.
6572
ae0b9b46
KR
6573 * undo.c (record_delete): Check that last_undo_buffer is really a
6574 buffer before applying XBUFFER to it.
6575
6576 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6577 Faref.
6578
02067692
SM
65792000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6580
6581 * lisp.h (KEYMAPP): New macro.
6582 (get_keymap): Remove.
6583 (get_keymap_1): Rename get_keymap.
6584
6585 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6586
6587 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6588
6589 * xmenu.c (single_submenu): Use KEYMAPP.
6590 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6591 Use KEYMAPP rather than Fkeymapp.
6592
6593 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6594
6595 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6596 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6597 Use KEYMAPP rather than Fkeymapp.
6598 (single_submenu): Use KEYMAPP.
6599 (w32_menu_show, w32_dialog_show): Use TRUE.
6600
6601 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6602
6603 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6604 (Fkeymapp): Use KEYMAPP.
6605 (get_keymap): Rename from get_keymap_1. Remove old def.
6606 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6607 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6608 (Fminor_mode_key_binding): Don't raise an error if the binding
6609 is not a keymap.
6610 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6611 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6612
6613 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6614 Allow Vspecial_event_map to be autoloaded.
6615 (menu_bar_items): Fetch the keymap rather than using keymapp.
6616 (menu_bar_one_keymap): No need to follow func-indirect any more.
6617 (parse_menu_item): get_keymap_1 -> get_keymap.
6618 (tool_bar_items): Fetch the keymap rather than using keymapp.
6619 (read_key_sequence): Use KEYMAPP.
6620
6621 * intervals.c (get_local_map): Use get_keymap rather than following
6622 function-indirections explicitly.
6623
6624 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6625
f9d80af3
JR
66262000-10-27 Jason Rumney <jasonr@gnu.org>
6627
6628 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6629 point, as Windows has oversized fonts.
6630
6631 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6632
a3ba27da
GM
66332000-10-27 Gerd Moellmann <gerd@gnu.org>
6634
6635 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6636 (freehook, reallochook): Handle null pointer arguments.
6637 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6638
aa3b80cc
SM
66392000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6640
6641 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6642 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6643 Giving in to popular pressure to shut up the compiler with casts.
6644
e24e84cc
GM
66452000-10-27 Gerd Moellmann <gerd@gnu.org>
6646
6647 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6648 signed value, and use a default value computed from the font's
6649 maximum descent.
6650
05ea7ef2
MB
66512000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6652
6653 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6654 that specify a negative underline position can still use underlines.
6655
6656 * window.c (Fpos_visible_in_window_p): Make POS default to
6657 WINDOW's point, not the current buffer's point.
6658
0b95284b
DL
66592000-10-26 Dave Love <fx@gnu.org>
6660
6661 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6662 when it's necessary.
6663
6c5b90af
GM
66642000-10-26 Gerd Moellmann <gerd@gnu.org>
6665
8b6d9dc9
GM
6666 * window.c (size_window): Compute size difference from sum of old
6667 child window sizes instead of from parent's size.
6668
6bc92b2e
GM
6669 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6670 Handle obscured lines at the top of the window.
6671
6672 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6673 down after the last error condition check.
6674
6c5b90af
GM
6675 * frame.c (Fdelete_frame): Run delete-frame-hook.
6676
42f92d4d
KH
66772000-10-26 Kenichi Handa <handa@etl.go.jp>
6678
6679 * coding.c (decode_coding): Fix previous change (check also
6680 CODING_MODE_LAST_BLOCK).
6681
d97151cb
SM
66822000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6683
e7efc503
SM
6684 * regex.c: More `unsigned char' -> `re_char' changes.
6685 Also change several `int' into `re_wchar_t'.
6686 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6687 (PUSH_FAILURE_POINTER): Don't cast any more.
6688 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6689 We want GCC to complain, since this piece of code makes
6690 re_match non-reentrant, which *should* be fixed.
6691 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6692 (EXTEND_BUFFER): Use RETALLOC.
6693 (SET_LIST_BIT): Don't cast.
6694 (re_wchar_t): New type.
6695 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6696 that those two functions will always properly return.
6697 (IMMEDIATE_QUIT_CHECK): Cast to void.
6698 (analyse_first): Use recursion rather than an explicit stack.
6699 (re_compile_fastmap): Can't fail anymore.
6700 (re_search_2): Don't check re_compile_fastmap for failure.
6701 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6702 Now also sets the new value (passed in a new argument).
6703 (re_match_2_internal): Use it.
6704 Also, use a new var `reg' of type size_t when looping through regs
6705 rather than reuse the inappropriate `mcnt'.
6706
d97151cb
SM
6707 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6708 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6709 (where_is_internal): Renamed from Fwhere_is_internal.
6710 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6711 (Fwhere_is_internal): New function wrapping where_is_internal.
6712 (where_is_internal_1): Handle the case where we're filling the cache.
6713 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6714
d5789b65
MB
67152000-10-25 Miles Bader <miles@gnu.org>
6716
6717 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6718
4ecda532
GM
67192000-10-25 Gerd Moellmann <gerd@gnu.org>
6720
6721 * window.c (pos_fully_visible_p): Removed.
6722 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6723 if position is visible and/or fully visible.
6724
6725 * lisp.h (pos_visible_p): Add prototype.
6726
6727 * xdisp.c (pos_visible_p): New function.
6728
68c3a137
KH
67292000-10-25 Kenichi Handa <handa@etl.go.jp>
6730
6731 * process.c (send_process): If OBJECT is t, it means that the data
6732 is from C string, but we should encode it. Before calling
6733 setup_raw_text_coding_system, be sure to flush out data by the
6734 previous coding system.
6735
7ae1c032
MB
67362000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6737
ff4dcd4b
MB
6738 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6739 assignment of startpos to prev when startpos == pos.
6740
7ae1c032
MB
6741 * editfns.c (find_field): Set the field stickiness correctly from
6742 overlay fields. Use renamed `text_property_stickiness'.
6743 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6744 Only check text properties, not overlays.
7ae1c032
MB
6745 * textprop.c (get_char_property_and_overlay): New function.
6746 (Fget_char_property): Use it.
6747 * intervals.h (get_char_property_and_overlay): Add declaration.
6748
49801145
SM
67492000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6750
6751 * keymap.c: Use AREF, ASET and ASIZE macros.
6752 (Fmake_sparse_keymap): Docstring fix.
6753 (synkey): Remove.
6754 (shadow_lookup): Move up.
6755 Handle the case where lookup-key returns an integer.
6756 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6757 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6758 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6759 Simplify/rewrite the keymap-finding code.
6760 Add check for command shadowing, using shadow_lookup.
6761
39e776cd
SM
67622000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6763
6764 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6765 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6766 a symbol.
6767
2488aba5
AI
67682000-10-24 Andrew Innes <andrewi@gnu.org>
6769
6770 * dired.c (directory_files_internal_unwind): New function.
6771 (directory_files_internal): Use it to ensure closedir is called
6772 even if expand-file-name or file-attributes throw, eg. because of
6773 a user interrupt. Also enable immediate_quit while calling
6774 re_search, so that matching can be interrupted as well.
6775
b94fdf61
AI
67762000-10-24 Andrew Innes <andrewi@gnu.org>
6777
6778 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6779 NT-Emacs only.
6780 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6781 so that re_search functions only quit when callers expect them to.
6782
67832000-10-24 Kenichi Handa <handa@etl.go.jp>
6784
6785 * regex.c (regex_compile): Change the way of handling a range from
6786 a char less than 256 to a char not less than 256.
6787
1946f901
GM
67882000-10-24 Gerd Moellmann <gerd@gnu.org>
6789
7ae2f10f
GM
6790 * window.c (size_window): Prevent setting window's width or
6791 height to a negative value (esp. with XSETFASTINT).
6792
5dcab13e
GM
6793 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6794 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6795 (protect_malloc_state) [GC_MALLOC_CHECK &&
6796 GC_PROTECT_MALLOC_STATE]: New function.
6797 (PROTECT_MALLOC_STATE): New macro.
6798 (__malloc_initialize, morecore, _malloc_internal)
6799 (_free_internal) _realloc_internal): Use it to make _heapinfo
6800 read-only outside of gmalloc.
6801
63e1b552
GM
6802 * keymap.c: Update copyright.
6803
1946f901
GM
6804 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6805 a symbol.
6806
4fa09beb
GM
68072000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6808
6809 * filelock.c (unlock_all_files): Use unlock_file to expand each
6810 buffer's file_truename before trying remove its lock file.
6811
23afac01
EZ
68122000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6813
6814 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6815 or CRLF, decode EOLs.
6816
04448b95
KH
68172000-10-24 Kenichi Handa <handa@etl.go.jp>
6818
6819 * window.c (Fdisplay_buffer): Fix doc.
6820
3090a5a5
JR
68212000-10-23 Jason Rumney <jasonr@gnu.org>
6822
6823 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6824 ASCII font of default fontset on Windows.
6825
6826 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6827 xterm.c comment below).
6828
6829 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6830
a83fee2c
GM
68312000-10-23 Gerd Moellmann <gerd@gnu.org>
6832
6833 * xterm.c (x_connection_closed): Reset handling_signal.
6834
52283633 6835 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6836
6ffdb539
MB
68372000-10-23 Miles Bader <miles@gnu.org>
6838
6839 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6840 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6841 maintain old behavior.
6842 * minibuf.c (Fminibuffer_complete): Likewise.
6843
7f1c969b
MB
68442000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6845
6846 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6847 that when a font can't be exactly centered, it errs up rather than
6848 down.
6849
23afac01 68502000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6851
52283633 6852 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6853
1a578e9b
AC
68542000-10-23 Andrew Choi <akochoi@i-cable.com>
6855
6856 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6857
6858 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6859 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6860
6861 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6862 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6863 syms_of_search, x_term_init, and init_keyboard before calling
6864 init_window_once. Also, call syms_of_xmenu.
6865
6866 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6867 default fontset to Monaco.
6868
6869 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6870 NewMacWindow and DisposeMacWindow.
6871 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6872 instead of calling NewMacWindow and setting fields of
6873 f->output_data.mac directly. Call init_frame_faces.
6874 (Fdelete_frame) [macintosh]: Remove unused code.
6875 (Fmodify_frame_parameters) [macintosh]: Call
6876 x_set_frame_parameters instead of mac_set_frame_parameters.
6877
6878 * frame.h [macintosh]: Define menu_bar_lines field in struct
6879 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6880
6881 * keyboard.c [macintosh]: Include macterm.h.
6882 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6883 and menu_bar_activate_event type events as for X and NT.
6884 (make_lispy_event) [macintosh]: Construct lisp events of type
6885 MENU_BAR_EVENT as for X and NT.
6886
6887 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6888 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6889 (sys_subshell) [macintosh]: Remove definition entirely.
6890 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6891 Vwindow_system_version here. Remove initialization of
6892 Vx_bitmap_file_path.
6893 (read_input_waiting): Correct the number of parameters passed to
6894 read_socket_hook.
6895 Move all Macintosh functions to mac/mac.c.
6896
6897 * term.c [macintosh]: Include macterm.h.
6898
6899 * window.c [macintosh]: Include macterm.h.
6900
6901 * xdisp.c [macintosh]: Include macterm.h. Declare
6902 set_frame_menubar and pending_menu_activation.
6903 (echo_area_display) [macintosh]: Do not return if terminal frame
6904 is the selected frame.
6905 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6906 Allow only the selected frame to set menu bar.
6907 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6908 calling FRAME_EXTERNAL_MENU_BAR (f).
6909 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6910
6911 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6912 and check_x. Declare XCreateGC. Define x_create_gc and
6913 x_free_gc. Initialize font_sort_order.
6914 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6915 but call x_list_fonts instead of w32_list_fonts.
6916 (Finternal_face_x_get_resource) [macintosh]: Do not call
6917 display_x_get_resource.
6918 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6919 (realize_x_face) [macintosh]: Load the font if it is specified in
6920 ATTRS.
52283633 6921 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6922
1ffbabe3
SM
69232000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6924
6925 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6926 is nil: since we go to the end of submap anyway, we'd end up
6927 setting nil to nil.
6928 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6929 doesn't obey autoload.
6930
bed43f1d
EZ
69312000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6932
1ffbabe3 6933 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6934
ea4233a7
JR
69352000-10-21 Jason Rumney <jasonr@gnu.org>
6936
6937 * w32term.c (w32_cache_char_metrics): Double check that font is
6938 really fixed pitch before trusting tmPitchAndFamily.
6939
f3d3c491
AI
69402000-10-21 Andrew Innes <andrewi@gnu.org>
6941
6942 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6943
6944 * w32term.h: Extern decl for w32_cache_char_metrics.
6945
6946 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6947
6948 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6949 (w32_unload_font): Free per_char array if present.
6950
6951 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6952 cached information in emulated XFontStruct to handle common cases
6953 quickly. Do not allocate XCharStruct for return.
6954 (w32_native_per_char_metric): New function.
6955 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6956 allocating one.
6957 (x_produce_glyphs): Don't get an HDC. Change calls to
6958 w32_per_char_metric to match arg change above. Remove calls to
6959 free results.
6960 (w32_get_glyph_overhangs): Ditto.
6961 (w32_cache_char_metrics): New function.
6962
6963 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6964 ($(BLD)/casefiddle.$(O)): Remove compile command.
6965 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6966 ($(BLD)/dispnew.obj):
6967 ($(BLD)/keyboard.obj):
6968 ($(BLD)/w32inevt.obj):
6969 ($(BLD)/w32bdf.obj):
6970 ($(BLD)/alloc.obj):
6971 ($(BLD)/buffer.obj):
6972 ($(BLD)/editfns.obj):
6973 ($(BLD)/emacs.obj):
6974 ($(BLD)/fileio.obj):
6975 ($(BLD)/fns.obj):
6976 ($(BLD)/indent.obj):
6977 ($(BLD)/insdel.obj):
6978 ($(BLD)/intervals.obj):
6979 ($(BLD)/minibuf.obj):
6980 ($(BLD)/print.obj):
6981 ($(BLD)/scroll.obj):
6982 ($(BLD)/sysdep.obj):
6983 ($(BLD)/textprop.obj):
6984 ($(BLD)/widget.obj):
f3d3c491
AI
6985 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6986 ($(BLD)/term.obj): Add dependency on dispextern.h.
6987
52283633
SM
6988 * makefile.nt ($(BLD)\dispnew.obj):
6989 ($(BLD)\keyboard.obj):
6990 ($(BLD)\w32inevt.obj):
6991 ($(BLD)\w32bdf.obj):
6992 ($(BLD)\alloc.obj):
6993 ($(BLD)\buffer.obj):
6994 ($(BLD)\editfns.obj):
6995 ($(BLD)\emacs.obj):
6996 ($(BLD)\fileio.obj):
6997 ($(BLD)\fns.obj):
6998 ($(BLD)\indent.obj):
6999 ($(BLD)\insdel.obj):
7000 ($(BLD)\intervals.obj):
7001 ($(BLD)\minibuf.obj):
7002 ($(BLD)\print.obj):
7003 ($(BLD)\scroll.obj):
7004 ($(BLD)\sysdep.obj):
7005 ($(BLD)\textprop.obj):
7006 ($(BLD)\widget.obj):
f3d3c491
AI
7007 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7008 ($(BLD)\term.obj): Add dependency on dispextern.h
7009
18ad4821
EZ
70102000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7011
7012 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7013 with an additional argument of Qt.
7014
de54681a
MB
70152000-10-21 Miles Bader <miles@gnu.org>
7016
7017 * window.c (pos_fully_visible_in_window_p): New function.
7018 (Fpos_visible_in_window_p): Add FULLY argument.
7019 Use pos_fully_visible_in_window_p.
7020 (window_scroll_pixel_based, window_scroll_line_based): Update
7021 calls to Fpos_visible_in_window_p.
7022 * lisp.h (Fpos_visible_in_window_p): Update prototype
7023
13c844fb
GM
70242000-10-20 Gerd Moellmann <gerd@gnu.org>
7025
7026 * alloc.c (toplevel): Conditionalize compilation of mem_*
7027 functions differently.
52283633 7028
d9506268
JR
70292000-10-20 Jason Rumney <jasonr@gnu.org>
7030
7031 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7032 mem_init where it used to be. mem_z etc not defined otherwise.
7033
8094989b
GM
70342000-10-20 Gerd Moellmann <gerd@gnu.org>
7035
7036 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7037 GC_MALLOC_CHECK.
7038 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7039 structure definition and related variabled to the top of the file.
7040 Include this code when GC_MALLOC_CHECK is defined.
7041 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7042 register/unregister allocated region.
7043 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7044 which isn't allocated.
7045 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7046 something which is already in use.
7047 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7048 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7049 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7050 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7051
7052 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7053 _malloc_internal instead of malloc.
7054 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7055 of free.
7056
ea456eb4
AI
70572000-10-20 Andrew Innes <andrewi@gnu.org>
7058
7059 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7060 Windows.
7061 (my_strftime) <macro>: Don't use macro arg list when redefining as
7062 _strftime_copytm.
7063 (my_strftime) <function>: Supply 0 as ut argument.
7064
e64c3a75
JR
70652000-10-19 Jason Rumney <jasonr@altavista.net>
7066
7067 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7068 including dispextern.h, as it stops faces from working.
7069
7070 * w32fns.c (Fx_create_frame): Don't bother calling
7071 face-set-after-frame-default since the caller does it for us
7072 anyway. Clean up calls to x_get_arg to be consistent with X.
7073
7074 * w32term.c (x_produce_glyphs): Handle
7075 unibyte_display_via_language_environment correctly.
7076 (w32_draw_box_rect): Fix the calculation of width and height.
7077
7078 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7079 as it has stopped working.
7080 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7081 menu-bar.
7082
17401c97
GM
70832000-10-19 Gerd Moellmann <gerd@gnu.org>
7084
7085 * eval.c (skip_debugger): Prevent a compiler warning.
7086 (Fcondition_case): Likewise.
7087 (Fbacktrace_frame): Use a null interactive spec.
7088
773272d8
KH
70892000-10-19 Kenichi Handa <handa@etl.go.jp>
7090
7091 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7092
a42943e9
GM
70932000-10-18 Gerd Moellmann <gerd@gnu.org>
7094
e50517d9
GM
7095 * strftime.c: Sync with glibc, file version 1.78.
7096 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7097 should no longer be used according to ISO 8601.
7098
9035a35a
GM
7099 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7100 no map for meta_prefix_char, don't try to use it as a keymap.
7101 Instead, if T_OK is non-zero, look up a default binding, if any,
7102 otherwise, if T_OK is zero, return nil.
7103
a42943e9
GM
7104 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7105 (x_to_xcolors, png_load): Use x_query_color.
7106
52283633
SM
7107 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7108 New functions.
a42943e9
GM
7109 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7110 which can be slow.
7111 (x_copy_color, x_alloc_lighter_color): Likewise.
7112
7113 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7114 (x_query_color, x_query_colors): Add prototype.
7115
7116 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7117 check_string_bytes only if not noninteractive, increase count to 50.
7118
00de2987
MB
71192000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7120
7121 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7122 markers correctly.
7123
54918e2b
GM
71242000-10-17 Gerd Moellmann <gerd@gnu.org>
7125
1f0b3fd2
GM
7126 * alloc.c (pure_bytes_used): Renamed from pureptr.
7127 (ALIGN): New macro.
7128 (pure_alloc): New function.
7129 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7130 Use it.
7131 (Fpurecopy): Use PURE_POINTER_P.
7132
68c5d1db
GM
7133 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7134 PT has moved backward.
52283633 7135
9a038881
GM
7136 * xdisp.c (cursor_row_p): Take continued lines into account.
7137
361b097f
GM
7138 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7139 string's size_byte.
7140 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7141 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7142 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7143 string allocated.
7144
54918e2b
GM
7145 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7146 of selective display off while searching for the next line start.
7147
03ed0806
KH
71482000-10-17 Kenichi Handa <handa@etl.go.jp>
7149
7150 * Makefile.in (term.o): Depend on dispextern.h.
7151
7e05cdaf
SM
71522000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7153
7154 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7155
a6801fd1
GM
71562000-10-16 Gerd Moellmann <gerd@gnu.org>
7157
483de32b
GM
7158 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7159 the iterator at the beginning, so that they can be set later on,
7160 for instance in reseat_at_next_visible_line_start, without being
7161 overwritten.
7162
a6801fd1
GM
7163 * xfns.c (pbm_format): Add :foreground and :background keywords.
7164 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7165 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7166
dbf1fcc1
EZ
71672000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7168
7169 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7170
52283633 7171 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7172
7173 * msdos.c (IT_set_face): Compare highlighted face with the default
7174 face, and invert colors if these faces' colors are identical.
7175 (Fmsdos_remember_default_colors): Don't swap foreground and
7176 background colors in initial_colors[].
7177 (IT_set_frame_parameters): Don't swap frame's foreground and
7178 background pixels. If ALIST includes "(reverse . t)", swap
7179 foreground-color and background-color properties in frame's
7180 param_alist. If the original frame's param_alist doesn't specify
7181 the colors, store unspecified-fg and unspecified-bg, reversed if
7182 required.
7183
7184 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7185 the colors are unspecified and reversed, reverse fore- and back-
7186 ground in the returned value.
7187 (Fframe_parameter): Ditto.
7188
b41fe2c3 71892000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7190
3a6b59d9
GM
7191 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7192 get_last_unchanged_at_beg_row.
7193 (find_first_unchanged_at_end_row): Renamed from
7194 get_first_unchanged_at_end_row.
7195 (find_first_unchanged_at_end_row): Convert assertions to
7196 unconditional tests which abort. When looking for a row in
7197 unchanged text, don't go further back than first_text_row.
7198
b41fe2c3
GM
7199 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7200 Don't add in the last line's height when deciding if the new
7201 position is below the scroll margin.
9d1af64f 7202
b41fe2c3 72032000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7204
7205 * editfns.c (Fconstrain_to_field): Check carefully for field
7206 boundaries if either OLD_POS or NEW_POS has a non-nil field
7207 property, even if they're the same.
7208
c412cb7b
KH
72092000-10-16 Kenichi Handa <handa@etl.go.jp>
7210
7211 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7212 height for XFillRectangle.
7213
5586f3eb
SM
72142000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7215
7216 * syntax.c (Fstring_to_syntax): New function extracted from
7217 Fmodify_syntax_entry.
7218 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7219 (skip_chars, Fforward_comment): Remove unused variables.
7220 (syms_of_syntax): Add defsubr for string-to-syntax.
7221 (describe_syntax): Add code for comment and string fences.
7222
db785038
SM
72232000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7224
7225 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7226 Do the meta->esc mapping. Call get_keyelt before returning.
7227 Start scanning from the second element (the first is always `keymap')
7228 to make it easier to detect when we reach a parent map.
7229 Handle the case of inheriting from a symbol whose function is a map.
7230 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7231 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7232 (get_keyelt, Flookup_key): Update call to access_keymap.
7233 Remove the meta->esc mappings.
7234 (define_as_prefix): Delete old disabled code.
7235 (menu_item_p): New function.
7236 (where_is_internal_1): Skip over the few remaining menu items.
7237 * lisp.h (access_keymap): Update prototype.
7238 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7239 Update call to access_keymap.
7240 (follow_key, read_key_sequence): Update calls to access_keymap.
7241 Remove the meta->esc mappings.
7242
cafafe0b
GM
72432000-10-13 Gerd Moellmann <gerd@gnu.org>
7244
a2e2a7f6
GM
7245 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7246 with additional argument.
7247
cafafe0b
GM
7248 * xdisp.c (cursor_row_p): New function.
7249 (try_cursor_movement, display_line): Use it.
52283633 7250
cafafe0b
GM
7251 * xdisp.c (append_space): Also save/restore iterator's current
7252 character and its length.
7253
7254 * xdisp.c (init_from_display_pos): Add an assertion.
7255 (handle_stop): Don't set iterator's add_overlay_start.
7256 (handle_invisible_prop): Likewise.
7257 (load_overlay_strings): If text under an overlay is invisible,
7258 take both before- and after-strings into account when the iterator
7259 is positioned either at the start or at the end of the overlay.
7260 (forward_to_next_line_start): Rewritten.
7261 (reseat_at_next_visible_line_start): Rewritten.
7262 (set_iterator_to_next): Add parameter RESEAT_P.
7263
7264 * dispextern.h (struct it): Remove member add_overlay_start.
7265 (set_iterator_to_next): Change prototype.
7266
c744452b
KH
72672000-10-13 Kenichi Handa <handa@etl.go.jp>
7268
7269 * coding.c (code_convert_region): Be sure to initialize
7270 coding->category_idx.
e4a3f4e1
KH
7271 (decode_coding_string): Set coding->src_multibyte and
7272 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7273 (encode_coding_string): Set coding->src_multibyte and
7274 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7275
321fd26f
SM
72762000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7277
7278 * xfns.c (Fx_create_frame): Don't bother calling
7279 face-set-after-frame-default since the caller does it for us anyway.
7280
76832439
EZ
72812000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7282
7283 * window.c (coordinates_in_window): Fix detection of vertical line
7284 on character terminals.
7285
2483cf58
GM
72862000-10-12 Gerd Moellmann <gerd@gnu.org>
7287
7288 * editfns.c (save_excursion_save): Additionally record the
7289 selected window.
7290 (save_excursion_restore): If buffer was visible in a window, and a
7291 different window was selected, and the old selected window is
7292 still live, restore point in that window.
7293
eb991b25
KH
72942000-10-12 Kenichi Handa <handa@etl.go.jp>
7295
8a0eba09
KH
7296 * xterm.c (x_produce_glyphs): Handle
7297 unibyte_display_via_language_environment correctly.
7298
20401fcc
KH
7299 * regex.c (regex_compile): Change the way of handling a range from
7300 unibyte char to multibyte char.
7301
7302 * syntax.c (skip_chars): Change the way of handling a range from
7303 unibyte char to multibyte char.
7304
eb991b25
KH
7305 * process.c (read_process_output): Cancel previous change.
7306
365dd325
EZ
73072000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7308
c1b096cb
EZ
7309 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7310
365dd325
EZ
7311 * charset.c (Ffind_charset_string): Doc fix.
7312 (Ffind_charset_region): Doc fix.
7313
eb483c2b
KH
73142000-10-11 Kenichi Handa <handa@mule.m17n.org>
7315
7316 * process.c (read_process_output): Fix previous change. Adjust
7317 multibyteness of text to insert in a buffer by
52283633 7318 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7319
b40bfb99
AS
73202000-10-10 Andreas Schwab <schwab@suse.de>
7321
7322 * alloc.c (mark_object): Remove all workarounds installed on
7323 1993-08-08.
7324
caff31d4
KH
73252000-10-10 Kenichi Handa <handa@etl.go.jp>
7326
52283633 7327 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7328 (base64_encode_1): Make it work for a text of multibyte form.
7329 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7330 case. Don't call str_to_multibyte because base64_decode_1
7331 produces correct multibyte form for eight-bit codes.
52283633 7332 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7333 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7334 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7335 codes.
7336
7337 * charset.h (CHAR_STRING): Optimized for single byte characters.
7338
cba026ef
AS
73392000-10-09 Andreas Schwab <schwab@suse.de>
7340
7341 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7342 -1 after socket is closed, to fall through to error processing.
7343
1e21fe48
EZ
73442000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7345
7346 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7347 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7348 background-color, change also the colors of the default face for
7349 this frame.
7350
a640322e
EZ
73512000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7352
7353 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7354 them extern (they are defined on xfaces.c).
7355 (syms_of_msdos): Don't intern and don't staticpro
7356 Qbackground_color and Qforeground_color.
7357
a115794c
EZ
73582000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7359
7360 * frame.c (Fframe_parameter): For non-windowed frames, if
7361 f->param_alist says foreground or background color is unspecified,
7362 call tty_color_name to return the color name computed from the
7363 frame's current colors.
7364
f5533b63
DL
73652000-10-06 Dave Love <fx@gnu.org>
7366
7367 * terminfo.c (ospeed): Don't declare.
7368
7369 * sysdep.c: Don't include string.h.
7370 (h_errno): Declare conditional also on TRY_AGAIN.
7371
7372 * charset.c (Ffind_charset_string): Doc fix.
7373
52283633 7374 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7375 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7376 error messages.
7377
2b06561a
DL
73782000-10-05 Dave Love <fx@gnu.org>
7379
7380 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7381 position like menu-bar.
7382
ca839c85
GM
73832000-10-05 Gerd Moellmann <gerd@gnu.org>
7384
7385 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7386
7387 * xdisp.c (handle_single_display_prop): Use safe_call1.
7388 (safe_call): Renamed from call_function.
7389 (safe_call1): New function.
7390 (handle_fontified_prop): Use safe_call1 instead of call1.
7391 (safe_eval): Renamed from eval_form.
7392 (safe_eval_handler): Renamed from eval_handler.
7393 (handle_single_display_prop, display_mode_element): Use safe_eval
7394 instead of eval_form.
7395
7396 * xfaces.c (merge_face_heights): Use safe_call instead of
7397 call_function.
7398
7399 * keyboard.c (show_help_echo): Use safe_call instead of
7400 call_function; use safe_eval instead of eval_form.
7401
7402 * lisp.h (safe_call): Renamed from call_function.
7403 (safe_eval): Renamed from eval_form.
7404 (safe_call1): Add prototype.
7405
a3489ece
MB
74062000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7407
7408 * xfns.c (image_ascent): Rearrange ascent calculation for the
7409 has-a-font case.
7410
35810b6f
SM
74112000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7412
7413 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7414 (where_is_internal_1): Don't bother ignoring menu-items any more.
7415
3dc78168
GM
74162000-10-04 Gerd Moellmann <gerd@gnu.org>
7417
7418 * keyboard.c (update_menu_bindings): New variable.
7419 (parse_menu_item): Use AREF. If update_menu_bindings
7420 is 0, don't update menu bindings.
7421 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7422
1efc2bb9
EZ
74232000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7424
7425 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7426 to `mark_object'.
7427
3f679f55
SM
74282000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7429
7430 * syntax.c (forw_comment): Match nestedness of ender/starter.
7431 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7432 (prev_char_comstart_first): Remove.
7433 (back_comment): Check two-char comment markers more carefully
7434 to better handle overlapping cases like *//* or /* */* */ ...
7435 Match nestedness of ender/starter.
7436
2021ab61
DL
74372000-10-02 Dave Love <fx@gnu.org>
7438
7439 * config.in (HAVE_GAI_STRERROR): Add undef.
7440
7441 * process.c (Fopen_network_stream): Use it.
7442
7443 * m/alpha.h (NO_REMAP): Don't define.
7444
64e6cc18
GM
74452000-10-02 Gerd Moellmann <gerd@gnu.org>
7446
7447 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7448 return with a string converted to an integer or vice versa when
7449 Vmocklisp_arguments is t.
7450 (Fsignal): Likewise. The function can return for `quit'.
7451 (struct gcpro): Declare member `var' to point to a volatile
7452 Lisp_Object.
7453
7454 * eval.c (error): Prevent compiler warning.
7455
b1904cd9
SM
74562000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7457
7458 * keymap.c (keymap_memberp): New function.
7459 (Fset_keymap_parent): Use it.
7460 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7461 Use keymap_memberp to avoid creating cycles.
7462 (access_keymap): Use KEYMAPP.
7463
71c9ec51
GM
74642000-09-30 Gerd Moellmann <gerd@gnu.org>
7465
7466 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7467 gai_strerror. Make sure xerrno is set if connect fails. Improve
7468 error recovery.
71c9ec51 7469
c70c6b58
JR
74702000-09-29 Jason Rumney <jasonr@gnu.org>
7471
7472 * w32term.c (w32_char_font_type, w32_encode_char)
7473 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7474 (w32_bdf_per_char_metric): New function.
7475 (w32_per_char_metric): Use it.
7476 (x_draw_glyph_string_background): Always draw background for BDF
7477 glyphs.
7478
7479 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7480 GDI object which is a scarce resource.
7481
7482 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7483 (get_quoted_string): Fix limit on memchr search.
7484 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7485 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7486 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7487 (get_cached_font_char, cache_char_offset): Use macro
7488 BDF_CODEPOINT_RANGE_COVER_P.
7489 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7490 (clear_cached_bitmap_slots): New function.
7491 (GET_HEX_VALUE): G-Z, g-z are not hex.
7492 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7493 (get_bitmap_with_cache): Use new cache implementation.
7494 (create_offscreen_bitmap): New function.
7495 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7496
7497 * w32term.c (x_produce_glyphs): If the distance from the current
7498 position to the next tab stop is less than a canonical character
7499 width, use the tab stop after that.
7500 (x_draw_glyphs): Handle case START and END are out of bounds more
7501 carefully.
7502 (x_clear_mouse_face): Block/unblock input.
7503 (x_display_and_set_cursor): Don't show a hollow box cursor for
7504 buffers whose cursor_type is nil.
7505
fe01239f
GM
75062000-09-29 Gerd Moellmann <gerd@gnu.org>
7507
52283633 7508 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7509
7510 * dispextern.h (updating_frame): Declare extern.
7511
e7c52f1f
AS
75122000-09-29 Andreas Schwab <schwab@suse.de>
7513
7514 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7515
de6e1f7c
GM
75162000-09-29 Gerd Moellmann <gerd@gnu.org>
7517
25126faa
GM
7518 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7519 use its function definition.
7520 (tool_bar_items): Likewise.
7521
de6e1f7c 7522 * lisp.h (fatal): Declare NO_RETURN.
52283633 7523
454ee39b
KH
75242000-09-29 Kenichi Handa <handa@etl.go.jp>
7525
7526 * keymap.c: Remove the line "#undef NULL".
7527
96301c5f
GM
75282000-09-28 Gerd Moellmann <gerd@gnu.org>
7529
52283633 7530 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7531
efffeeb4
DL
75322000-09-28 Dave Love <fx@gnu.org>
7533
ecb8b666
DL
7534 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7535
dc3cd20f
DL
7536 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7537
7538 * .gdbinit (xreload): Note its need on GNU/Linux.
7539
efffeeb4
DL
7540 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7541 r_alloc, r_alloc_free.
7542
8610d903
KH
75432000-09-28 Kenichi Handa <handa@etl.go.jp>
7544
7545 * syntax.c (skip_chars): Handle negation correctly.
7546
8901d1ac
GM
75472000-09-27 Gerd Moellmann <gerd@gnu.org>
7548
6f22f1ad
GM
7549 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7550 with non-zero FORCE_P argument.
7551
52283633 7552 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7553 Add assertions.
7554
7555 * xdisp.c (window_box_height): Add an assertion.
7556
7557 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7558 tool-bar than is available.
7559 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7560
36f1966f
DL
75612000-09-27 Dave Love <fx@gnu.org>
7562
efffeeb4 7563 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7564
31d929e5
GM
75652000-09-26 Gerd Moellmann <gerd@gnu.org>
7566
c98863bf
GM
7567 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7568 instead of BITS_PER_INT.
7569 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7570 EMACS_UINT, respectively.
7571 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7572
7573 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7574
7575 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7576
77072ab1
GM
7577 * window.c (freeze_window_starts): Construct last argument for
7578 foreach_window differently.
7579
7580 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7581
7582 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7583 EMACS_UINT instead of `int' and `unsigned int'.
7584 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7585
7586 * frame.h (struct frame): Make the `nothing' member of union
7587 output_data an EMACS_INT.
7588
52283633 7589 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7590 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7591 size in the sdata structure.
7592 (SDATA_NBYTES, SDATA_DATA): New macros.
7593 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7594 differently for the different layout of the sdata structure.
7595 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7596 in sdata.
7597 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7598 Check that size recorded in the string size and size recorded in
7599 the sdata structure agree.
7600
3e60b029
DL
76012000-09-25 Dave Love <fx@gnu.org>
7602
7603 * buffer.c: Include stdio.h.
7604
7605 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7606
3e60b029
DL
7607 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7608
7609 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7610 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7611 (__malloc_extra_blocks): Declare as __malloc_size_t.
7612
8ff16b4e
GM
76132000-09-25 Gerd Moellmann <gerd@gnu.org>
7614
755a2ccd
GM
7615 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7616
d8b4516f
GM
7617 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7618 (read_char): If help-echo is showing, preserve the echo area
7619 when redisplaying.
7620
7621 * xdisp.c (help_echo_showing_p): New variable.
7622 (set_message): Reset it to 0.
7623 (init_xdisp): Initialize help_echo_showing_p.
7624
7625 * dispextern.h (help_echo_showing_p): Declare extern.
7626
7627 * config.in: Fix typo in __GNUC_MINOR__.
7628
7629 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7630
b11af2dd
GM
7631 * s/freebsd.h (POSIX_SIGNALS): Define.
7632
8ff16b4e
GM
7633 * xterm.c (x_clear_mouse_face): Block/unblock input.
7634
844eb643
DL
76352000-09-24 Dave Love <fx@gnu.org>
7636
7637 * fns.c (base64_encode_1): Fix last change.
7638
b30ab1b3
GM
76392000-09-22 Gerd Moellmann <gerd@gnu.org>
7640
7641 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7642
7643 * xdisp.c (try_window_reusing_current_matrix): More fixes
7644 for the case window has a header-line.
7645
c6cbe5f0
DL
76462000-09-22 Dave Love <fx@gnu.org>
7647
4c7c1f3f
DL
7648 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7649 a doc string.
7650
7651 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7652
c6cbe5f0
DL
7653 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7654
550a625e
GM
76552000-09-21 Gerd Moellmann <gerd@gnu.org>
7656
4c7c1f3f 7657 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7658 for GCC >= 2.5.
7659
52283633
SM
7660 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7661 Declare NO_RETURN.
fca99116 7662
80d26f99
GM
7663 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7664 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7665 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7666 warnings.
52283633 7667
80d26f99
GM
7668 * marker.c (byte_char_debug_check): Return void.
7669
623a0aae
GM
7670 * xfns.c (Fx_create_frame): Set default frame parameter value
7671 for tool-bar-lines to 1.
7672
7673 * dispnew.c (scrolling_window): Compare y-positions of rows
7674 equal at the start. Some simplification.
7675
7676 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7677 reused rows' y-position in the case window has a header-line, and
7678 new window start is greater than old window start.
7679
42ac0ae5
GM
7680 * process.c (process_sent_to): New variable.
7681 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7682 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7683 Declare more parameters volatile.
7684
550a625e
GM
7685 * lread.c (Vrecursive_load_depth_limit): New variable.
7686 (Fload): Check recursive loads whose recursion depth exceeds
7687 Vrecursive_load_depth_limit.
7688 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7689
8320414c
GM
76902000-09-20 Gerd Moellmann <gerd@gnu.org>
7691
f46c275e
GM
7692 * fileio.c (Fread_file_name): Doc fix.
7693
7694 * editfns.c (Fmessage_or_box): Doc fix.
7695
7696 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7697
b7e11c5b 7698 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7699
8320414c
GM
7700 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7701 symbols are specified, add color translations to the cache.
52283633 7702 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7703 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7704 xpm_cache_color.
7705 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7706 structures to xpm_init_color_cache.
7707
da1608d9
GM
77082000-09-19 Gerd Moellmann <gerd@gnu.org>
7709
52283633 7710 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7711
6badfa25
AI
77122000-09-19 Andrew Innes <andrewi@gnu.org>
7713
7714 * makefile.nt (bootstrap-emacs): Don't change directory.
7715
3a5f42bb
KH
77162000-09-19 Kenichi Handa <handa@etl.go.jp>
7717
1b7649bd
KH
7718 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7719
3a5f42bb
KH
7720 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7721 If output buffer is too small, signal an appropriated error.
7722
9f83cf0b
DL
77232000-09-18 Dave Love <fx@gnu.org>
7724
52283633 7725 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7726 (current_active_maps): Remove redundant get_local_map call.
7727
28c7826c
GM
77282000-09-18 Gerd Moellmann <gerd@gnu.org>
7729
5cefa566
GM
7730 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7731 cursor for buffers whose cursor_type is nil.
52283633 7732
6fed3546
GM
7733 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7734 a feature to implement that is already implemented.
7735 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7736 warnings.
7737
7738 * xfns.c (x_clear_image_1): New function.
7739 (x_clear_image): Use it.
52283633 7740 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7741
05b1f851
GM
7742 * dispnew.c (update_window): Move test for invisible lines
7743 at the top to update_window_line.
7744 (update_window_line): Handle invisible lines here.
7745
f4779de9
GM
7746 * xfns.c (clear_image_cache): Clear current matrices of all
7747 frames sharing an image cache. Block input while freeing
7748 images. Fix timestamp comparison.
7749 (x_clear_image): Also free the mask.
7750
28c7826c
GM
7751 * xfns.c (lookup_image): Block input while loading the image so
7752 that we won't get interrupted in a state where the image isn't yet
7753 set up completely.
7754 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7755 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7756 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7757 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7758
b7412313
GM
77592000-09-16 Gerd Moellmann <gerd@gnu.org>
7760
7761 * dispnew.c (update_window): Make sure to make desired rows
7762 current even if they are completely invisible at the top
7763 of a window.
7764
47e351a3
GM
77652000-09-15 Gerd Moellmann <gerd@gnu.org>
7766
7f8f1edc
GM
7767 * xfns.c (lookup_image): Build mask before applying an algorithm.
7768 Recognize algorithm `disabled'.
7769 (cross_disabled_images): New variable.
7770 (COLOR_INTENSITY): New macro.
7771 (x_detect_edges): Use COLOR_INTENSITY.
7772 (x_disable_image): New function.
7773 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7774
7775 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7776 disabled state, don't apply an image transformation algorithm if
7777 the user specified an image for the disabled state. Use
28c7826c 7778 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7779 user hasn't specified an image.
7780
ebb8f116
GM
7781 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7782 allocation functions with the XPM lib.
7783 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7784 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7785 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7786 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7787 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7788 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7789 functions, if possible, because these handle color allocation
7790 failure more gracefully.
7791 (Fimage_mask_p): New function.
7792
47e351a3
GM
7793 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7794 (Qedge_detection, Qheuristic): New symbols.
7795 (syms_of_xfns): Initialize new symbols.
7796 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7797 `algorithm (edge-detection ...)'.
7798 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7799 (tiff_format, gif_format, gs_format): Add `:mask'.
7800 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7801 (GIF_MASK, GS_MASK): New enumerators.
7802 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7803 (emboss_matrix, laplace_matrix): New variables.
7804 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7805 (x_edge_detection): New functions.
7806 (x_laplace): Rewritten in terms of x_detect_edges.
7807 (x_build_heuristic_mask): If image has a mask, free it.
7808
fe83b953
AI
78092000-09-14 Andrew Innes <andrewi@gnu.org>
7810
7811 * makefile.w32-in: Revert to Unix line endings.
7812
3021e816
AI
78132000-09-14 Andrew Innes <andrewi@gnu.org>
7814
7815 * makefile.w32-in: Standardize indentation somewhat.
7816 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7817 cater for differences between shells.
7818
7819 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7820
2a32b5ea
GM
78212000-09-14 Gerd Moellmann <gerd@gnu.org>
7822
7823 * xterm.c (x_produce_glyphs): If the distance from the current
7824 position to the next tab stop is less than a canonical character
7825 width, use the tab stop after that.
7826
b4331e96
DL
78272000-09-14 Dave Love <fx@gnu.org>
7828
7829 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7830
ef9e4345
GM
78312000-09-14 Gerd Moellmann <gerd@gnu.org>
7832
085536c2
GM
7833 * xdisp.c (handle_fontified_prop): While running fontification
7834 functions, bind `fontification-functions' and
7835 `after-change-functions' to nil.
7836
ef9e4345
GM
7837 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7838 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7839
7840 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7841
7842 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7843 USE_MMAP_FOR_BUFFERS.
7844
7845 * insdel.c (make_gap): Use enlarge_buffer_text.
7846
7847 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7848 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7849 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7850 from former r_alloc_* functions in ralloc.c.
52283633 7851 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7852 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7853 (mmap_init) [REL_ALLOC_MMAP]: New function.
7854 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7855 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7856 BUFFER_FREE.
7857
7858 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7859 (enlarge_buffer_text): Add prototype.
7860
7861 * ralloc.c: Remove everything having to do with the use of mmap.
7862
f8608968
GM
78632000-09-13 Gerd Moellmann <gerd@gnu.org>
7864
2a494b2d
GM
7865 * sound.c (Fplay_sound): Doc fix.
7866
8c907a56
GM
7867 * keyboard.c: Avoid some more compiler warnings.
7868 (parse_tool_bar_item): Ignore cached key bindings.
7869
f8608968
GM
7870 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7871 and allocation of Lisp data.
7872
6ab70e9a
GM
78732000-09-12 Gerd Moellmann <gerd@gnu.org>
7874
d12d0a9b
GM
7875 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7876 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7877 defaults first.
7878
6ab70e9a
GM
7879 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7880
63c36c3c
KH
78812000-09-12 Miyashita Hisashi <himi@meadowy.org>
7882
7883 * ccl.c: Comment fixed.
7884 (MAX_MAP_SET_LEVEL): Increased to 30.
7885 (PUSH_MAPPING_STACK): Enclose with do-while block.
7886 (POP_MAPPING_STACK): Likewise.
7887 (stack_idx_of_map_multiple): New variable.
7888 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7889 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7890 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7891 (ccl_driver) <CCL_MapSingle>: Likewise.
7892 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7893 with the case where looking up process reaches to the end of
7894 map-set, and call CCL programs as the above change.
7895
7ee3bd7b
GM
78962000-09-11 Gerd Moellmann <gerd@gnu.org>
7897
8ec8a5ec
GM
7898 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7899 that might be clobbered by longjmp.
7900 (check_x_display_info, x_decode_color, create_frame_xic)
7901 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7902 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7903
f74b0705
GM
7904 * lread.c (init_lread): Set Vloads_in_progress to nil.
7905 (Fload): Show list of recursively loaded files, when signaling an
7906 error.
7907
7ee3bd7b
GM
7908 * lread.c (Vloads_in_progress): New variable.
7909 (record_load_unwind): New function.
7910 (Fload): Check for recursive loads.
7911 (syms_of_lread): Initialize Vloads_in_progress.
7912 (read_integer, read1): Avoid some compiler warnings.
7913
7914 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7915 compiler warnings.
7916
974e1e5b
MB
79172000-09-11 Miles Bader <miles@gnu.org>
7918
7919 * editfns.c (Fbuffer_string): Doc fix.
7920
9824c4e3
GM
79212000-09-10 Gerd Moellmann <gerd@gnu.org>
7922
7923 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7924
6a72fdd1
KR
79252000-09-09 Ken Raeburn <raeburn@gnu.org>
7926
7927 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7928 whether to include other header files.
7929
28e6fb66
GM
79302000-09-09 Gerd Moellmann <gerd@gnu.org>
7931
52283633 7932 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7933 by Fmemq as a boolean.
28e6fb66 7934
7f8b6551
SM
79352000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7936
7937 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7938
a8710abf
GM
79392000-09-08 Gerd Moellmann <gerd@gnu.org>
7940
d1a02881
GM
7941 * ralloc.c (mmap_fd): Remove initializer which can make it
7942 read-only in a dumped Emacs.
7943 (mmap_fd_1): New variable.
7944 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7945 restore it from there.
7946 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7947 unconditionally so that mmap_fd can be initialized there.
7948 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7949 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7950 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7951
c454aac1
GM
7952 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7953
7954 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7955 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7956
fc653ef2
GM
7957 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7958
3015eec0
GM
7959 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7960 inheritance.
7961
bfe0ee88
GM
7962 * xdisp.c (try_window_id): When trying to locate cursor in
7963 unchanged rows at the top, handle the case that we can't find it.
7964
a8710abf
GM
7965 * xterm.c (x_draw_glyphs): Handle case START and END are out
7966 of bounds more carefully.
7967
6b7d4ae4
DL
79682000-09-08 Dave Love <fx@gnu.org>
7969
423193c5
DL
7970 * s/sol2.h (REL_ALLOC_MMAP): Define.
7971 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7972
7973 * ralloc.c: Don't include string.h (redundant).
7974 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7975 [!MAP_ANON]: Include fcntl.h.
7976 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7977 (r_alloc, r_re_alloc, r_alloc_free)
7978 (mmap_enlarge, mmap_set_vars): Use it.
7979 (r_alloc_init_fd): New function.
7980 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7981 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7982 malloc type.
7983
7984 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7985 Remove vm-limit.o.
7986
6b7d4ae4
DL
7987 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7988 change to __NetBSD__.
7989
44d31981
KH
79902000-09-08 Kenichi Handa <handa@etl.go.jp>
7991
7992 * search.c (compile_pattern): Check the multibyteness of cached
7993 string and PATTERN.
7994
aad40737
MB
79952000-09-08 Miles Bader <miles@gnu.org>
7996
7997 * xfaces.c (default_face_vector): Function removed.
7998 (Finternal_merge_in_global_face): Restore old global/local
7999 attribute override order. Use inline loop instead of calling
8000 default_face_vector.
8001
91a211b5
GM
80022000-09-07 Gerd Moellmann <gerd@gnu.org>
8003
8004 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8005 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8006 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8007 where necessary, in case POINTER_TYPE is `void'.
8008
03419440
EZ
80092000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8010
8011 * frame.c (make_terminal_frame): Initialize frame foreground and
8012 background colors to unspecified, for the initial instance of an
8013 MSDOS frame.
8014
f46f845b
GM
80152000-09-07 Gerd Moellmann <gerd@gnu.org>
8016
24f76fbf
GM
8017 * ralloc.c (mmap_find): Fix overlap computation.
8018 (mmap_enlarge): Compute nbytes before trying to find an
8019 overlapping region.
8020
f46f845b
GM
8021 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8022 instead of `!='.
8023
8024 * lread.c (syms_of_lread): Change value of regexp
8025 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8026
8027 * xmenu.c (xdialog_show): When looking up the selection in
8028 menu_items, take `quote' boundaries into account; this corresponds
8029 to a nil ITEM in x-popup-dialog.
8030
3c014385
KH
80312000-09-07 Kenichi Handa <handa@etl.go.jp>
8032
fd6f711b
KH
8033 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8034 not 0x81.
8035 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8036
3c014385 8037 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8038 encoding, not decoding. Fix the handling of latin-jisx0201.
8039 Check for the charset katakana-jisx0201 too.
3c014385 8040 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8041 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8042
0da3ecef
GM
80432000-09-07 Gerd Moellmann <gerd@gnu.org>
8044
ab0ee409
GM
8045 * xfaces.c (Vparam_value_alist): New variable.
8046 (syms_of_xfaces): Initialize it.
8047 (Finternal_set_lisp_face_attribute): Avoid more consing.
8048
8049 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8050 specially.
8051 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8052 (Qbackground_mode): New variable.
8053 (syms_of_frame_1): Initialize Qbackground_mode.
8054
8055 * lisp.h (Qdisplay): Declare extern.
1091dd67 8056
0da3ecef
GM
8057 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8058 change face on all frames, and change the default for new frames.
8059
b14654b9
DL
80602000-09-07 Dave Love <fx@gnu.org>
8061
8062 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8063
d24fd56f
KH
80642000-09-07 Kenichi Handa <handa@etl.go.jp>
8065
794f3670
KH
8066 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8067
0fddd0dc
KH
8068 * charset.c: Include composite.h
8069 (lisp_string_width): New function.
8070 (Fstring_width): Call lisp_string_width instead of strwidth.
8071
8072 * Makefile.in (charset.o): Depends on composite.h.
8073
d24fd56f
KH
8074 * process.c (read_process_output): Before inserting the decoded
8075 text in the buffer, adjust the multibyteness.
8076
fa0b693c
GM
80772000-09-06 Gerd Moellmann <gerd@gnu.org>
8078
52283633 8079 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8080 buffer's text buffer is null, map new memory.
8081
0a58f946
GM
8082 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8083 POINTER_TYPE and size_t.
8084 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8085 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8086 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8087 [REL_ALLOC_MMAP]: New macros.
8088 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8089 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8090 [REL_ALLOC_MMAP]: New functions.
8091
8092 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8093 before and after unexec.
8094
8095 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8096 text buffers if necessary.
8097
8098 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8099 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8100 in prototypes.
8101
fa0b693c
GM
8102 * config.in (HAVE_MMAP): Add #undef.
8103
877055f6
GM
81042000-09-05 Gerd Moellmann <gerd@gnu.org>
8105
08ba3862
GM
8106 * frame.c (Qdisplay_type): New variable.
8107 (syms_of_frame_1): Initialize it.
8108 (Fframe_parameter): New function that avoids consing.
8109 (syms_of_frame): Defsubr it.
8110
66ffe51c
GM
8111 * buffer.c (Fother_buffer): Consider buffers as invisible when
8112 they are displayed in a window on an invisible frame.
8113
877055f6
GM
8114 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8115 get-largest-window always return nil.
8116
bb970e67
GM
81172000-09-04 Gerd Moellmann <gerd@gnu.org>
8118
8119 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8120 variable; recognize Emacs 19 elc files.
8121
7a3d0e0e
MB
81222000-09-04 Miles Bader <miles@gnu.org>
8123
8124 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8125 before initially popping up the menu, so the menu doesn't flash
52283633 8126 when the face settings are significantly different from the defaults.
7a3d0e0e 8127
14473664
SM
81282000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8129
8130 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8131 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8132 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8133 (BIT_UNIBYTE): Remove.
8134 (re_match_2_internal): Delete corresponding code and streamline the
8135 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8136 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8137 (re_wctype_t): New type.
8138 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8139 (regex_compile): Use them and fix handling of overly long char classes.
8140
c1174479
AI
81412000-09-03 Andrew Innes <andrewi@gnu.org>
8142
f8803e97
AI
8143 * makefile.w32-in: Change to DOS line endings.
8144
c1174479
AI
8145 * s/ms-w32.h (ORDINARY_LINK): New define.
8146
8147 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8148 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8149
8150 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8151 (distclean): Delete them here instead.
8152
44ef7cf6
AI
8153 * w32proc.c (compare_env): Convert to uppercase for comparison,
8154 not lowercase, to match how the native Windows shell works.
8155
49b3bd82
JR
81562000-09-03 Jason Rumney <jasonr@gnu.org>
8157
8158 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8159 CVS changes the line-ends when checking in/out on DOS/Windows.
8160
8161 * makefile.nt (emacs): Do not change directory to run temacs, as
8162 the load-path is set relative to current directory.
8163
a3d35a39
MB
81642000-09-03 Miles Bader <miles@gnu.org>
8165
8166 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8167
d276b0cf
GM
81682000-09-02 Gerd Moellmann <gerd@gnu.org>
8169
715e84c9
GM
8170 * xdisp.c (redisplay_mode_lines): New function.
8171 (display_mode_lines): Return number of mode lines displayed.
8172 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8173 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8174
8892f40b
GM
8175 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8176 string.h and strings.h.
8177 (index) [HAVE_INDEX]: Add prototype.
8178
d276b0cf
GM
8179 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8180 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8181
8182 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8183 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8184
38404229
GM
81852000-09-01 Gerd Moellmann <gerd@gnu.org>
8186
8187 * lread.c (read1): Accept `?' as symbol constituent, for
8188 compatiblity with XEmacs.
8189
c0f9ea08
SM
81902000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8191
8192 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8193 (struct re_pattern_buffer): Remove newline_anchor.
8194 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8195 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8196 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8197 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8198 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8199 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8200 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8201 Get rid of references to newline_anchor.
8202 (regcomp): Allocate and precompute a fastmap.
8203
8c0f83fe
GM
82042000-08-31 Gerd Moellmann <gerd@gnu.org>
8205
8206 * lread.c (openp): GCPRO local variable `filename'.
8207
4bb91c68
SM
82082000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8209
8210 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8211
8212 * regex.c: Merge some changes from GNU libc. Add prototypes.
8213 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8214 Use memcmp and memcpy instead of bcopy and bcmp.
8215 (init_syntax_once): Use ISALNUM.
8216 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8217 (REG_UNSET_VALUE): Remove. Use NULL instead.
8218 (REG_UNSET, re_match_2_internal): Use NULL.
8219 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8220 New macros.
8221 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8222 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8223 (regex_compile): In handle_interval, return an error rather than try to
8224 unfetch the interval if we can't find the closing brace.
8225 Obey the RE_NO_GNU_OPS syntax bit.
8226 (TOLOWER): New macro.
8227 (regcomp): Use it.
8228 (regexec): Allocate regs.start and regs.end as one block.
8229
5226a931
GM
82302000-08-30 Gerd Moellmann <gerd@gnu.org>
8231
868dd24b
GM
8232 * xdisp.c (echo_area_display): Check display_completed instead
8233 of calling detect_input_pending.
8234
8235 * dispnew.c (update_frame): Only set display_completed here; move
8236 the update_begin and update_end calls here from update_frame_1.
8237 (update_frame_1): Don't set display_completed here, don't call
8238 update_begin/update_end.
8239
5226a931
GM
8240 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8241 instead of store_frame_param.
8242
2a8bd25f
GM
82432000-08-29 Gerd Moellmann <gerd@gnu.org>
8244
8245 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8246 desired window matrix hasn't been displayed, use the current row
8247 instead. Make sure that only those frame rows are updated for
8248 which there exists a corresponding enabled desired row.
52283633 8249
ba3478d9
MB
82502000-08-29 Miles Bader <miles@gnu.org>
8251
8252 * xfaces.c (default_face_vector): New function.
8253 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8254
87d0f685
GM
82552000-08-29 Gerd Moellmann <gerd@gnu.org>
8256
8257 * lread.c (openp): Prevent temporary string passed to
8258 Ffile_readable_p from being garbage collected.
8259
6fa86045
DL
82602000-08-28 Dave Love <fx@gnu.org>
8261
8262 * keymap.c (store_in_keymap): Add `static' to declaration.
8263
bb17930d
GM
82642000-08-28 Gerd Moellmann <gerd@gnu.org>
8265
8266 * emacs.c, callint.c, doc.c, editfns.c
8267 (toplevel) [HAVE_STRING_H]: Include string.h.
8268 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8269 (index): Remove prototypes which might conflict with non-standard
8270 definitions of index/strchr.
8271
8272 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8273 (rindex): Define only if !HAVE_RINDEX.
8274
8275 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8276
8277 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8278
87188200
MB
82792000-08-28 Miles Bader <miles@gnu.org>
8280
8281 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8282 made inconsistent by a font-related attribute in FROM.
8283 (merge_face_inheritance): Add function comment.
8284
41a68aef
KH
82852000-08-28 Kenichi Handa <handa@etl.go.jp>
8286
8287 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8288 the 4th arg (PREV_EVENT) Qt to suppress input method.
8289
f7c436c1
SM
82902000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8291
0b32bf0e
SM
8292 * regex.c: Indent cpp directives and remove parens after `defined'.
8293 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8294 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8295 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8296 (re_compile_pattern): Use size_t for length.
8297 (init_syntax_once): Move to a better place.
8298 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8299 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8300
f7c436c1
SM
8301 * syntax.c (back_comment): Detect cases where a comment-starter is
8302 actually inside another comment as in: /* a // b */ c // d \n.
8303 Make it clear that `comstart_pos' is unused for nested comments.
8304
8305 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8306 (KEYMAPP): New macro.
8307 (Fkeymap_parent, Fset_keymap_parent): Use it.
8308 (fix_submap_inheritance): Mark it static.
8309 (define_as_prefix, describe_buffer_bindings, describe_command)
8310 (describe_translation, describe_map): Complete prototypes.
8311
8312 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8313
8314 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8315 to better match the key-lookup behavior.
8316
6288c62f
GM
83172000-08-27 Gerd Moellmann <gerd@gnu.org>
8318
8319 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8320 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8321
e931344e
EZ
83222000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8323
8324 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8325 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8326 (xterm.o): Depend on coding.h
8327
d10dfeef
KH
83282000-08-26 Kenichi Handa <handa@etl.go.jp>
8329
8330 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8331 the corresponding '#endif'.
8332
2d73e8d3
MB
83332000-08-26 Miles Bader <miles@gnu.org>
8334
8335 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8336 * xfaces.c (QCinherit): New variable.
8337 (syms_of_xfaces): Initialize it.
8338 (LFACE_INHERIT): New macro.
8339 (Finternal_get_lisp_face_attribute)
52283633 8340 (merge_face_vector_with_property)
2d73e8d3
MB
8341 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8342 (check_lface_attrs): Allow new types of face height. Check
8343 inherit attribute.
8344 (CYCLE_CHECK): New macro.
8345 (merge_face_inheritance): New function.
8346 (merge_face_vectors): Merge inherited faces too. Add F and
8347 CYCLE_CHECK arguments.
8348 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8349 (lookup_named_face, lookup_derived_face, realize_named_face)
8350 (face_at_string_position, face_at_buffer_position): Supply
8351 new F and CYCLE_CHECK arguments to merge_face_vectors.
8352 (merge_face_heights): New function.
52283633 8353 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8354 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8355 handle relative face heights.
8356 (lface_same_font_attributes_p): Compare heights using EQ.
8357
6ce974d4
KH
83582000-08-26 Kenichi Handa <handa@etl.go.jp>
8359
8360 * charset.c (char_to_string): Check the character validity.
52283633 8361 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8362
dc1e502d
SM
83632000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8364
8365 * regex.c (PUSH_FAILURE_COUNT): New macro.
8366 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8367 Handle popping of a register's or a counter's data.
8368 (POP_FAILURE_POINT): Use the new name.
8369 (re_match_2_internal): Push counter data on the stack for succeed_n,
8370 jump_n and set_number_at and remove misleading dead code in succeed_n.
8371
bd9d0f3f
GM
83722000-08-25 Gerd Moellmann <gerd@gnu.org>
8373
8374 * xdisp.c (redisplay_internal): If considering all windows on all
8375 frames, update the display for each frame as soon as possible,
8376 instead of first building all desired matrices for all frames, and
8377 then updating them all.
8378 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8379
aa5b8e15
GM
83802000-08-24 Gerd Moellmann <gerd@gnu.org>
8381
17494071
GM
8382 * bytecode.c (mark_byte_stack): Add a comment.
8383
52283633
SM
8384 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8385 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8386 a graphical frame.
8387
c543db81
KH
83882000-08-24 Kenichi Handa <handa@etl.go.jp>
8389
d246d5f5
KH
8390 * minibuf.c (do_completion): Always use compare-string, not
8391 string-equal because the latter doesn't pay attention to
8392 multibyteness of strings.
8393
c543db81
KH
8394 * process.c (create_process): Don't setup raw-text coding here.
8395 (Fopen_network_stream): Don't set coding->src_multibyte and
8396 coding->dst_multibyte here.
8397 (read_process_output): For process filter, return unibyte string
8398 if default-enable-multibyte-characters is nil.
8399 (send_process): If OBJECT is multibyte text, be sure to encoded it
8400 by the specified coding system for the process. Otherwise, setup
8401 raw-text coding.
52283633 8402 (init_process): Don't initialize default-process-coding-system here.
c543db81 8403
9b47cfe0
EZ
84042000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8405
8406 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8407 <scroll-down-aggressively>: Likewise.
8408
f5a36960
KH
84092000-08-23 Kenichi Handa <handa@etl.go.jp>
8410
8411 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8412 zero. Set coding->produced_char correctly.
8413
69a7ffa7
AI
84142000-08-22 Andrew Innes <andrewi@gnu.org>
8415
8416 * makefile.w32-in: New file.
8417
8418 * unexw32.c (unexec): Ignore old_name, and use the actual location
8419 of the current executable instead. Base new_name on this.
8420
8421 * w32proc.c (create_child): Remove reference to security
8422 descriptor, which isn't needed and doesn't compile with mingw32.
8423
8424 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8425 up dllimport attributes.
8426 (x_update_window_end): Update prototype.
8427
8428 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8429 extern, which screws up dllimport attributes.
8430
8431 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8432 up dllimport attributes.
8433
8434 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8435 screws up dllimport attributes.
8436
8437 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8438 up dllimport attributes.
8439 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8440 screws up dllimport attributes.
8441
8442 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8443 up dllimport attributes.
8444
8445 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8446 screws up dllimport attributes.
8447
8448 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8449 screws up dllimport attributes.
8450
8451 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8452 up dllimport attributes.
8453
8454 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8455 unnecessary extern, which screws up dllimport attributes.
8456 (main): Ditto.
8457
8458 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8459 up dllimport attributes.
8460
8461 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8462 unnecessary extern, which screws up dllimport attributes.
8463
8464 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8465 screws up dllimport attributes.
8466
8467 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8468 up dllimport attributes.
8469
8470 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8471
52283633
SM
8472 * w32bdf.c (search_file_line):
8473 (set_bdf_font_info):
8474 (seek_char):
8475 (w32_get_bdf_glyph):
69a7ffa7
AI
8476 (w32_BDF_to_x_font): Fix compile warnings.
8477
52283633 8478 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8479
8480 * w32select.c: Include keyboard.h before frame.h.
8481
8482 * w32fns.c (max): Define macro.
8483 (JOHAB_CHARSET): Define if not known.
8484 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8485 (Fx_show_tip): Synch with X version.
8486
8487 * w32xfns.c: Include keyboard.h before frame.h.
8488
8489 * w32fns.c: Include keyboard.h before frame.h.
8490
8491 * w32term.c: Include keyboard.h before frame.h.
8492
8493 * fontset.c: Include keyboard.h before frame.h.
8494
8495 * w32inevt.c: Include keyboard.h before frame.h.
8496 (MOUSE_MOVED): Define if not known.
8497
8498 * minibuf.c: Include keyboard.h before frame.h.
8499
8500 * keyboard.c: Include keyboard.h before frame.h.
8501
8502 * indent.c: Include keyboard.h before frame.h.
8503
8504 * dispnew.c: Include keyboard.h before frame.h.
8505
8506 * buffer.c: Include keyboard.h before frame.h.
8507
8508 * alloc.c: Include keyboard.h before frame.h.
8509
8510 * print.c: Include keyboard.h before frame.h.
8511
8512 * process.c: Include keyboard.h before frame.h.
8513
8514 * scroll.c: Include keyboard.h before frame.h.
8515
8516 * sysdep.c: Include keyboard.h before frame.h.
8517
8518 * term.c: Include keyboard.h before frame.h.
8519
8520 * window.c: Include keyboard.h before frame.h.
8521
8522 * xdisp.c: Include keyboard.h before frame.h.
8523 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8524
8525 * frame.c: Include keyboard.h before frame.h.
8526
8527 * w32heap.h: Undefine min, max.
8528
8529 * w32gui.h: Undefine min, max.
8530
8531 * unexw32.c: Change PUCHAR to PCHAR.
8532 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8533 (relocate_offset):
8534 (get_section_info):
69a7ffa7
AI
8535 (copy_executable_and_dump_data): Remove unnecessary static defs.
8536 (copy_executable_and_dump_data): Fix compile warnings.
8537
8538 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8539
8540 * w32console.c (min): Define macro.
8541 (clear_frame, write_glyphs): Fix compile warning.
8542
52283633 8543 * w32proc.c (compare_env):
69a7ffa7
AI
8544 (find_child_console): Fix compile warning.
8545
8546 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8547 sys_errlist instead of _sys_errlist.
8548 (get_emacs_configuration_options): New function.
8549
8550 * s/ms-w32.h (sys_nerr): Provide default definition.
8551 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8552 name with _ prepended.
8553 (NSIG): Define if not known.
8554 (get_emacs_configuration): Provide extern declaration.
8555 (get_emacs_configuration_options): Provide extern declaration.
8556 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8557
8558 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8559 (map_w32_filename):
69a7ffa7
AI
8560 (read_unc_volume): Fix compile warning.
8561
8562 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8563 definitions from being used.
8564
8565 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8566
52283633 8567 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8568 (open_unc_volume): Make arg const.
8569
8570 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8571 (read_input_waiting): Remove excess parameter.
8572
8573 * w32.c (init_environment): Call _access.
8574 (check_windows_init_file): Call _close.
8575 (init_user_info): Call _putenv.
8576 (init_environment): Call _putenv and _strdup.
8577 (init_ntproc): Reset volume info cache on startup.
8578
8579 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8580 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8581 cannot override the CRT malloc.
8582
8583 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8584 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8585
8586 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8587 unless we are linking with a static CRT.
8588 (RVA_TO_PTR): Cast result to unsigned char*.
8589
8590 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8591 (add_volume_info): Use xstrdup.
8592
25060080
SM
85932000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8594
8595 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8596 (do_completion, Fminibuffer_complete_word): Use it.
8597 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8598 var so it can take non-boolean values.
8599
6917e6bb
GM
86002000-08-21 Gerd Moellmann <gerd@gnu.org>
8601
acb7cc89 8602 * editfns.c (find_field): Formatting changes.
52283633 8603 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8604 changed to prototypes, some new protypes added, some functions
8605 made static.
8606
8607 * lisp.h (set_time_zone_rule): Add prototype.
8608 (use_dialog_box): External declaration.
8609
0bbfdc25
GM
8610 * keyboard.c (gen_help_event): Add parameter SIZE.
8611 (kbd_buffer_events_waiting): Slightly rewritten.
8612 (clear_event): New function.
8613 (kbd_buffer_get_event): Use it, and clear the input_events of
8614 HELP_EVENTs.
8615 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8616 don't fill the newly created array with nils.
8617 (toplevel): Convert some old-style function forward declarations
8618 to prototypes.
8619
8620 * keyboard.h (gen_help_event): Change prototype.
8621
8622 * xterm.c (XTread_socket): Change calls to gen_help_event.
8623
8624 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8625
6917e6bb
GM
8626 * eval.c (Fmacroexpand): Doc fix.
8627
e5cd3d11
JR
86282000-08-20 Jason Rumney <jasonr@gnu.org>
8629
8630 * w32term.h (x_display_info_for_display): Remove as this function
8631 does not exist on W32.
8632
8633 * w32term.c (help_echo_window): New variable.
8634 (syms_of_w32term): staticpro it.
8635 (note_mode_line_highlight): Set it.
8636 (XTextExtents16): Removed as there is no equivalent on W32.
8637 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8638 the X way of doing this will not work for W32.
8639 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8640 (x_draw_image_foreground): Avoid drawing outside of the clip area
8641 when image doesn't have a mask.
8642 (note_mouse_highlight): Process overlays in the right order of
8643 priority. Set help_echo_window.
8644 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8645 because that's more visible for large images.
8646
8647 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8648 name to single_keymap_panes.
8649 (w32_menu_show): Set wv->title when dealing with titles.
8650 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8651
6e69ab8c
MB
86522000-08-21 Miles Bader <miles@gnu.org>
8653
8654 * minibuf.c (do_completion): Try again if we rewrite the input
8655 string, but no completion was done, so that any completion message
8656 will be correct.
8657
511bd4eb
GM
86582000-08-20 Gerd Moellmann <gerd@gnu.org>
8659
8660 * xfaces.c (lface_equal_p): Compare strings differently.
8661 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8662 (realize_tty_face): Use them.
8663 (syms_of_xfaces): Initialize new variables.
8664 (map_tty_color): New function, extracted from realize_tty_face.
8665 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8666 foreground or background color, store the new color name in the
8667 realized face; previous code trying to do this had no effect.
8668 (realize_tty_face): Use map_tty_color.
8669 (Fclear_face_cache): Set face_change_count and ensure thorough
8670 redisplay.
8671
1433385f
GM
86722000-08-19 Gerd Moellmann <gerd@gnu.org>
8673
511bd4eb
GM
8674 * undo.c (record_first_change, record_marker_adjustment): Don't
8675 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8676
419ac0a2
KH
86772000-08-18 Kenichi Handa <handa@etl.go.jp>
8678
8679 * coding.c (decode_coding_string): Set members consumed,
8680 consumed_char, produced, produced_char of *coding correctly. If
8681 decode_coding doesn't consume any byte, don't try anymore.
8682 (encode_coding_string): Likewise.
8683
7eb9e30d
GM
86842000-08-18 Gerd Moellmann <gerd@gnu.org>
8685
511bd4eb
GM
8686 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8687 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8688
8689 * xdisp.c (redisplay_internal): Compare windows for equality with
8690 EQ, instead of applying XWINDOW to something that might not
8691 be a window.
52283633 8692
dd34a735
KH
86932000-08-18 Kenichi Handa <handa@etl.go.jp>
8694
8695 * fontset.c (Finternal_char_font): Search only the selected frame
8696 for a window of the current buffer.
8697
385ff9e3
GM
86982000-08-18 Gerd Moellmann <gerd@gnu.org>
8699
511bd4eb 8700 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8701 Lisp_Objects.
8702
385ff9e3
GM
8703 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8704 second half of a HELP_EVENT is found at the start of kbd_buffer.
8705
d6abb4c7
MB
87062000-08-18 Miles Bader <miles@gnu.org>
8707
4618074a
MB
8708 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8709
d6abb4c7
MB
8710 * editfns.c (save_restriction_save): Rewrite to use markers.
8711 (save_restriction_restore): Rewrite to understand new form of data
8712 saved by save_restriction_save.
8713 (Fsave_restriction): Remove cautionary note in doc-string.
8714
a7b28523
GM
87152000-08-17 Gerd Moellmann <gerd@gnu.org>
8716
8717 * fileio.c (build_annotations): Add a comment explaining the
8718 return value of format-annotate-function. Replace a spurious call
8719 to Flength with a CONSP test. Call format-annotate-function with
8720 a fifth arg specifying how many times the function is been called
8721 in a row, to let it choose temporary buffers appropriately.
8722
03c9ed77
DL
87232000-08-17 Dave Love <fx@gnu.org>
8724
8725 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8726 declare make_temp_name twice.
8727
52283633 8728 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8729 (unreadpure): Give it an arg.
8730
8731 * unexalpha.c: Prototype fatal_unexec, mark_x,
8732 update_dynamic_symbols. Declare unexec as void.
8733
8734 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8735 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8736
8737 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8738 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8739
8740 * alloca.c: Use #error.
8741 [POINTER_TYPE]: Use it.
8742
8743 * eval.c (Fdefvar): Doc fix.
8744
8745 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8746 INITIALIZE_INTERVAL.
8747
8748 * buffer.h: Avoid DECLARE_INTERVALS.
8749
8750 * config.in: Add size_t.
8751
aae41d97
EZ
87522000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8753
8754 * w16select.c (set_clipboard_data): If there's not enough memory
8755 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8756 expects. In case of other failures, return 3.
8757 (system_error_msg): New error message.
8758 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8759 system_error_msg.
8760
65aa5e85
GM
87612000-08-16 Gerd Moellmann <gerd@gnu.org>
8762
8763 * term.c (write_glyphs): Also turn off inverse video after turning
8764 off other appearances in case TS_exit_attribute_mode is not equal
8765 to TS_end_standout_mode.
8766 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8767 with the same face.
8768 (turn_off_face): Reset standout_mode only if
8769 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8770 is equal to TS_end_standout_mode.
8771
ece23901
KH
87722000-08-16 Kenichi Handa <handa@etl.go.jp>
8773
9d7bcb2e
KH
8774 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8775 sequence at the end of the source block.
8776
ece23901
KH
8777 * ccl.c (Fccl_program_p): Docstring modified.
8778 (Fccl_execute): Likewise.
8779 (Fccl_execute_on_string): Likewise.
8780
5e30eaa2
EZ
87812000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8782
8783 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8784
290602fd
KH
87852000-08-16 Kenichi Handa <handa@etl.go.jp>
8786
8787 The following changes are mainly to fix bugs of
8788 encode/decode-coding-string failing if encoding/decoding return
8789 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8790 variable conversion_buffer.
8791
8792 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8793 decrement dst_end to avoid buffer overflow in the later call of
8794 string_as_multibyte
8795
8796 * coding.h (conversion_buffer_size, conversion_buffer)
8797 (get_conversion_buffer): Extern deleted.
8798
8799 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8800 (conversion_buffer, conversion_buffer_size): Variables deleted.
8801 (get_conversion_buffer): Function deleted.
8802 (struct conversion_buffer): New structure.
8803 (MAX_ALLOCA): New macro.
8804 (allocate_conversion_buffer): New macro.
8805 (extend_conversion_buffer, free_conversion_buffer): New functions.
8806 (ccl_coding_driver): Set coding->result.
8807 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8808 this is the last block of source.
8809 (encode_coding): Likewise. Handle the source block as the last
8810 one only when the whole source text is consumed.
8811 (decode_coding_string): Handle the case that the output buffer is
8812 too small to decode the whole source text. Use
8813 allocate_conversion_buffer, extend_conversion_buffer and
8814 free_conversion_buffer, not get_conversion_buffer.
8815 (encode_coding_string): Likewise.
8816 (init_coding): Function deleted.
52283633 8817 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8818
8819 * emacs.c (main): Don't call init_coding.
8820
52283633 8821 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8822
8823 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8824 (insert_glyphs): Likewise.
8825
8826 * w32console.c (write_glyphs): Use a locally declared
8827 conversion_buffer.
8828
b9f80d41
EZ
88292000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8830
8831 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8832 member of display_info is NULL.
8833
32dc52f7
GM
88342000-08-15 Gerd Moellmann <gerd@gnu.org>
8835
52283633 8836 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8837
32dc52f7 8838 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8839 appearances with capability `me'.
32dc52f7
GM
8840 (write_glyphs): Switch on inverse video before each face change.
8841
4eb22d33
DL
88422000-08-14 Dave Love <fx@gnu.org>
8843
8844 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8845 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8846 (lisp_free): Declare and make static.
8847
8848 * window.c: Fix embedded comment.
8849 (syms_of_window): Fix doc string.
8850
90cbf47e
GM
88512000-08-14 Gerd Moellmann <gerd@gnu.org>
8852
52283633 8853 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8854 make sure to print `C-' before `M-', like in the manual.
8855
440fc135
GM
88562000-08-11 Gerd Moellmann <gerd@gnu.org>
8857
8858 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8859 since they aren't relocated anymore.
52283633 8860 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8861
8862 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8863 partially visible line which is smaller than the window's height.
440fc135 8864
6e264fad
KH
88652000-08-11 Kenichi Handa <handa@etl.go.jp>
8866
8867 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8868 the multibyte form of eight-bit-control characters.
6e264fad
KH
8869 (Fccl_execute_on_string): Initialize ccl->multibyte.
8870
8871 * ccl.h (struct ccl_program): New member multibyte.
8872
8873 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8874
c371f69a
KH
88752000-08-11 Kenichi Handa <handa@etl.go.jp>
8876
8877 * regex.c (regex_compile) <normal_char>: Pay attention to
8878 multibyteness.
8879 (analyse_first) <exactn>: Setup fastmap correctly for
8880 eight-bit-control characters.
8881
88822000-08-11 Kenichi Handa <handa@etl.go.jp>
8883
52283633 8884 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8885
8886 * keyboard.c (make_lispy_event): Handle the new event type
8887 multibyte_char_keystroke.
8888
8889 * xterm.c: Include coding.h.
8890 (XTread_socket): Work around a bug of XmbLookupString. If the
8891 input is from XIM, decode it according to the current locale. In
8892 that case, generate multibyte_char_keystroke events.
8893
b8ddbe71
KH
88942000-08-11 Kenichi Handa <handa@etl.go.jp>
8895
8896 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8897 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8898
47589c8c
GM
88992000-08-10 Gerd Moellmann <gerd@gnu.org>
8900
8901 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8902 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8903 (move_it_in_display_line_to): Record iterator's ascent and descent
8904 before producing glyphs, and restore them when we know the glyph
8905 doesn't fit on the line.
8906 (move_it_to): Restructured so that it's easier to debug. If
8907 moving to a vpos, and not moving to an x or character position,
8908 stop as soon as the specified vpos is reached; don't move further
8909 into that line because that might change the computed line height.
8910 (try_cursor_movement): New function, extracted from the cursor
8911 movement branch of redisplay_window. If ending on a partially
8912 visible line, don't try to scroll if the cursor line is taller
8913 than the window.
8914 (redisplay_window): Use try_cursor_movement.
8915
8916 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8917 because that function doesn't cope with variable-height lines.
8918
8919 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8920 box cursor because that's better visible for large images.
52283633 8921
c51bacd6
MB
89222000-08-10 Miles Bader <miles@gnu.org>
8923
8924 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8925
bea56df7
GM
89262000-08-10 Gerd Moellmann <gerd@gnu.org>
8927
8928 * xdisp.c (Vmessages_buffer_name): New variable.
8929 (message_dolog): Use it.
8930 (syms_of_xdisp): Initialize it.
8931
99cd7364
EZ
89322000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8933
52283633 8934 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8935 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8936 redundant now that keyboard.h is included.
8937
7d093d56
EZ
89382000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8939
8940 * keyboard.c (kbd_buffer_events_waiting): New function.
8941
8942 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8943
8944 * msdos.c: Include keyboard.h.
8945 (XMenuActivate): Empty no_event events from the event buffer. If
8946 no events are left after that, call clear_input_pending.
8947 (mouse_clear_clicks): New function, code moved from mouse_init.
8948 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8949 mouse driver to ``forget'' any past clicks.
8950
8951 * Makefile.in (msdos.o): Depend on keyboard.h.
8952
41e757a6
GM
89532000-08-09 Gerd Moellmann <gerd@gnu.org>
8954
8e7bd231
GM
8955 * lisp.h (input_pending): External declaration.
8956
8957 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8958
8e7bd231
GM
8959 * xdisp.c (echo_area_display): Display thoroughly if input is
8960 pending. Bind redisplay-dont-pause to t during the redisplay.
8961 in case input is pending.
8962
8963 * dispnew.c (Qredisplay_dont_pause): New variable.
8964 (syms_of_display): Initialize and staticpro it.
8965 (update_frame_1): Don't interrupt the display for pending input if
8966 redisplay_dont_pause is set.
52283633 8967
43028b7e
GM
8968 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8969
41e757a6
GM
8970 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8971
2f2174fa
KH
89722000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8973
8974 * callproc.c (Fcall_process): Terminate the unwind-protect around
8975 the post-read-conversion of coding system.
8976
0a6fd67e
MB
8977 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8978 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8979 * buffer.h (overlays_at): Update prototype.
8980 * xdisp.c (next_overlay_change): Update call to overlays_at.
8981 * xfaces.c (face_at_buffer_position): Likewise.
8982 * textprop.c (Fget_char_property): Likewise.
8983 * xterm.c (note_mouse_highlight): Likewise.
8984
0c80756e
MB
8985 * minibuf.c (do_completion): Don't consider a simple change of
8986 case as `completion'.
8987
975f250a
KR
89882000-08-08 Ken Raeburn <raeburn@gnu.org>
8989
52283633 8990 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8991 * undo.c (record_delete): Make sure last_point_position_buffer is
8992 a buffer before comparing pointers.
8993
8994 * coding.h (decode_coding_string): Declare.
8995
8996 * intervals.h (Fprevious_single_char_property_change): Declare.
8997
8998 * textprop.c (Fprevious_single_char_property_change): Don't do
8999 arithmetic directly on lisp objects.
9000
52283633 9001 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9002
9003 * keyboard.h (menu_item_eval_property): Declare.
9004
9005 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9006 reuse as buffer name, instead of recreating (and discarding) every
9007 time a message is logged.
9008 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9009 (current_message_1, truncate_message_1, set_message_1)
9010 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9011 (current_message, truncate_echo_area, display_echo_area)
9012 (resize_echo_area_axactly): Changed calls.
b347b3fd 9013
975f250a 9014 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9015 Lisp object.
975f250a 9016 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9017 must be an integer, not a Lisp object.
975f250a 9018
46dc9912
KH
90192000-08-08 Kenichi Handa <handa@etl.go.jp>
9020
9021 * charset.c (Fchar_width): Doc fix.
9022
9f6d1a6c
GM
90232000-08-08 Gerd Moellmann <gerd@gnu.org>
9024
9025 * charset.c (Fstring_width): Doc fix.
9026
ff3d9573
GM
90272000-08-07 Gerd Moellmann <gerd@gnu.org>
9028
41e757a6 9029 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9030 line, clear ascent and descent members of the iterator structure;
9031 the height of the continued line does not affect the height of the
9032 continuation line.
9033 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9034 line taller than the window.
9035 (redisplay_window) <forced window start>: Handle case that the
9036 middle of the window is not found in any row.
9037 (dump_glyph_row): Show more information.
9038 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9039 first text line in a glyph matrix.
9040
9041 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9042 of the clip area when image doesn't have a mask.
9043
70fc58b3
GM
9044 * fns.c (sweep_weak_table): Fix survival conditions for
9045 key-or-value and key-and-value weakness.
9046
9047 * .gdbinit (xhashtable): New command.
9048
ac0e96ee
GM
9049 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9050 tables out of the list of all weak hash tables.
9051
ff3d9573
GM
9052 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9053 a new buffer is created, make sure echo_area_buffer[] references
9054 the new buffer.
9055
e0d8827b
EZ
90562000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9057
9058 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9059 the doc string.
9060
c6f35378
KH
90612000-08-07 Kenichi Handa <handa@etl.go.jp>
9062
9063 * syntax.c (skip_chars): Fix previous change. Make the handling
9064 of unibyte string consistent with that of regex search.
9065
1fd4c450
GM
90662000-08-05 Gerd Moellmann <gerd@gnu.org>
9067
e49aa397
GM
9068 * xmenu.c (popup_get_selection): Use xfree instead of free.
9069
9070 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9071
9072 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9073
9074 * callproc.c (child_setup): Use xfree instead of free.
9075
9076 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9077 instead of malloc.
9078 (run_mac_command, closedir): Use `xfree' instead of `free'.
9079
9080 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9081
9082 * eval.c (error): Use xfree instead of free.
9083
1fd4c450
GM
9084 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9085
9086 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9087 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9088
82d497fc
KH
90892000-08-05 Kenichi Handa <handa@etl.go.jp>
9090
9091 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9092 conversion.
9093
59f953a2
NF
90942000-08-04 Noah Friedman <friedman@splode.com>
9095
9096 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9097 docstring.
9098
688351f2
GM
90992000-08-04 Gerd Moellmann <gerd@gnu.org>
9100
9101 * syntax.c (skip_chars): Fix typo in error message.
9102
2dad51cc
AS
91032000-08-04 Andreas Schwab <schwab@suse.de>
9104
9105 * m/ia64.h: Moved from s/ia64.h.
9106
99bb2c60
KH
91072000-08-04 Kenichi Handa <handa@etl.go.jp>
9108
082a1df2
KH
9109 * process.c (read_process_output): Big simplification. Handle
9110 composition and post-read-conversion of coding system correctly.
9111 (send_process): Handle composition correctly.
9112
9113 * callproc.c (Fcall_process): Handle post-read-conversion of
9114 coding system if any.
9115
99bb2c60
KH
9116 * coding.c (decode_coding_iso2022): More strict check for handling
9117 single shifting.
082a1df2
KH
9118 (coding_restore_composition): Pay attention to the case that
9119 cmp_data is not set properly (because of invalid code in the
9120 source text).
9121 (run_pre_post_conversion_on_str): Include text properties in the
9122 resulting string.
9123 (decode_coding_string): Set members of coding correctly.
99bb2c60 9124
f4988be7
GM
91252000-08-03 Gerd Moellmann <gerd@gnu.org>
9126
9127 * s/ia64.h: New file.
9128
9129 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9130 Use NULL instead of 0 at the end of variable argument list of
9131 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9132 sizeof (int) < sizeof (void *).
9133
9134 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9135 of variable argument lists of XtVaGetValues and XtVaSetValues.
9136
9137 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9138 variable argument lists of XtVaGetValues and XtVaSetValues.
9139
ead53494
GM
91402000-08-02 Gerd Moellmann <gerd@gnu.org>
9141
9142 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9143 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9144
9145 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9146 prototype.
9147
9148 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9149 in call to Fsingle_key_description.
9150
9151 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9152 Callers changed.
9153
91542000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9155
9156 * window.c (display_buffer_reuse_frames): New variable.
9157 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9158 frames displaying BUFFER.
52283633 9159 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9160
10b0f752
MB
91612000-08-01 Miles Bader <miles@gnu.org>
9162
9163 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9164 when to constrain NEW_POS (they were pretty screwed up before).
9165
16425c4a
EZ
91662000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9167
9168 * msdos.c (run_msdos_command): Save and restore the master
9169 environment, for the case that child_setup signals an error.
9170 When mirroring slashes in DOS shell commands, don't fail when
9171 argv[2] has embedded blanks.
da288c14
EZ
9172 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9173 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9174 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9175
9176 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9177 using alloca; free it after run_msdos_command returns.
9178
27f73852
DL
91792000-07-27 Dave Love <fx@gnu.org>
9180
52283633
SM
9181 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9182 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9183
9184 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9185
c0261b5e
EZ
91862000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9187
9188 * editfns.c (lisp_time_argument): Fix last change.
9189
b548072f
GM
91902000-07-27 Gerd Moellmann <gerd@gnu.org>
9191
3ab82477
GM
9192 * fns.c (Fdelete): Make it work on vectors and strings in addition
9193 to lists.
9194
b548072f
GM
9195 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9196 (syms_of_fns): Initialize new variables.
52283633 9197 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9198 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9199 weakness, with t meaning the same as `key-and-value'.
9200
91ae8751
KH
92012000-07-27 Kenichi Handa <handa@etl.go.jp>
9202
9203 * coding.h (struct coding_system): Member safe_charset deleted.
9204
9205 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9206 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9207 New variables.
91ae8751
KH
9208 (coding_safe_chars): New function.
9209 (CODING_SAFE_CHAR_P): New macro.
9210 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9211 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9212 (detect_coding_iso2022): New local variable safe_chars.
9213 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9214 safe_charsets member of the coding system.
9215 (decode_coding_iso2022): New local variable safe_chars.
9216 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9217 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9218 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9219 (ENCODE_UNSAFE_CHARACTER): New macro.
9220 (encode_coding_iso2022): New local variable safe_chars. Check
9221 unsafe chars.
9222 (setup_coding_system): Delete the code to initialize
9223 coding->safe_charses
9224 (intersection, find_safe_codings): New functions.
9225 (Ffind_coding_systems_region_internal): New function.
9226 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9227 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9228 variable and initialize it.
9229
9230 * fns.c (char_table_ref_and_index): New function.
9231
9232 * lisp.h (char_table_ref_and_index): Add prototype.
9233
34a7a267
SS
92342000-07-26 Sam Steingold <sds@gnu.org>
9235
9236 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9237 (Ffloat_time): New built-in Lisp function.
34a7a267 9238
a95cb10a
GM
92392000-07-26 Gerd Moellmann <gerd@gnu.org>
9240
3353ef5a
GM
9241 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9242 for the character code.
9243
9244 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9245 GNU/Linux.
9246
a95cb10a
GM
9247 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9248 if called for a popup menu.
9249 (xmenu_show): Store help string in widget values.
9250
b4a12321
DL
92512000-07-26 Dave Love <fx@gnu.org>
9252
9253 * syswait.h: Move some definitions.
9254 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9255 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9256 perspicuous definitions.
9257 (WTERMSIG): Fix bit pattern used.
9258
13f5ad37
KH
92592000-07-26 Kenichi Handa <handa@etl.go.jp>
9260
9261 * print.c (print_object): If vector printing is truncated, print
9262 "..." to indicate it as well as the case of list printing.
9263
070fe99c
GM
92642000-07-25 Gerd Moellmann <gerd@gnu.org>
9265
969065c3
GM
9266 * xdisp.c (next_element_from_display_vector): Improve comments.
9267
9268 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9269 for the character code, and the rest for the face id as in 20.x.
9270 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9271
9272 * window.c (window_display_table): Cleaned up.
9273
070fe99c
GM
9274 * syntax.c (Fforward_word): Add last arg nil in call of
9275 Fconstrain_to_field.
9276
bad77ef7
EZ
92772000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9278
969065c3 9279 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9280 identical but for the letter-case, don't call
9281 barf_or_query_if_file_exists.
bad77ef7 9282
c28da489
MB
92832000-07-25 Miles Bader <miles@gnu.org>
9284
9285 * editfns.c (find_field): Honor special `boundary' fields.
9286 (Qboundary): New variables.
9287 (syms_of_editfns): Initialize Qboundary.
9288 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9289 Use scan_buffer instead of find_before_next_newline, because it
9290 allows us to detect the boundary case where there's a newline at
9291 the search limit.
9292 * lisp.h (Fconstrain_to_field): Update external declaration.
9293
e3c31fd5
GM
92942000-07-24 Gerd Moellmann <gerd@gnu.org>
9295
9296 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9297 if that is nil.
c28da489 9298
c66c29a2
DL
92992000-07-24 Dave Love <fx@gnu.org>
9300
9301 * s/sunos4-0.h, s/sol2.h:
9302 (LIBS_TERMCAP): Move from m/sparc.h.
9303
9304 * m/sparc.h (TERMINFO): Moved to system files (probably only
9305 relevant for sunos4 judging by its vintage).
9306 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9307 __arch64__.
9308
fbe0a958
EZ
93092000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9310
9311 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9312 name to single_keymap_panes.
9313
7d88e5c9
AS
93142000-07-24 Andreas Schwab <schwab@suse.de>
9315
9316 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9317
e024b101
GM
93182000-07-24 Gerd Moellmann <gerd@gnu.org>
9319
9320 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9321 parameters instead of using int parameters. Expect FN to accept
9322 EMACS_INT parameters.
9323 (display_echo_area, resize_echo_area_axactly, current_message)
9324 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9325 with new argument list.
9326 (resize_mini_window_1): New callback function.
9327 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9328 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9329
25c1a9ce
KH
93302000-07-24 Kenichi Handa <handa@etl.go.jp>
9331
9332 * fontset.c (fontset_ref): Remove INLINE declaration.
9333 (fontset_ref_via_base): Likewise.
9334 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9335 to downcase.
9336
7f987ac0
EZ
93372000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9338
9339 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9340 correct order of priority. If help echo was found in an overlay,
9341 use that overlay as the object in which the help echo was found.
9342
e2db3069
MB
93432000-07-22 Miles Bader <miles@gnu.org>
9344
9345 * textprop.c (Fprevious_single_char_property_change): The initial
9346 property value should be from the position preceding POSITION, not
9347 following it.
9348
5e3203e4
EZ
93492000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9350
9351 * coding.c (syms_of_coding): Doc fix for
9352 inhibit-iso-escape-detection.
9353
62145073
GM
93542000-07-21 Gerd Moellmann <gerd@gnu.org>
9355
c20aeb83
GM
9356 * xterm.c (note_mouse_highlight): Process overlays in the right
9357 order of priority.
34a7a267 9358
743934db
GM
9359 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9360
9361 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9362 overlay, use that overlay as the object in which the help was found.
743934db 9363
d1dc7e43 9364 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9365
62145073
GM
9366 * window.c (foreach_window): Instead of a fake variable argument
9367 list, take one USER_DATA argument.
9368 (foreach_window_1): Likewise, and call callback functions with two
9369 args, the window and USER_DATA.
9370 (struct check_window_data): New struct.
9371 (check_window_containing): Use it.
9372 (window_from_coordinates): Set up a struct check_window_data for
9373 foreach_window.
9374 (add_window_to_list, freeze_window_start): Change parameters
9375 according to new calling convention.
9376
9377 * window.h (foreach_window): Change prototype.
9378
9379 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9380
93812000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9382
9383 * xmenu.c (menu_help_callback): Call show_help_echo with
9384 additional arguments OBJECT and POS.
9385
11270583
KH
93862000-07-21 Kenichi Handa <handa@etl.go.jp>
9387
07b14857
KH
9388 * data.c (Faset): Allow storing any multibyte character in a
9389 string. Convert unibyte string to multibyte if necessary.
9390
11270583
KH
9391 * xfns.c (x_encode_text): New function.
9392 (x_set_name): Use x_encode_text.
9393 (x_set_title): Likewise.
9394
9395 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9396
9397 * xterm.h (x_encode_text): Add prototype.
9398
bc75b4fd
DL
93992000-07-20 Dave Love <fx@gnu.org>
9400
9401 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9402 xfree, not free.
9403
48c14970
EZ
94042000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9405
9406 * msdos.c (help_echo_window): New variable.
9407 (syms_of_msdos): Initialize and staticpro it.
9408 (IT_note_mode_line_highlight): Set help_echo_window.
9409 (IT_note_mouse_highlight): Ditto.
9410 (dos_rawgetc): Store help_echo_window in the second event produced
9411 for HELP_EVENTs.
9412
9413 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9414 Record the object that generated the help echo and the position of
9415 that object in help_echo_object and help_echo_pos. Record that
9416 some glyphs in a row are displayed in mouse-face.
9417 (IT_update_begin): Don't clear mouse highlight unless one of the
9418 enabled glyph rows is marked as being displayed in mouse-face.
9419 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9420 and position recorded in help_echo_object and help_echo_pos to the
9421 event queue.
9422 (IT_menu_display): Accept a new argument PN: the pane number of
9423 the current menu pane. Record the pane number and the item
9424 number of the item which has associated help string.
9425 (XMenuActivate): Update the prototype for help_callback in
9426 function declaration. Call IT_menu_display with the current menu
9427 pane number as an additional argument. Call help_callback with
9428 two additional arguments: the pane number and the item number of
9429 the menu item associated with the help text.
9430 (help_echo_object, help_echo_pos): New variables.
9431 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9432
9433 * msdos.h (XMenuActivate): Update prototype.
9434
4279296d
GM
94352000-07-19 Gerd Moellmann <gerd@gnu.org>
9436
47db06aa
GM
9437 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9438 Add some more prototypes.
9439
9440 * xterm.c, xterm.h: Add some more prototypes.
9441
9442 * lisp.h (Fnext_single_char_property_change): Add prototype.
9443
9444 * dispnew.c (direct_output_for_insert): Remove confusing
9445 outer local variable mouse_face_overwritten_p.
9446 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9447
4279296d
GM
9448 * alloc.c (allocate_string_data): Don't copy old string contents.
9449
670acd62
KH
94502000-07-19 Kenichi Handa <handa@etl.go.jp>
9451
9452 * coding.c (code_convert_region): Delete text properties before
9453 shrinking the conversion region.
9454
7cea38bc
GM
94552000-07-18 Gerd Moellmann <gerd@gnu.org>
9456
dc1cac59
GM
9457 * dispnew.c (update_text_area): Write the whole row if it
9458 has mouse-face in it.
9459
85a8aca9
GM
9460 * xfaces.c (face-alternative-font-family-alist): Remove
9461 DEFVAR_LISP; staticpro instead.
9462
34a7a267 9463 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9464 new arguments.
9465
9466 * keyboard.c (show_help_echo): Add parameter WINDOW.
9467 (read_char): Call show_help_echo with window extracted from Lisp
9468 help event.
9469 (gen_help_event): Add parameter WINDOW.
9470
9471 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9472
9473 * xterm.c (help_echo_window): New variable.
52283633 9474 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9475 (XTread_socket): Pass help_echo_window to gen_help_event.
9476 (syms_of_xterm): Initialize and staticpro help_echo_window.
9477
f8276b77
DL
94782000-07-18 Dave Love <fx@gnu.org>
9479
52283633 9480 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9481
088831a6
GM
94822000-07-18 Gerd Moellmann <gerd@gnu.org>
9483
3d6cd763
GM
9484 * alloc.c (allocate_string_data): If string had already data
9485 assigned, copy old contents to new string data.
9486
9487 * coding.c (syms_of_coding): Fix typo in spelling of variable
9488 `inhibit-iso-escape-detection'.
9489
088831a6
GM
9490 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9491
9492 * Makefile.in: Add dependencies on dispextern.h.
9493 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9494 `free'; both can conflict with system header files.
9495
bc8a8d55
KH
94962000-07-18 Kenichi Handa <handa@etl.go.jp>
9497
9498 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9499 undefined.
9500
069f5950
DL
95012000-07-18 Dave Love <fx@gnu.org>
9502
9503 * window.c (Fwindow_list): Declare arg `window'.
9504
aa96c820
KH
95052000-07-18 Kenichi Handa <handa@etl.go.jp>
9506
9507 * coding.c (setup_coding_system): Don't override the explicitly
9508 specified designations.
9509
06be8d32
MB
95102000-07-15 Miles Bader <miles@gnu.org>
9511
9512 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9513 from `text_property_eq' and `text_property_stickiness', respectively.
9514 (find_field, Fconstrain_to_field, char_property_eq)
9515 (char_property_stickiness): Changed to call char-property functions
9516 instead of text-property-only ones.
9517
9518 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9519 `next_single_char_property_change'). Do more error checking, and
9520 cleanup limit behavior.
9521 (Fprevious_single_char_property_change): New function.
9522 (syms_of_textprop): Initialize new subrs.
9523
9524 * xdisp.c (display_prop_end, invisible_text_between_p):
9525 Call Fnext_single_char_property_change instead of
9526 next_single_char_property_change.
9527
3fddcdc3
JR
95282000-07-15 Jason Rumney <jasonr@gnu.org>
9529
9530 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9531 after menu is finished with.
9532 (add_menu_item): Only consider wv->title as a menu title.
9533 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9534
9535 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9536 null title.
9537 (FONT_REGEXP): Remove unused macro, and its sub-components.
9538 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9539
9540 * w32term.c (help_echo_object, help_echo_pos): New variables.
9541 (note_mode_line_highlight): Store additional information about the
9542 help-echo in help_echo_object and help_echo_pos. Check both
9543 `local-map' and `keymap' properties for changing the cursor
9544 (note_mouse_highlight): Store additional information about the
9545 help-echo in help_echo_object and help_echo_pos.
9546 (note_tool_bar_highlight): Set help_echo_object to nil and
9547 help_echo_pos to -1.
9548 (w32_read_socket): Use gen_help_event instead of filling
9549 input_events manually.
9550 (syms_of_w32term): Staticpro help_echo_object.
9551 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9552 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9553 (x_clear_mouse_face): New function.
9554 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9555 (x_update_window_begin): No need to turn off the mouse
9556 highlight here.
9557 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9558 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9559 (x_fill_stretch_glyph_string): Consume runs of stretch
9560 glyphs instead of a single one.
9561 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9562 with new argument list.
9563 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9564 (x_append_glyph, x_append_composite_glyph)
9565 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9566 changes in struct glyph starting 1999-12-27. See comments for
9567 xterm.c on 2000-07-05.
9568
178c5d9c
SS
95692000-07-14 Sam Steingold <sds@gnu.org>
9570
9571 * xfaces.c (realize_x_face): Fix the last patch:
9572 check `default_face' before dereferencing.
9573
6fe533f6
DL
95742000-07-14 Dave Love <fx@gnu.org>
9575
069f5950 9576 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9577
dd7b81cf
KH
95782000-07-14 Kenichi Handa <handa@etl.go.jp>
9579
0693904a 9580 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9581 default_face's fontset, not using the default fontset.
0693904a 9582
dd7b81cf
KH
9583 * coding.c (inhibit_iso_escape_detection): New variable.
9584 (syms_of_coding): Make it a Lisp variable.
9585 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9586 nonzero, ignore ISO2022's escape sequence.
9587
d5aa31d8
GM
95882000-07-14 Gerd Moellmann <gerd@gnu.org>
9589
e5acf0ca
GM
9590 * alloca.c (malloc) [emacs]: Define as xmalloc.
9591
bd23a692
GM
9592 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9593 use that instead of the mouse position. Add parameters DX and DY.
9594
9595 * dispextern.h (Fx_show_tip): Adjust number of parameters
9596 in prototype.
9597
9662da0b
GM
9598 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9599 if HELP is a function, call it with OBJECT and POS as parameters
9600 to get the help to display.
9601 (gen_help_event, kbd_buffer_store_help_event): New functions.
9602 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9603 (read_char): Call show_help_echo with new parameters.
9604
178c5d9c 9605 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9606 Add prototypes.
9607
9608 * xterm.c (help_echo_object, help_echo_pos): New variables.
9609 (note_mode_line_highlight): Store additional information about the
9610 help-echo in help_echo_object and help_echo_pos. Check both
9611 `local-map' and `keymap' properties for changing the cursor
9612 (note_mouse_highlight): Store additional information about the
9613 help-echo in help_echo_object and help_echo_pos.
9614 (note_tool_bar_highlight): Set help_echo_object to nil and
9615 help_echo_pos to -1.
9616 (XTread_socket): Use gen_help_event instead of filling
9617 input_events manually.
9618 (syms_of_xterm): Staticpro help_echo_object.
9619
9620 * xmenu.c (menu_highlight_callback): Use
9621 kbd_buffer_store_help_event instead of setting up and input_event
9622 structure manually.
9623
9624 * xdisp.c (eval_form): GCPRO argument sexpr.
9625 (call_function): New function.
9626 (handle_single_display_prop): Use call_function and FUNCTIONP
9627 instead of checking whether if font_height is a symbol and
9628 using eval_form.
9629
9630 * eval.c (internal_condition_case_2): New function.
9631
9632 * lisp.h (FUNCTIONP): New macro.
9633 (internal_condition_case_2, call_function): Add prototypes.
9634
d5aa31d8
GM
9635 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9636 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9637 Always set `arg' member of input_events.
9638 (construct_menu_click): Unused function removed.
9639
9640 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9641
9642 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9643 (construct_drag_n_drop, x_scroll_bar_handle_click)
9644 (w32_read_socket): Always set `arg' member of input_events.
9645
9646 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9647
9648 * lisp.h (eval_form): Add prototype.
9649
9650 * xdisp.c (eval_form): Make it externally visible.
9651
0f1a9b23
GM
96522000-07-13 Gerd Moellmann <gerd@gnu.org>
9653
9654 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9655 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9656 consing. For prefix events, store the frame in the `arg' slot of
9657 the event, otherwise store the key there.
9658 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9659 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9660
9661 * xmenu.c (menu_highlight_callback): Store help string in the
9662 `arg' member of the input event; don't cons.
9663 (menubar_selection_callback): Use the `arg' slot of input events
9664 to queue additional information, instead of consing.
9665
9666 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9667
9668 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9669 TOOL_BAR_EVENTs.
9670 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9671
9672 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9673 input events to queue additional information, instead of consing.
9674
9675 * keyboard.c (kbd_buffer_gcpro): Renamed from
9676 kbd_buffer_frame_or_window. Now used for all Lisp objects
9677 referenced from the input queue.
9678 (kbd_buffer_store_event): Always use structure assignment for
9679 copying input events. Record all Lisp objects referenced from
9680 events in kbd_buffer_gcpro.
9681 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9682 differently from input events. Test for prefix menu_bar_events
9683 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9684 event in kbd_buffer_gcpro to nil.
9685 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9686 frame_or_window is equal to its arg member as prefix events.
9687 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9688 used by an input event to nil.
9689 (init_keyboard): Use two times the size of the input queue
9690 for kbd_buffer_gcpro.
9691 (syms_of_keyboard): Likewise.
9692
52283633
SM
9693 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9694 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9695
9696 * termhooks.h (struct input_event): Add member `arg'.
9697 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9698 (USER_SIGNAL_EVENT): Renamed from user_signal.
9699
9700 * xfaces.c (ASET): Remove definition.
9701
9702 * lisp.h (AREF, ASET, ASIZE): New macros.
9703
9704 * fontset.c (AREF, ASIZE): Remove definitions.
9705
9706 * fns.c (AREF): Remove definition.
178c5d9c 9707
0f1a9b23
GM
9708 * composite.c (AREF): Remove definition.
9709
712eaef2
GM
97102000-07-12 Gerd Moellmann <gerd@gnu.org>
9711
d8ee7803
GM
9712 * dispnew.c (redraw_overlapped_rows): Add missing local.
9713 (scrolling_window): Remove debug code.
9714
712eaef2
GM
9715 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9716 Before scrolling, turn off a mouse-highlight in the window
9717 being scrolled.
9718
9719 * xterm.c (x_update_window_end): Add parameter
9720 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9721 redisplay in XTframe_up_to_date.
9722 (x_clear_mouse_face): New function.
9723 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9724
9725 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9726 current glyph row.
9727 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9728 it when any row is written to that contains glyphs highlighted in
9729 mouse-face.
9730 (update_window): Call the window update end hook with new
9731 parameter MOUSE_FACE_OVERWRITTEN_P.
9732 (direct_output_for_insert): Give up if row contains mouse-face.
9733
9734 * dispextern.h (struct redisplay_interface): Add parameter
9735 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9736 (clear_mouse_face): New function pointer member.
9737
02010917
SM
97382000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9739
9740 * syntax.c (back_comment): Use one switch rather than a few `if's.
9741 Obey open_paren_in_column_0_is_defun_start.
9742 When reverting to the `slow' method, try to nicely handle the case
9743 of nested comments by checking that the comment-starter we found
9744 does indeed match the comment-ender.
9745 (scan_sexps_forward, scan_sexps_forward):
9746 Ignore excessive opening parenthesis rather than throwing an error.
9747
d76c03ea
GM
97482000-07-11 Gerd Moellmann <gerd@gnu.org>
9749
9750 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9751 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9752
9753 * dispnew.c (direct_output_forward_char): Give up if currently
9754 displaying a message instead of the minibuffer contents.
9755
9756 * xterm.c (x_update_window_begin): No need to turn off the mouse
9757 highlight here.
9758 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9759 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9760
9761 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9762 compare the mouse_face_p flags of both rows.
9763
9764 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9765
d55ead18
EZ
97662000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9767
9768 * keyboard.c (show_help_echo): Accept additional parameter
9769 ok_to_overwrite_keystroke_echo.
9770 (read_char): Call show_help_echo with a zero
9771 ok_to_overwrite_keystroke_echo argument.
52283633 9772 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9773 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9774 ok_to_overwrite_keystroke_echo argument.
9775 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9776 non-zero ok_to_overwrite_keystroke_echo argument.
9777
df75b1a3
GM
97782000-07-10 Gerd Moellmann <gerd@gnu.org>
9779
4b92c49a
GM
9780 * xdisp.c (try_window_id): If changes are all below what is
9781 displayed in the window, and point is in the window, we still
9782 might have to find point on the display.
9783
9784 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9785 glyphs instead of a single one.
9786 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9787 with new argument list.
9788 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9789
df75b1a3
GM
9790 * keymap.c (get_keymap_1): Add comment that this function can GC.
9791 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9792 comment that functions can GC.
9793 (Fset_keymap_parent): GCPRO arg KEYMAP.
9794
4314cf3e
EZ
97952000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9796
9797 * msdos.c (XMenuActivate): After exiting the menu, restore the
9798 echo area message and erase it.
9799
ab49ce15
KH
98002000-07-10 Kenichi Handa <handa@etl.go.jp>
9801
9802 * fontset.c (Ffontset_info): Make the return value more compatible
9803 with that of Emacs 20.
9804
090a072f
GM
98052000-07-07 Gerd Moellmann <gerd@gnu.org>
9806
9807 * eval.c (Fsignal): Handle case that backtrace_list is null.
9808
f92de4a6
KH
98092000-07-07 Kenichi Handa <handa@etl.go.jp>
9810
9811 * ccl.c (Fccl_execute): Typo fixed.
9812
dd8888a1
GM
98132000-07-06 Gerd Moellmann <gerd@gnu.org>
9814
e5c81191 9815 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9816
dd8888a1
GM
9817 * window.c (Fwindow_list): Reverse list at the end.
9818 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9819 means allow windows on OWINDOW's frame, only.
9820 (window_loop): Simplified; use Fwindow_list.
9821
9822 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9823
485266d0
GM
98242000-07-05 Gerd Moellmann <gerd@gnu.org>
9825
9826 * xterm.c (XTread_socket): Increment handling_signal at the start,
9827 decrement it at the end.
9828
9829 * eval.c (handling_signal): New variable.
9830 (Fsignal): Abort if handling_signal is non-zero.
9831
9832 * lisp.h (handling_signal): External declaration.
178c5d9c 9833
485266d0
GM
9834 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9835
80fcd514
KR
98362000-07-05 Ken Raeburn <raeburn@gnu.org>
9837
9838 Sound support for NetBSD through "Linux emulation" support:
9839 * config.in (HAVE_SOUNDCARD_H): Undef.
9840 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9841 * Makefile.in (LIBSOUND): New variable.
9842 (LIBES): Include it.
52283633
SM
9843 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9844 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9845 (vox_open): Use DEFAULT_SOUND_DEVICE.
9846 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9847
d5c5cddd
GM
98482000-07-05 Gerd Moellmann <gerd@gnu.org>
9849
9850 * print.c (print_error_message): If Vsignaling_function is set,
9851 show it in *Messages*.
9852
9853 * lisp.h (Vsignaling_function): External declaration.
9854
9855 * eval.c (Vsignaling_function): New variable.
9856 (Fsignal): Compute it.
9857 (syms_of_eval): Staticpro it.
9858
65171e3a
DL
98592000-07-05 Dave Love <fx@gnu.org>
9860
9861 * syswait.h: Use the autoconf recommended approach. Old code
9862 #if'd out in case we need to revert.
9863
178c5d9c 9864 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9865
e2c46326
AI
98662000-07-05 Andrew Innes <andrewi@gnu.org>
9867
9868 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9869 when non-NULL instead of __morecore, to take account of buffer
9870 memory. This also solves a problem with spurious memory warnings
9871 on Windows.
9872
9873 * ralloc.c: Make real_morecore non-static.
9874
9875 * eval.c (internal_condition_case): Comment out abort if
9876 interrupt_input_blocked is not zero.
9877
9878 * makefile.nt: Add support for `bootstrap' and related targets.
9879 Include minimal debug info in emacs.exe in release build.
9880 Remove all dependencies on lisp.h, and fixup some others.
9881
9882 * w32.c (init_environment): Install code from 20.7 for providing
9883 default values for environment variables, based on the
9884 executable's own location.
52283633 9885 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9886 (sys_socket): Install socket inheritance bug fix from 20.7.
9887
9888 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9889 here via blockinput.h).
9890
a027a91b
SM
98912000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9892
e4b31601
SM
9893 * w32menu.c (w32_menu_display_help):
9894 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9895
9896 * keyboard.h (show_help_echo): Declare.
9897
9898 * keyboard.c (show_help_echo): New function, extracted from read_char.
9899 Feval its `msg' argument if it's a cons cell.
9900 (read_char): Use it.
4cf8d9d5 9901 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9902
178c5d9c 9903 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9904 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9905 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9906 (dos_rawgetc):
9907 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9908 (note_tool_bar_highlight, w32_read_socket):
9909 Do not gratuitously ignore non-string `help-echo' properties.
9910
88d75730
GM
99112000-07-05 Gerd Moellmann <gerd@gnu.org>
9912
969f7e79
GM
9913 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9914
71201b00
GM
9915 * window.c (delete_all_subwindows): Reset Vwindow_list.
9916
88d75730
GM
9917 * xterm.c (x_append_glyph, x_append_composite_glyph)
9918 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9919 changes in struct glyph starting 1999-12-27. Some bit-fields of
9920 struct glyph were not set, which made glyphs unequal when compared
9921 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9922 effects were the result. This also depended on the contents of
9923 memory returned by xmalloc. If flickering happens again, activate
9924 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9925 gone with that, chances are that it is caused by something similar.
88d75730
GM
9926
9927 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9928
88d75730
GM
9929 * dispextern.h: Add some comments.
9930
9931 * window.c (add_window_to_list): Add parameter LIST.
9932 (window_list): Order list so that, for each frame, windows are
9933 in canonical order, and so that frames appear in the list in
9934 the order given by Vframe_list.
9935 (next_window): Reverse the handling of NEXT_P.
9936
53654733
GM
99372000-07-04 Gerd Moellmann <gerd@gnu.org>
9938
87efd256
GM
9939 * window.c (Vwindow_list): New variable.
9940 (make_window, delete_window): Set Vwindow_list to nil.
9941 (check_window_containing): New function.
9942 (window_from_coordinates): Rewritten.
9943 (add_window_to_list, window_list, candidate_window_p)
9944 (decode_next_window_args, next_window): New functions.
52283633 9945 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9946 (Fwindow_list): New function.
9947 (Fother_window): Cleaned up.
9948 (foreach_window): Add a longer "variable argument list". Let
9949 callback function return 0 to indicate that cycling over windows
9950 should stop.
9951 (foreach_window_1): Likewise.
9952 (freeze_window_start): Return int.
9953 (init_window): New function.
9954 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9955
9956 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9957 input_event with bzero.
9958 (main): Call init_window.
9959
53654733
GM
9960 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9961 a menu filter.
9962
4a8c194f
KH
99632000-07-04 Kenichi Handa <handa@etl.go.jp>
9964
9965 * composite.h (make_composition_value_copy): Extern it.
9966
9967 * composite.c (make_composition_value_copy): New function.
9968
9969 * editfns.c (Fformat): While copying text properties, make each
9970 composition property value a copy.
9971
9972 * fns.c (concat): While copying text properties, make each
9973 composition property value a copy.
9974
831a6cb0
GM
99752000-07-03 Gerd Moellmann <gerd@gnu.org>
9976
2f516940
GM
9977 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9978
178c5d9c 9979 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9980 marked already.
9981
831a6cb0
GM
9982 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9983 include those frames as candidates which have their focus
9984 redirected to the minibuffer frame.
9985
d9c4f922
SM
99862000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9987
9988 * fns.c (Fputhash): Return `value' rather than nil.
9989
3780bc22
GM
99902000-06-30 Gerd Moellmann <gerd@gnu.org>
9991
97d176db
GM
9992 * frame.c (next_frame): Don't check focus redirection in case
9993 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9994 unless their focus is redirected, which contradicts the
9995 specification of next-frame, and leads to infinite loops in
9996 certain situations when cycling through windows with next-window.
9997
dca9961d
KH
99982000-06-30 Kenichi Handa <handa@etl.go.jp>
9999
10000 * coding.c (code_convert_region): Even if the length of text is
10001 zero, try to convert it if coding->type is coding_type_ccl.
10002 (decode_coding_string, encode_coding_string): Likewise.
10003
d5483ab1
GM
100042000-06-28 Gerd Moellmann <gerd@gnu.org>
10005
af5c25e1 10006 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10007 the display if windows_or_buffers_changed.
af5c25e1
GM
10008
10009 * dispnew.c (struct row_entry): New structure.
10010 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10011 (row_table_size, old_lines, new_lines, old_lines_size)
10012 (new_lines_size, run_pool, runs_size, runs): New variables.
10013 (add_row_entry): New function.
10014 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10015 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10016 holding them in local variables. Use a larger hash table whose
10017 size depends on glyph matrix sizes. Don't use bzero to clear the
10018 hash table; instead, clear used slots only.
10019
10020 * fns.c (next_almost_prime): Make it externally visible.
10021
10022 * lisp.h (next_almost_prime): Add prototype.
10023
d5483ab1
GM
10024 * s/isc4-0.h (sigunblock): Define.
10025
10026 * s/sco5.h (sigunblock): Define.
10027
93e40f40
DL
100282000-06-27 Dave Love <fx@gnu.org>
10029
10030 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10031 (moved to osf5-0.h).
10032 [!NOT_C_CODE]: Protect string.h stuff.
10033
10034 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10035 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10036
3c4b7685
GM
100372000-06-27 Gerd Moellmann <gerd@gnu.org>
10038
97d176db 10039 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10040 below the last line from the needed window height.
10041
32cad0aa
SM
100422000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10043
10044 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10045 (Fwidget_get): Use it.
10046 (syms_of_fns): Defsubr it.
10047
2c69ced2
GM
100482000-06-26 Gerd Moellmann <gerd@gnu.org>
10049
178c5d9c 10050 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10051 display info for XIM.
10052 (xim_open_dpy): Likewise.
10053 (xim_close_dpy): Don't free the display info's XIM.
10054
10055 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10056
10057 * config.in (USE_XIM): New define.
10058
3fc720e4
GM
10059 * keymap.c (get_keyelt): For menu-items containing a `:filter
10060 FILTER', apply FILTER to the menu-item's definition to get the
10061 real definition to use.
10062
10063 * lisp.h (QCfilter): External declaration.
10064
2c69ced2
GM
10065 * xfns.c (Fimage_size): New function.
10066 (syms_of_xfns): Defsubr it.
10067
f978b2a2
AS
100682000-06-26 Andreas Schwab <schwab@suse.de>
10069
10070 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10071 Fstring_as_unibyte.
10072
94cc7892
DL
100732000-06-25 Dave Love <fx@gnu.org>
10074
52283633 10075 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10076
10077 * Makefile.in (blockinput.h): Depend on atimer.h.
10078 (atimer.h): Depend on systime.h.
10079
52283633 10080 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10081
52283633 10082 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10083
10084 * lisp.h (swap_in_global_binding): Declare.
10085
b8c24556
KR
100862000-06-24 Ken Raeburn <raeburn@gnu.org>
10087
10088 * process.c (Fopen_network_stream): Turn off atimers for duration
10089 of call to connect. (Patch from Gerd.)
10090
8cf8560b
DL
100912000-06-23 Dave Love <fx@gnu.org>
10092
511c7541
DL
10093 * ralloc.c: Maybe include unistd.h
10094
8cf8560b
DL
10095 * emacs.c (setgrp): Undefine before defining.
10096 (malloc_warning, set_time_zone_rule, index): Prototype.
10097
10098 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10099 HAVE_STRUCT_TIMEZONE.
10100
10101 * s/osf1.h: Move string.h hack here from alpha.h and make it
10102 conditional.
10103 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10104 _XOPEN_SOURCE.
10105 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10106 (SOCKLEN_TYPE): Don't define.
10107
10108 * m/alpha.h: Remove string.h hack.
10109
10110 * s/osf5-0.h: New file.
10111
10112 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10113 include time.h, done by systime.h.
10114 [__FreeBSD__]: Remove redundant includes.
10115
3fc720e4 10116 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10117 (delete_temp_file): Return Qnil to avoid warning.
10118
10119 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10120
10121 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10122 HAVE_X_WINDOWS.
10123
10124 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10125
10126 * composite.h (compose_text): Declare.
10127
10128 * xterm.c: Don't include sys/types.h unconditionally. Don't
10129 protect its inclusion with !USG (following xmenu.c).
10130
ea055732
GM
101312000-06-23 Gerd Moellmann <gerd@gnu.org>
10132
10133 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10134 in x_create_frame.
10135
74b01b80
EZ
101362000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10137
10138 * coding.c (decode_eol_post_ccl): Special handling for undecided
10139 and inconsistent EOL types.
10140
64f3a166
GM
101412000-06-22 Gerd Moellmann <gerd@gnu.org>
10142
16cf31f7
GM
10143 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10144 trough color and main window's background color.
10145
52283633 10146 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10147
10148 * xterm.h (Xt_app_con): External declaration.
10149
10150 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10151
486a103d
GM
10152 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10153
64f3a166
GM
10154 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10155 (handle_invisible_prop): Record the start of invisible text in
10156 it->add_overlay_start.
10157 (struct overlay_entry): Add member `overlay'.
10158 (handle_overlay_change): Simplify.
10159 (next_overlay_string): After having processed overlay strings at the
10160 end of the buffer, record that fact in
10161 it->overlay_strings_at_end_processed_p.
10162 (compare_overlay_entries): If before- and after-strings come
10163 from the same overlay, let before-strings come first.
10164 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10165 (load_overlay_strings): Take it->add_overlay_start into account
10166 when adding overlay strings.
10167
10168 * dispextern.h (struct it): Add member add_overlay_start.
10169
bb746ea6
DL
101702000-06-22 Dave Love <fx@gnu.org>
10171
10172 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10173
10174 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10175
a8f573f3
KH
101762000-06-22 Kenichi Handa <handa@etl.go.jp>
10177
10178 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10179 is greater than 0.
10180
9f2bbc92
DL
101812000-06-21 Dave Love <fx@gnu.org>
10182
178c5d9c 10183 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10184
3ee5041c
SM
101852000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10186
10187 * syntax.c (back_comment): Simplify string-parity counting (with
10188 the added benefit of handling multiple string-styles as long as
10189 they are not intertwined).
10190 Jump to the slow code as soon as a comment starter is found in
10191 a "string_lossage" position. Fixes the case: " /* " /* " */.
10192
4c343001
DL
101932000-06-21 Dave Love <fx@gnu.org>
10194
10195 * Makefile.in: Use GETLOADAVG_LIBS.
10196
10197 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10198 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10199
e6365855
SM
102002000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10201
10202 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10203 (Fforward_comment, scan_lists):
10204 Check the comstyle of single-char comment-starters.
10205 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10206 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10207 Check the comstyle of single-char comment-starters.
10208 Clarify control-flow around the Scomment case.
e6365855 10209
5700d2cc
DL
102102000-06-20 Dave Love <fx@gnu.org>
10211
d355bd8a
SM
10212 * fns.c (make_hash_table, maybe_resize_hash_table):
10213 Cast arg of next_almost_prime.
5700d2cc 10214
178c5d9c 10215 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10216
10217 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10218 and unistd.h.
10219
4a27bdfb
GM
102202000-06-20 Gerd Moellmann <gerd@gnu.org>
10221
a61d762c 10222 * keyboard.c (adjust_point_for_property): Check if display
52283633 10223 property should be treated as intangible by looking at its value.
a61d762c 10224
178c5d9c 10225 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10226 (display_prop_intangible_p): New functions.
10227
10228 * dispextern.h (display_prop_intangible_p): Add prototype.
10229
10230 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10231
4a27bdfb
GM
10232 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10233 argument to sigprocmask.
10234
10235 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10236 argument to sigprocmask.
10237
10238 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10239 sigprocmask_set, and pass a pointer to it to sigprocmask.
10240
10241 * sysdep.c (sigprocmask_set): New variable.
10242
10243 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10244 report_file_error.
10245
427ec082
SS
102462000-06-20 Sam Steingold <sds@gnu.org>
10247
10248 * xrdb.c: Don't declare xmalloc, xrealloc.
10249
8972fe79 102502000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10251
10252 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10253 (re_comp): Cast gettext return value to avoid complaints when
10254 !HAVE_LIBINTL.
10255
074b6efe
DL
102562000-06-20 Dave Love <fx@gnu.org>
10257
52283633 10258 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10259
5700d2cc 10260 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10261
d355bd8a 10262 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10263
10264 * m/alpha.h: Don't declare xmalloc, xrealloc.
10265
0af4f205
DL
10266 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10267
10268 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10269
10270 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10271
10272 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10273 HAVE_GETWD.
10274
074b6efe
DL
10275 * keyboard.h (poll_for_input_1): Declare.
10276
10277 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10278
10279 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10280
10281 * doprnt.c: Don't declare xmalloc, xrealloc.
10282
10283 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10284 (getenv, ctime, getwd): Removed.
10285 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10286
10287 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10288 x_set_tool_bar_lines.
10289
10290 * config.in: Add HAVE_GETWD. Move some definitions above
10291 machine/system includes.
10292
68a5e97b
KH
102932000-06-20 Kenichi Handa <handa@etl.go.jp>
10294
95417e1e
KH
10295 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10296
68a5e97b
KH
10297 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10298 contain information about ENCODING.
10299
10300 * fontset.c (FONTSET_ASCII): Use the first element of char table
10301 for an ASCII font, not defalt slot.
10302 (fontset_ref_via_base): If FONTSET doesn't contain information for
10303 C, try the default fontset.
10304 (make_fontset): Don't copy the default fontset.
10305 (fontset_font_pattern): Likewise.
10306 (accumulate_font_info): If ELT is nil, use the corresponding
10307 element in the default fontset.
10308
3b4fa1b2
DL
103092000-06-19 Dave Love <fx@gnu.org>
10310
943e731c
DL
10311 * syntax.c (Fparse_partial_sexp): Doc fix.
10312
10313 * regex.h: Test PROTOTYPES as well as __STDC__.
10314
3b4fa1b2
DL
10315 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10316 errno, strerror. Put text after #endif in comment.
10317
52283633 10318 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10319
10320 * xterm.c (x_frame_of_widget): Likewise.
10321
cdf0357b
GM
103222000-06-19 Gerd Moellmann <gerd@gnu.org>
10323
10324 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10325 to Vfundamental_mode_abbrev_table.
10326
10327 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10328 bogus objects are marked. This slows down GC by ~80 percent, but
10329 it might be worth trying when debugging GC-related problems.
10330 This feature requires conservative stack marking to be enabled.
10331
10332 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10333 returns XLookupChars, reset `modifiers' to zero.
10334
998e9f8c
DL
103352000-06-19 Dave Love <fx@gnu.org>
10336
10337 * mktime.c: Unprotoized.
10338
18e21ce8 103392000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10340
10341 * data.c (set_internal): If variable is frame-local,
10342 store the new value immediately into the frame parameter alist.
10343
140c4ac6
KR
103442000-06-19 Ken Raeburn <raeburn@gnu.org>
10345
14358466
KR
10346 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10347 in the custom handler pointer.
10348
140c4ac6
KR
10349 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10350 value, or checks for CHAR_META can fail when Lisp_Object is a
10351 union type.
10352 * keymap.c (get_keyelt): Likewise.
10353
10d7bf84
KH
103542000-06-19 Kenichi Handa <handa@etl.go.jp>
10355
10356 * ccl.h (struct ccl_program): New member eol_type.
10357 (struct ccl_spec): New member cr_carryover.
10358
10359 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10360 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10361
10362 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10363 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10364 (decode_eol_post_ccl): New function.
10365 (decode_coding): Don't detect EOL format here for CCL based coding
10366 systems.
10367 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10368 decode_eol_post_ccl after running the CCL program.
10369 (code_convert_region): Don't detect EOL format here for CCL based
10370 coding systems.
10371 (decode_coding_string): Likewise.
10372
52e386c2
KR
103732000-06-18 Ken Raeburn <raeburn@gnu.org>
10374
10375 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10376 when treating it as an integer.
10377
10378 * coding.h (encode_coding_string): Declare.
10379
10380 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10381 it as an integer.
10382
10383 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10384 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10385 to be passed to get_local_map.
10386
10387 * sound.c (Fplay_sound): Don't call make_number on
10388 Frun_hook_with_args count argument.
10389
10390 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10391 for lisp objects in X event structure data field, when lisp
10392 objects are represented with unions.
10393 (x_scroll_bar_to_input_event): Ditto.
10394
b357b9d4
KR
103952000-06-16 Ken Raeburn <raeburn@gnu.org>
10396
10397 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10398 termination of string. Fix sense of test whether
10399 Vline_number_display_limit is an integer.
b357b9d4 10400
a871441d
GM
104012000-06-16 Gerd Moellmann <gerd@gnu.org>
10402
a9021acd
GM
10403 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10404 only if HAVE_X_WINDOWS.
10405
6344985d
GM
10406 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10407 of titles.
10408
427ec082 10409 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10410 out of bounds.
10411
228b083e
EZ
104122000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10413
10414 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10415 of its headers.
10416
c25b53a2
KH
104172000-06-15 Kenichi Handa <handa@etl.go.jp>
10418
10419 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10420 start of the while loop.
10421
a6981b11
GM
104222000-06-15 Gerd Moellmann <gerd@gnu.org>
10423
e9924e52
GM
10424 * atimer.c (alarm_signal_handler): Add forward declaration.
10425
a6981b11
GM
10426 * data.c (set_internal): Remove debug code.
10427
25fa6deb
GM
104282000-06-14 Gerd Moellmann <gerd@gnu.org>
10429
dce6b995
GM
10430 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10431
9f817ea4
GM
10432 * unexec.c (toplevel) [COFF]: Include coff.h.
10433
10434 * s/lynxos.h: New file.
10435
10436 * keymap.c (Fsingle_key_description): Enclose function key and
10437 event symbol names in angle brackets.
10438
8a4e3c0c
GM
10439 * xdisp.c (setup_echo_area_for_printing): Call
10440 message_log_maybe_newline if message_buf_print is not set.
10441
10442 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10443 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10444 function does something useful even when message_buf_print is
10445 already set.
10446
52283633
SM
10447 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10448 New variables.
25fa6deb
GM
10449 (ensure_echo_area_buffers): Initialize echo buffer's
10450 truncate lines setting to nil.
10451 (with_echo_area_buffer): Don't set the echo buffer's truncate
10452 lines setting here.
8a4e3c0c 10453 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10454 of message_truncate_lines.
10455 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10456 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10457 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10458
10459 * keyboard.c (read_char): Bind message-truncate-lines to t
10460 while displaying a help-echo.
10461
10462 * lisp.h (Qmessage_truncate_lines): External declaration.
10463
163dcff3
GM
104642000-06-13 Gerd Moellmann <gerd@gnu.org>
10465
1681ead6
GM
10466 * xdisp.c (Vline_number_display_limit): Renamed from
10467 line_number_display_limit.
10468 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10469 Extend documentation string. Initialize
10470 Vline_number_display_limit to nil meaning no limit.
10471 (decode_mode_spec): Use Vline_number_display_limit with its new
10472 meaning.
10473
163dcff3
GM
10474 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10475
18e21ce8 104762000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10477
10478 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10479
163dcff3
GM
10480 * xfns.c (x_set_frame_parameters): Comment fix.
10481
10482 * frame.c (store_frame_param): Call swap_in_global_binding if the
10483 variable's current binding was chosen based on this frame.
10484
10485 * data.c (swap_in_global_binding): New function.
10486
a704139d
EZ
104872000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10488
10489 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10490 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10491
9b6610db
EZ
104922000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10493
10494 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10495
c68833d2
JR
104962000-06-12 Jason Rumney <jasonr@gnu.org>
10497
10498 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10499
10500 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10501
10502 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10503
10504 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10505
ed1056b3
GM
105062000-06-12 Gerd Moellmann <gerd@gnu.org>
10507
10508 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10509 (syms_of_xfaces): Defsubr Sdump_colors.
10510 (x_free_colors): Don't treat b&w specially on default visual.
10511 (x_free_dpy_colors): New function.
10512 (free_face_colors): Don't check visual class; it's done
10513 in x_free_colors.
10514
10515 * xterm.c (x_frame_of_widget): New function.
10516 (x_alloc_nearest_color_for_widget): Use it.
10517 (x_copy_dpy_color): New function.
10518 (x_destroy_window): Free various colors.
10519
5050a2ef
KH
105202000-06-12 Kenichi Handa <handa@etl.go.jp>
10521
10522 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10523
10524 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10525
10526 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10527
10528 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10529
10530 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10531
fb1b041d
DL
105322000-06-11 Dave Love <fx@gnu.org>
10533
10534 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10535
ff96b5f4
EZ
105362000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10537
10538 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10539
db8eeecd
GM
105402000-06-11 Gerd Moellmann <gerd@gnu.org>
10541
ed1056b3 10542 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10543 to `XEvent *'.
10544
49b71c5f
KH
105452000-06-10 Kenichi Handa <handa@etl.go.jp>
10546
c479bd55
KH
10547 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10548 (regex_compile): Fix the code for handling the case of single byte
10549 char and multibyte char being mixed in a range within [...].
10550
ff6a65c2
KH
10551 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10552 and dst_multibyte members of coding.
10553
49b71c5f
KH
10554 * charset.c (update_charset_table): Update the table
10555 bytes_by_char_head.
10556 (init_charset_once): Initialize elements of bytes_by_char_head to
10557 1 except for leading codes for private charases.
10558
10559 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10560 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10561
9e80b57d
KR
105622000-06-09 Ken Raeburn <raeburn@gnu.org>
10563
10564 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10565 access the data it doesn't point to.
10566
f83fe4b4
GM
105672000-06-08 Gerd Moellmann <gerd@gnu.org>
10568
10569 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10570 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10571 event queue. This is necessary because Emacs otherwise won't
10572 perform a switch-frame to a new frame until some other event, for
10573 example a keystroke event, forces it to do so. This has various
10574 effects, one visible being that the cursor of a frame created with
10575 C-x 5 2 or switched to with a window manager key binding like
10576 A-TAB stays hollow because selected_window isn't on the newly
10577 focused frame until the switch-frame is performed.
10578
10579 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10580 generating a switch-frame event if necessary.
10581
10582 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10583
10584 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10585 it's an integer.
10586
0890801b
KH
105872000-06-08 Kenichi Handa <handa@etl.go.jp>
10588
52283633 10589 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10590
173cbca8
GM
105912000-06-07 Gerd Moellmann <gerd@gnu.org>
10592
3091c2a6
GM
10593 * window.c (displayed_window_lines): Take empty lines at
10594 the bottom of a window into account.
427ec082 10595
f38952fe
GM
10596 * window.c (displayed_window_lines): New function.
10597 (Fmove_to_window_line): Use displayed_window_lines to determine
10598 the number of lines to move, instead of using the window's height.
10599
10600 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10601 to stop reading, even if the form read sets point to a different
10602 value when evaluated.
10603
427ec082 10604 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10605 put the cursor.
10606
6ba6c818
KH
106072000-06-07 Kenichi Handa <handa@etl.go.jp>
10608
10609 * fileio.c (e_write): Free composition data if stored in
10610 coding->cmp_data.
10611
5f1aea9a
GM
106122000-06-06 Gerd Moellmann <gerd@gnu.org>
10613
666852af
GM
10614 * xdisp.c (display_line): Set row's and iterator's
10615 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10616 Set cursor even if row ends in the middle of a character.
10617 (dump_glyph_row): Print values of new flags.
10618 (redisplay_window) <cursor movement in unchanged window>: When
10619 point has been moved forward, and PT is at the end of the cursor
10620 row, don't place the cursor in the next row if the cursor row ends
10621 in the middle of a character or at ZV.
10622
10623 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10624 (struct glyph_row): Add starts_in_middle_of_char_p and
10625 ends_in_middle_of_char_p.
10626 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10627 ends_in_middle_of_char_p flag.
10628 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10629
d13f3e2e
GM
10630 * term.c (append_glyph): Revert change of 2000-06-06.
10631
10632 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10633 padding glyph not fitting on line as whole character not
10634 fitting on line.
10635
5f1aea9a
GM
10636 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10637 this isn't true for images with `:ascent 100'.
10638
10cda9b0
KH
106392000-06-06 Kenichi Handa <handa@etl.go.jp>
10640
ed00559d
KH
10641 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10642 as modified if it is originally unmodified.
10643
10cda9b0
KH
10644 * term.c (encode_terminal_code): Change the way to check if
10645 terminal coding does any conversion.
10646 (append_glyph): Set glyph->pixel_width correctly.
10647
10648 * xdisp.c (display_line): While checking line continuation, pay
10649 attention to a padding glyph.
10650
1969fae2
GM
106512000-06-05 Gerd Moellmann <gerd@gnu.org>
10652
10653 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10654
162ccef4
DL
106552000-06-05 Dave Love <fx@gnu.org>
10656
f19f32dd
DL
10657 * xdisp.c: Include fontset.h.
10658
10659 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10660
10661 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10662
10663 * dispnew.c: Conditionally include term.h.
10664
10665 * coding.h: Declare code_convert_string_norecord.
10666
10667 * frame.h (struct frame): Use volatile unconditionally.
10668
10669 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10670
10671 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10672
10673 * systime.h: Protect against multiple inclusion.
10674 (timezone) [USG5_4]: Define as time_t.
10675
10676 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10677 (Foptimize_char_table, make_temp_name): Declare.
10678
10679 * Makefile.in (xdisp.o): Depend on fontset.h.
10680
10681 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10682
10683 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10684 (Foptimize_char_table, make_temp_name): Declare.
10685
427ec082 10686 * s/irix4-0.h:
162ccef4
DL
10687 * s/irix5-0.h:
10688 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10689
2082fe81
DL
106902000-06-02 Dave Love <fx@gnu.org>
10691
10692 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10693
dcf671d2
GM
106942000-06-02 Gerd Moellmann <gerd@gnu.org>
10695
10696 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10697 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10698 be freed.
10699
10700 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10701 glyph, use the ASCII NUL character to determine the face.
10702
d42122a3
DL
107032000-06-02 Dave Love <fx@gnu.org>
10704
10705 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10706 (VFORK_RETURN_TYPE): Remove.
427ec082 10707
d42122a3
DL
10708 * config.in: Add NO_MATHERR.
10709
dd432f16
DL
107102000-06-01 Dave Love <fx@gnu.org>
10711
90aa4ea8
DL
10712 * cmds.c (internal_self_insert): Don't check
10713 Vbefore_change_function, Vafter_change_function.
10714
10715 * insdel.c (signal_before_change, signal_after_change): Likewise.
10716
10717 * buffer.c (Vbefore_change_function, Vafter_change_function):
10718 Variables and their initializations deleted.
10719
2330c9d4
DL
10720 * callint.c (Fcall_interactively): Doc fix.
10721
dd432f16
DL
10722 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10723
bf9e8804
DL
107242000-05-31 Dave Love <fx@gnu.org>
10725
10726 * textprop.c: Revert last change -- duplicated.
10727
3694b4ab
GM
107282000-05-31 Gerd Moellmann <gerd@gnu.org>
10729
10730 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10731 in #if 0.
10732
10733 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10734
f14156cd
JR
107352000-05-31 Jason Rumney <jasonr@gnu.org>
10736
8119aab8
JR
10737 * search.c (Fre_search_forward, Fre_search_backward)
10738 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10739
f14156cd
JR
10740 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10741
4aab9be3
JR
107422000-05-30 Jason Rumney <jasonr@gnu.org>
10743
10744 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10745 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10746
52283633 10747 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10748
10749 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10750 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10751 expand a nil default_filename.
10752
10753 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10754 pointer to glyph_to_pixel_coords, not a frame.
10755
10756 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10757 coding.h to dependencies.
10758
10759 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10760
10761 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10762 window pointer to be consistent with w32term.c and xterm.c.
10763
10764 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10765 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10766 (Qline_spacing, Qcenter): New variables.
10767 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10768 (x_set_line_spacing): New function.
52283633 10769 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10770 (x_specified_cursor_type): New function.
10771 (x_set_cursor_type): Use it.
10772 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10773 and icon strings.
10774 (validate_x_resource_name, x_get_resource_string): Measure lengths
10775 of external strings in bytes.
10776 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10777 GetTextExtentPoint32 with NULL title.
10778 (Fx_create_frame): Initialize Qline_spacing.
10779 (w32_load_system_font): Initialize font->double_byte_p.
10780 (x_to_w32_charset): Use Vw32_charset_info_alist.
10781 (Image, busy cursor, tooltip functions): Merged changes from
10782 xfns.c. Not yet functional on Windows.
10783
10784 * w32gui.h (W32FontStruct): Add double_byte_p member.
10785
10786 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10787 (emacs_button_translation): Use it.
10788 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10789 in `mask' to be set.
10790
10791 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10792 menu strings.
10793
10794 * w32term.c: Format and doc changes to bring closer to xterm.c.
10795 (w32_char_font_type): New enum.
10796 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10797 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10798 (w32_encode_char): New function.
10799 (x_encode_char): Removed.
10800 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10801 x_encode_char and w32_font_is_double_byte.
10802 (x_produce_image_glyph): Use image_ascent.
10803 (x_produce_glyphs): Use new version of w32_per_char_metric and
10804 handle NULL return value. Allow extra line spacing.
10805 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10806 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10807 w32_font_type member of glyph instead.
10808 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10809 (fast_find_position): Make sure not to consider rows not visible
10810 in the window.
10811 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10812 w32_menu_display_help with input blocked, as it can abort.
10813 (x_display_and_set_cursor): Choose cursor depending
10814 on buffer-local value of cursor_type.
10815 (x_draw_bar_cursor): Add parameter WIDTH.
10816
10817 * w32term.h (CP_DEFAULT): Define.
10818 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10819
10fc3187
GM
108202000-05-30 Gerd Moellmann <gerd@gnu.org>
10821
10822 * search.c (Fre_search_forward, Fre_search_backward)
10823 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10824
d0555360
KH
108252000-05-30 Kenichi Handa <handa@etl.go.jp>
10826
10827 * coding.c (detect_coding_iso2022): Fix code for checking
10828 CODING_CATEGORY_MASK_ISO_8_2.
10829
f1ad044f
SM
108302000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10831
10832 * regex.c (PREFETCH_NOLIMIT): New function.
10833 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10834
84ec3b4b
GM
108352000-05-29 Gerd Moellmann <gerd@gnu.org>
10836
66254a13
GM
10837 * syntax.c (find_defun_start): Move test for
10838 open_paren_in_column_0_is_defun_start outside of the loop.
10839
49e70dec
GM
10840 * xdisp.c (redisplay_window): Really switch buffers when
10841 displaying mode lines, and temporarily set selected_frame to the
10842 frame of the window that's redisplayed.
10843
84ec3b4b
GM
10844 * xfaces.c (free_realized_faces): Block/unblock input.
10845 (free_realized_multibyte_face): Ditto.
10846
869a3a14
DL
108472000-05-29 Dave Love <fx@gnu.org>
10848
10849 * textprop.c (Qkeymap): New variable.
10850 (syms_of_textprop): Intern it.
10851
10852 * keymap.c: Include intervals.h.
10853 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10854
10855 * Makefile.in (keymap.o): Depend on intervals.h.
10856
10857 * keyboard.c (menu_bar_items, tool_bar_items)
10858 (Fexecute_extended_command): Deal with `keymap' property.
10859 (read_key_sequence): Track map from `keymap' property as well as
10860 `local_map'.
10861
10862 * intervals.c (get_local_map): Extra arg to allow looking for
10863 `keymap' too.
10864
10865 * intervals.h (map_property): New enum.
10866 (get_local_map): Extra arg using it.
10867 (Qkeymap): Declare.
10868
84ec3b4b 10869 * lisp.h (get_local_map): Don't declare here.
869a3a14 10870
89d0c844
KH
108712000-05-29 Kenichi Handa <handa@etl.go.jp>
10872
10873 * Makefile.in (callproc.o): Depend on composite.h.
10874
10875 * callproc.c: Include composite.h.
10876 (Fcall_process): Handle composition correctly.
10877
10878 * coding.h (coding_allocate_composition_data): Extern it.
10879 (coding_restore_composition): Likewise.
10880
10881 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10882 yet allocated, finish decoding with result
10883 CODING_FINISH_INSUFFICIENT_CMP.
10884 (coding_allocate_composition_data): Make it non-static.
10885 (coding_restore_composition): Likewise.
10886
797a084a
EZ
108872000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10888
10889 * charset.c (syms_of_charset): Revert last change.
10890
cf872af5
EZ
108912000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10892
10893 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10894 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10895 Handa.
cf872af5 10896
5b1ae051
EZ
108972000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10898
10899 * charset.c (syms_of_charset): Set width of character sets
10900 eight-bit-control and eight-bit-graphic to 1 column.
10901
34ec9ebe
GM
109022000-05-26 Gerd Moellmann <gerd@gnu.org>
10903
10904 * config.in (HAVE_SPEED_T): New define.
10905
10906 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10907 `extern speed_t'.
10908
dd854dc2
DL
109092000-05-26 Dave Love <fx@gnu.org>
10910
10911 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10912
10913 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10914 (Fsubr_arity): New function.
10915 (syms_of_data): Install them.
10916
ba9f8f95
KH
109172000-05-26 Kenichi Handa <handa@etl.go.jp>
10918
0f3e0672
KH
10919 * charset.c (init_charset_once): Set the table bytes_by_char_head
10920 correctly.
10921
cebefb44
KH
10922 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10923 the default fontset to what Emacs uses by default.
0f3e0672
KH
10924 (check_registry_encoding): This function deleted.
10925 (Fset_fontset_font): Remove the adhoc condition for the default
10926 fontset. Allow cons in FONTNAME.
cebefb44 10927
0f3e0672
KH
10928 * fns.c (map_char_table): Ignore char-table entries for
10929 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10930
7a18af49
KR
109312000-05-25 Ken Raeburn <raeburn@gnu.org>
10932
10933 * emacs.c (main): Initialize keyboard syms before initializing
10934 window code, so face names are available.
10935
d2af47df
SM
109362000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10937
10938 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10939 of an anchor at the beginning of a shy-group.
10940
fc6a6a4e
GM
109412000-05-25 Gerd Moellmann <gerd@gnu.org>
10942
10943 * xdisp.c (handle_invisible_prop): Don't try to skip over
10944 invisible text if end of text is already reached.
10945
005f0d35
DL
109462000-05-25 Dave Love <fx@gnu.org>
10947
02513cdd
DL
10948 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10949
005f0d35
DL
10950 * coding.c (encode_eol): Add null statement after label.
10951
89f6ca4e
EZ
109522000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10953
10954 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10955 2000-05-20.
10956
a4e1759e
KH
109572000-05-25 Kenichi Handa <handa@etl.go.jp>
10958
10959 * ccl.c (ccl_driver): Fix previous change.
10960
eacfd7fe
KH
109612000-05-25 Kenichi Handa <handa@etl.go.jp>
10962
46ab33a9
KH
10963 * coding.c (run_pre_post_conversion_on_str): Set point to the
10964 beginning of buffer before calling coding->post_read_conversion.
10965 (decode_coding_string): Give correct args to
10966 run_pre_post_conversion_on_str.
10967 (encode_coding_string): Likewise.
10968
eacfd7fe
KH
10969 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10970 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10971 eight-bit-graphic correctly.
10972
f8569325
DL
109732000-05-24 Kenichi HANDA <handa@etl.go.jp>
10974
10975 * fileio.c (Finsert_file_contents): Even if a file is not found,
10976 execute codes for setting up coding system. Call
10977 after-insert-file-functions unconditionally.
10978
04545643
GM
109792000-05-24 Gerd Moellmann <gerd@gnu.org>
10980
10981 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10982 BSD_PGRPS are not defined.
10983
747d90ea
KH
109842000-05-24 Kenichi Handa <handa@etl.go.jp>
10985
10986 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10987 DESCRIPTION.
10988 (syms_of_charset): Avoid building same strings.
10989
716e3b88
GM
109902000-05-23 Gerd Moellmann <gerd@gnu.org>
10991
10992 * lread.c (Fload): Add a comment about the meaning of
10993 Vuser_init_file being t.
10994
10995 * puresize.h (BASE_PURESIZE): Increase to 675000.
10996
10997 * s/gnu-linux.h (setpgrp): Don't define it here because this
10998 prevents compilation on GNU/Linux systems with glib 2.2.
10999
11000 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11001 as setpgid.
427ec082 11002
9aeb39fa
EZ
110032000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11004
11005 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11006 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11007 version.
11008 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11009
29ced61b
KH
110102000-05-23 Kenichi Handa <handa@etl.go.jp>
11011
52283633 11012 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11013
3d80f24d
KH
11014 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11015
52283633 11016 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11017
29ced61b
KH
11018 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11019
d7e00792
KH
110202000-05-22 Kenichi Handa <handa@etl.go.jp>
11021
c9d80d38
KH
11022 * keyboard.c (read_char): Allow character codes 128..255 to be
11023 handled by input-method-function.
11024
d7e00792
KH
11025 * insdel.c (adjust_markers_for_replace): Fix previous change.
11026 (adjust_after_replace): If PREV_TEXT is nil, call
11027 adjust_markers_for_insert, not adjust_markers_for_replace.
11028
087121cc 110292000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11030
087121cc
GM
11031 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11032 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11033 [HAVE_GRANDPT]: Define.
11034 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11035
11036 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11037 like SYSV_PTYS.
11038
11039 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11040
11041 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11042
c9671f81
KH
110432000-05-20 Kenichi Handa <handa@etl.go.jp>
11044
11045 The following changes are to handle 8-bit characters in a
11046 multibyte buffer/string without facing with byte combining
11047 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11048 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11049
11050 * Makefile.in (fns.o): Depend on charset.h.
11051
11052 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11053 convert it to unibyte.
11054 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11055
11056 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11057 apparent char boundary.
11058 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11059 0x80..0x9F to/from multibyte form.
11060
11061 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11062 to unibyte.
11063
11064 * callproc.c (Fcall_process): Always encode an argument string if
11065 it is multibyte. Setup src_multibyte and dst_multibyte members of
11066 process_coding properly.
ce75fd23 11067
c9671f81
KH
11068 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11069 SPLIT_NON_ASCII_CHAR.
11070
11071 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11072 as is.
11073 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11074
52283633 11075 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11076 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11077 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11078 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11079 and eight-bit-graphic.
11080 (char_to_string): Likewise. Signal an error for too large
11081 character code.
11082 (char_printable_p): Return 0 for 8-bit characters.
11083 (update_charset_table): Update iso_charset_table only when a final
11084 character is non-negative.
11085 (find_charset_in_text): Renamed from find_charset_in_str.
11086 Arguments and return value changed. Callers changed.
11087 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11088 be -1 if CHARSET is used only internally.
11089 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11090 eight-bit-graphic.
11091 (Fcharset_after): Simplified.
11092 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11093 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11094 (multibyte_chars_in_text): Simplified by assuming there's no
11095 invalid multibyte sequence.
52283633
SM
11096 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11097 (str_as_unibyte): New functions.
11098 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11099 (init_charset_once): Initialization for
11100 LEADING_CODE_8_BIT_CONTROL.
11101 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11102 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11103 eight-bit-control and eight-bit-graphic.
11104
52283633
SM
11105 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11106 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11107 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11108 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11109 (CHARSET_REVERSE_CHARSET): Likewise.
11110 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11111 eight-bit-graphic.
11112 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11113 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11114 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11115 encounter an invalid multibyte sequence.
11116 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11117 sequence is always valid.
11118 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11119 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11120 (CHAR_STRING): For 8-bit characters, call char_to_string.
11121 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11122 multibyte sequence is always valid.
11123 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11124 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11125 (str_as_unibyte): Extern them.
c9671f81 11126 (BCOPY_SHORT): Fix a bug.
52283633 11127 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11128 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11129 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11130 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11131
bd4bde7f 11132 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11133 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11134 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11135 (EMIT_BYTES): New macros.
11136 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11137 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11138 macros deleted.
11139 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11140 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11141 check the validity of multibyte sequence.
11142 (decode_coding_emacs_mule): New function.
11143 (encode_coding_emacs_mule): New macro.
11144 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11145 the source.
11146 (DECODE_ISO_CHARACTER): Just return a character code.
11147 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11148 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11149 EMIT_CHAR to produced decoded characters. Exit the loop only by
11150 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11151 block here.
11152 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11153 only position codes for an invalid character.
11154 (encode_designation_at_bol): Return new destination pointer. 5th
11155 arg DSTP is changed to DST.
11156 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11157 from the source by ONE_MORE_CHAR. Don't handle the case of last
11158 block here.
11159 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11160 macros deleted.
52283633
SM
11161 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11162 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11163 TWO_MORE_BYTES to fetch a byte from the source.
11164 (encode_eol): Pay attention to coding->src_multibyte.
11165 (detect_coding, detect_eol): Preserve members src_multibyte and
11166 dst_multibyte.
11167 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11168 (encoding_buffer_size): Set magnification to 3 for all coding
11169 systems that require encoding.
11170 (ccl_coding_driver): For decoding, be sure that the result is
11171 valid multibyte sequence.
11172 (decode_coding): Initialize coding->errors and coding->result.
11173 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11174 and raw-text, always call decode_eol. Handle the case of last
11175 block here. If not coding->dst_multibyte, convert the resulting
11176 sequence to unibyte.
11177 (encode_coding): Initialize coding->errors and coding->result.
11178 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11179 and raw-text, always call encode_eol. Handle the case of last
11180 block here.
11181 (shrink_decoding_region, shrink_encoding_region): Detect cases
11182 that we can't skip data more rigidly.
11183 (code_convert_region): Setup src_multibyte and dst_multibyte
11184 members of coding. For decoding, if the buffer is multibyte,
11185 convert the source sequence to unibyte in advance. For encoding,
11186 if the buffer is multibyte, convert the resulting sequence to
11187 multibyte afterward.
11188 (run_pre_post_conversion_on_str): New function.
11189 (code_convert_string): Deleted and divided into the following two.
11190 (decode_coding_string, encode_coding_string): New functions.
11191 (code_convert_string1, code_convert_string_norecord): Call one of
11192 above.
11193 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11194 MAKE_NON_ASCII_CHAR.
52283633
SM
11195 (Fset_terminal_coding_system_internal)
11196 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11197 and dst_multibyte members.
11198 (init_coding_once): Initialize iso_code_class with new enum
11199 ISO_control_0 and ISO_control_1.
11200
11201 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11202 devided into ISO_control_0 and ISO_control_1.
11203 (struct coding_system): New members src_multibyte, dst_multibyte,
11204 errors, and result. Delete member fake_multibyte.
11205 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11206 nonzero.
11207 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11208 nonzero.
11209
11210 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11211 (Faset): Likewise.
11212
11213 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11214 multibyte form.
11215 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11216 combining occurs.
11217 (Ftranspose_region): Delete codes for handling byte combining.
11218
11219 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11220 dst_multibyte members of coding. On handling REPLACE on unibyte
11221 buffer, convert the result of decode_coding to unibyte. On
11222 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11223 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11224 multibyteness of the source (buffer or string).
11225
11226 * fns.c (concat): Handle 8-bit characters correctly.
11227 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11228 unibyte in the result.
11229 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11230 valid multibyte form in the result.
11231 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11232 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11233 return -1, signal an error.
11234 (base64_encode_1): New arg MULTIBYTE. Get each character by
11235 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11236 character is found, return -1.
11237 (Fbase64_decode_region): Delete codes for handling byte-combining.
11238 Treat each decoded byte as a unibyte character.
11239 (Fbase64_decode_string): Return unibyte string.
11240 (Fcompare_strings, concat, string_byte_to_char): Use
11241 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11242 FETCH_STRING_CHAR_ADVANCE.
11243 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11244 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11245
11246 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11247 SPLIT_NON_ASCII_CHAR.
11248 (fontset_ref_via_base, fontset_set): Likewise
11249
11250 * insdel.c (adjust_markers_for_record_delete): Deleted.
11251 (adjust_markers_for_insert): Argument changed. Caller changed.
11252 (adjust_markers_for_replace): Likewise.
52283633
SM
11253 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11254 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11255 (copy_text): Delete unused local varialbe c_save. For converting
11256 to multibyte, be sure to make all 8-bit characters in valid
11257 multibyte form.
11258 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11259 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11260 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11261 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11262 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11263 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11264 handling byte combining.
11265 (adjust_before_replace): Deleted.
427ec082 11266
c9671f81
KH
11267 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11268 SPLIT_NON_ASCII_CHAR.
11269 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11270 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11271 (Fkey_description): Likewise.
11272
11273 * lread.c (read1): On reading multibyte string, be sure to make
11274 all 8-bit chararacters in valid multibyte form.
11275 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11276
11277 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11278 unconditionally.
11279
11280 * process.c (Fstart_process): GCPRO current_dir before calling
11281 Ffind_operation_coding_system. Encode arguments here.
11282 (create_process): Don't encode arguments here. Setup
11283 src_multibyte and dst_multibyte members of struct coding.
11284 (read_process_output): Setup src_multibyte and dst_multibyte
11285 members of struct coding. If the output is to multibyte buffer,
11286 always decode the output of the process. Adjust the
52283633 11287 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11288 (send_process): Setup coding->src_multibyte according to the
11289 multibyteness of the source.
11290
52283633 11291 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11292 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11293 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11294
52283633 11295 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11296
11297 * w16select.c (Fw16_set_clipboard_data): Setup members
11298 src_multibyte and dst_multibyte of coding. Adjusted for the
11299 change for find_charset_in_str.
11300 (Fw16_get_clipboard_data): Likewise.
11301
11302 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11303 dst_multibyte of coding.
11304 (x_to_w32_font): Likewise.
11305
11306 * w32select.c (Fw32_set_clipboard_data): Setup members
11307 src_multibyte and dst_multibyte of coding. Adjusted for the
11308 change for find_charset_in_str.
11309 (Fw32_get_clipboard_data): Likewise.
11310
11311 * xdisp.c (get_next_display_element): Handle 8-bit characters
11312 correctly.
52283633
SM
11313 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11314 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11315
11316 * xselect.c (selection_data_to_lisp_data): Setup members
11317 src_multibyte and dst_multibyte of coding. Adjusted for the
11318 change for find_charset_in_str.
11319 (lisp_data_to_selection_data): Likewise.
11320
5f64c9e0
GM
113212000-05-19 Gerd Moellmann <gerd@gnu.org>
11322
52283633 11323 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11324
5f64c9e0
GM
11325 * dispextern.h (Vimage_types): Add extern declaration.
11326
11327 * xdisp.c (Vimage_types): Moved here from xfns.c.
11328 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11329
11330 * xfns.c (Vimages_types): Moved to xdisp.c.
11331 (syms_of_xfns): Move `image-types' to xdisp.c.
11332
11333 * w32fns.c (Vimage_types): Removed.
11334 (syms_of_w32fns): Remove `image-types'.
11335
813086ea
KH
113362000-05-18 Kenichi Handa <handa@etl.go.jp>
11337
11338 * fns.c (map_char_table): Pay attention to character number of
11339 charset. Check the validity of charset at the first level. For
11340 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11341 the default value.
11342
11343 * fontset.c: Include "buffer.h".
11344 (fs_load_font): If the face has fontset, record the face ID in
11345 that fontset.
11346 (Finternal_char_font): New function.
11347 (accumulate_font_info): New function.
11348 (Ffontset_info): Rewritten for the new fontset implementation.
11349 (syms_of_fontset): Register Vdefault_fontset in the first element
11350 of Vfontset_table. Include Vdefault_fontset in
11351 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11352 function.
11353
bdaebbf0
DL
113542000-05-16 Dave Love <fx@gnu.org>
11355
11356 * m/iris5d.h: Deleted -- unused.
11357
cb613bb8
GM
113582000-05-16 Gerd Moellmann <gerd@gnu.org>
11359
b15f3b77
GM
11360 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11361 `invalid' instead of `illegal'.
11362
11363 * indent.c (Fmove_to_column): When ending within a tab, insert
11364 spaces first so that markers at the end of the tab get adjusted.
11365
835c1b36
GM
11366 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11367 buffer list that wasn't selected in that frame.
11368
cb613bb8
GM
11369 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11370 is needed on mescaline, use a 2 char prefix, and call
11371 make_temp_name with second arg non-zero.
11372
11373 * fileio.c (make_temp_name): New function, extracted from
11374 Fmake_temp_name.
11375 (Fmake_temp_name): Use it.
11376
f685bea9
EZ
113772000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11378
52283633 11379 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11380
a1b8d58b
GM
113812000-05-15 Gerd Moellmann <gerd@gnu.org>
11382
11383 * Makefile.in (lisp): Add env.elc.
11384
11385 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11386
a265079f
GM
113872000-05-12 Gerd Moellmann <gerd@gnu.org>
11388
11389 * search.c (Freplace_match): Handle case of `\N' in the
11390 replacement when there's no group N.
11391
da4496b6
GM
113922000-05-11 Gerd Moellmann <gerd@gnu.org>
11393
0ace421a
GM
11394 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11395 of the message to message_dolog.
11396
1172eb8d
GM
11397 * keyboard.c (read_char): Don't clear current message for help
11398 events; let the code handling help events handle this. Change
11399 code detecting help events that should be ignored.
11400
da4496b6
GM
11401 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11402 we're interating over a string.
11403
0623e40f
DL
114042000-05-09 Dave Love <fx@gnu.org>
11405
11406 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11407 that offset before writing. Move gcpro region past call of
11408 Ffile_regular_p.
11409
bae2503b
DL
114102000-05-04 Dave Love <fx@gnu.org>
11411
11412 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11413
ec82fb2f
GM
114142000-05-04 Gerd Moellmann <gerd@gnu.org>
11415
11416 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11417 of inserted characters when BUF equals the current buffer, and PT
11418 is in front of or equal to FROM.
11419
cbf18892
GM
114202000-05-03 Gerd Moellmann <gerd@gnu.org>
11421
4ff40dd0
GM
11422 * xdisp.c (handle_single_display_prop): If display property value
11423 is invalid, or something not supported on the frame, restore
11424 iterator's position to what it was initially. Make sure to return
11425 0 for invalid and unsupported property values.
11426
cbf18892
GM
11427 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11428 that x_per_char_metric returns null.
11429
1b0672c3
GM
114302000-05-02 Gerd Moellmann <gerd@gnu.org>
11431
576da55d
GM
11432 * xterm.h (struct face): Add forward declaration.
11433 (struct image): Ditto.
11434 (image_ascent): Add prototype.
11435
11436 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11437 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11438 image_ascent instead of using IMAGE_ASCENT.
11439
11440 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11441 (IMAGE_ASCENT): Removed.
11442
11443 * xfns.c (Qcenter): New variable.
11444 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11445 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11446 (image_ascent): New function.
11447 (lookup_image): Recognize `:ascent center'.
11448 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11449 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11450 (xbm_load): Don't set image's ascent here.
11451 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11452 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11453 check ascent values here.
11454 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11455 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11456 (syms_of_xfns): Initialize Qcenter.
11457
1b0672c3
GM
11458 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11459 to the limits, increase the limits.
11460
0d7811ed
KH
114612000-05-01 Kenichi Handa <handa@etl.go.jp>
11462
11463 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11464 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11465
a943a5ca
GM
114662000-04-28 Gerd Moellmann <gerd@gnu.org>
11467
11468 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11469 taller than the window.
11470
5dba1e29
KH
114712000-04-28 Kenichi Handa <handa@etl.go.jp>
11472
11473 * xfaces.c (realize_x_face): Fix the argument of the second
11474 xassert. BASE_FACE may not be a face for ASCII.
11475
353964e3
GM
114762000-04-27 Gerd Moellmann <gerd@gnu.org>
11477
c76e04a8
GM
11478 * print.c (print_object): Treat print-length < 0 as nil.
11479
11480 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11481
11482 * s/freebsd.h (TERMCAP_OBJ): Removed.
11483 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11484
11485 * lread.c (read1): Don't treat period followed by certain
11486 characters as symbol start.
11487
11488 * xfns.c (slurp_file): New function.
11489 (xbm_image_p): Handle case of in-memory XBM files.
11490 (xbm_scan): Rewritten to work on memory buffers instead of files.
11491 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11492 Work on memory buffers instead of files. If DATA is null test
11493 if buffer looks like an in-memory XBM file.
11494 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11495 memory buffers instead of files.
11496 (xbm_file_p): New function.
11497 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11498
353964e3
GM
11499 * lread.c (end_of_file_error): New function.
11500 (read1): Call it instead of signaling `end-of-file' directly.
11501
427ec082 11502 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11503 with Fprinc instead of Fprin1.
11504
24d744ac
KR
115052000-04-26 Ken Raeburn <raeburn@gnu.org>
11506
11507 * window.c (freeze_window_start): Check that minibuffer scroll
11508 window isn't nil before extracting the window structure pointer
11509 from it.
11510
11511 * undo.c (record_delete): If we hit the end of the undo list, stop
11512 picking elements apart.
11513
7464346d
GM
115142000-04-26 Gerd Moellmann <gerd@gnu.org>
11515
11516 * xdisp.c (display_line): If lines are continued, restore
11517 iterator's ascent/descent information to the values before the
11518 first glyph not fitting on the line.
11519
612839b6
GM
115202000-04-25 Gerd Moellmann <gerd@gnu.org>
11521
11522 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11523 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11524
11525 * dispnew.c (increment_matrix_positions): Renamed from
11526 increment_glyph_matrix_buffer_positions.
11527 (increment_row_positions): Renamed from
11528 increment_glyph_row_buffer_positions.
11529
11530 * dispextern.h: Change names of renamed functions from dispnew.c
11531 in prototypes.
11532
cc181e95
GM
115332000-04-24 Gerd Moellmann <gerd@gnu.org>
11534
abfcc168
GM
11535 * fileio.c (Fdo_auto_save): Create directories for auto-save
11536 list file if necessary.
11537
cc181e95
GM
11538 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11539 from buffer or frame.
11540 (automatic_hscrolling_p): New variable.
11541 (hscroll_windows): Scroll windows horizontally only if automatic
11542 hscrolling is allowed.
11543 (syms_of_xdisp): New variable `automatic-hscrolling'.
11544
11545 * frame.h (struct frame): Add member extra_line_spacing.
11546
11547 * xfns.c (x_set_line_spacing): New function.
11548 (Fx_create_frame): Set line spacing from resources.
11549 (Qline_spacing): New variable.
11550 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11551
cc181e95
GM
11552 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11553
11554 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11555 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11556 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11557 extra_line_spacing from default value.
11558 (init_buffer_once): Initialize default value of extra_line_spacing.
11559
11560 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11561 and extra3.
11562
11563 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11564 prompt_width. Add extra line spacing.
11565
11566 * term.c (produce_glyphs): Remove reference to struct it's
11567 prompt_width.
11568
11569 * dispextern.h (struct it): Remove member prompt_width, add
11570 extra_line_spacing.
11571
58827478
GM
115722000-04-22 Gerd Moellmann <gerd@gnu.org>
11573
11574 * dispnew.c (update_frame_line): When writing a whole line, make
11575 sure cursor is in the right row afterwards, otherwise a use of
11576 capability `ch' in cmgoto might leave the cursor in the row below.
11577
25a87f42
GM
115782000-04-21 Gerd Moellmann <gerd@gnu.org>
11579
11580 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11581
11582 * keyboard.c (timer_check): Fix typo in comment.
11583
54edf5c2
KH
115842000-04-21 Kenichi Handa <handa@etl.go.jp>
11585
11586 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11587 name change: ch -> character.
11588
3a64eef5
GM
115892000-04-20 Gerd Moellmann <gerd@gnu.org>
11590
11591 * keyboard.c (echo_message_buffer): New variable.
11592 (echo_now): Set echo_message_buffer to the echo area buffer used
11593 to display the echo.
11594 (cancel_echoing): Reset echo_message_buffer to nil.
11595 (read_char): Code rewritten that handles canceling an echo or
11596 echoing a dash, respectively.
11597
11598 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11599 directory doesn't exist.
11600
6142fdcb
DL
116012000-04-19 Dave Love <fx@gnu.org>
11602
11603 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11604 (concat): Don't allow numeric args.
11605 (Fconcat): Doc change.
6142fdcb 11606
ac6b5352
SM
116072000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11608
11609 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11610 instead define end_match(1|2) more carefully.
11611 Use GET_CHAR_BEFORE_2 for `begline'.
11612
cb9215e4
GM
116132000-04-19 Gerd Moellmann <gerd@gnu.org>
11614
5e3dac3f
GM
11615 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11616 on 64-bit systems where NULL is defined as `0'.
11617
11618 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11619 the `variable argument list' to make it work on Alpha.
11620
cb9215e4
GM
11621 * m/alpha.h (_LP64) [!_LP64]: Define.
11622 (ORDINARY_LINK): Define for NetBSD.
11623
11624 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11625
f532dca0
DL
116262000-04-19 Dave Love <fx@gnu.org>
11627
c750667e
DL
11628 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11629 change.
11630
11631 * Makefile.in (LIBS): Don't use.
11632 (GETLOADAVG_OBJ): Define again.
11633 (otherobj): Add GETLOADAVG_OBJ.
11634
f532dca0
DL
11635 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11636
1c7e22fd
GM
116372000-04-18 Gerd Moellmann <gerd@gnu.org>
11638
f6d3257b
GM
11639 * lread.c (read_filtered_event): Cancel and start busy cursor.
11640
427ec082 11641 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11642 that the per-character metrics may be null.
11643
e10f64e7
GM
116442000-04-17 Gerd Moellmann <gerd@gnu.org>
11645
0daee095
GM
11646 * buffer.c (clone_per_buffer_values): New function.
11647 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11648 clone_per_buffer_values if CLONE is not nil.
11649
e10f64e7
GM
11650 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11651
38687d43
DL
116522000-04-16 Dave Love <fx@gnu.org>
11653
11654 * Makefile.in: Remove obsolete localcpp stuff.
11655 (GETLOADAVG_OBJ): Don't define.
11656 (obj): Move LIBOBJS...
11657 (otherobj): ... to here.
11658 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11659 whitespace-only lines after the continuation (Irix).
11660
c21c7262
GM
116612000-04-14 Gerd Moellmann <gerd@gnu.org>
11662
11663 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11664
11665 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11666
314767c0
DL
116672000-04-14 Dave Love <fx@gnu.org>
11668
11669 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11670 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11671 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11672 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11673 NLIST_STRUCT.
11674
11675 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11676 autoconfiscated HAVE_GETLOADAVG.
11677
11678 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11679 BROKEN_MKTIME.
11680
a2522dca
GM
116812000-04-14 Gerd Moellmann <gerd@gnu.org>
11682
11683 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11684 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11685
33744b5d
DL
116862000-04-14 Dave Love <fx@gnu.org>
11687
c21c7262 11688 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11689 (INTERVAL_SRC): Convert to make variable.
11690 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11691 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11692 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11693 add LIBOBJS.
11694 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11695 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11696 (shortlisp): Add facemenu, float-sup, frame.
11697 (SOME_MACHINE_LISP): Remove them from here.
11698 (LIBES): Change unused LDLIBS to autoconf LIBS.
11699
11700 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11701
9d3d5916
KH
117022000-04-14 Kenichi Handa <handa@etl.go.jp>
11703
11704 * composite.c (update_compositions): If FROM and TO are not in a
11705 valid range, do nothing.
11706
198e3c7a
GM
117072000-04-13 Gerd Moellmann <gerd@gnu.org>
11708
52283633 11709 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11710
52283633 11711 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11712
11713 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11714 as TERMCAP_OBJ.
11715
055a28c9
EZ
117162000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11717
11718 * fileio.c (a_write): Remove redundant semi-colons.
11719 (e_write): Return -1 if failed to write all the data.
11720 This fixes the changes made at 1999-12-15.
11721
f5c75033
DL
117222000-04-12 Dave Love <fx@gnu.org>
11723
11724 * fns.c (mapcar1): Test for null vals to support mapc.
11725 (Fmapc): New function.
11726
0c3cfc51
EZ
117272000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11728
11729 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11730 (IT_frame_up_to_date): Support the buffer local value of
11731 cursor-type, if defined.
11732
33465a31
DL
117332000-04-10 Dave Love <fx@gnu.org>
11734
11735 * editfns.c (preceding-char, following-char): Doc fix.
11736
6ed56568
KR
117372000-04-10 Ken Raeburn <raeburn@gnu.org>
11738
11739 * Makefile.in (temacs): Revert 2000-03-12 change.
11740
7cf80d4e
JR
117412000-04-10 Jason Rumney <jasonr@gnu.org>
11742
11743 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11744
34f3f342
GM
117452000-04-10 Gerd Moellmann <gerd@gnu.org>
11746
1a1b1895
GM
11747 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11748 area buffer, if it's not set up yet.
11749
34f3f342
GM
11750 * indent.c (compute_motion): Set immediate_quit.
11751
be0dbdab
GM
117522000-04-09 Gerd Moellmann <gerd@gnu.org>
11753
52283633 11754 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11755 (realize_tty_face): Suppress boldness if colors are the inverse of
11756 the default colors, and tty_suppress_bold_inverse_default_colors_p
11757 is set.
11758 (Ftty_suppress_bold_inverse_default_colors): New function.
11759 (syms_of_xfaces): Defsubr it.
11760
be0dbdab
GM
11761 * buffer.c (Frestore_buffer_modified_p): New function.
11762 (syms_of_buffer): Defsubr it.
11763
e8413c3b
KR
117642000-04-08 Ken Raeburn <raeburn@gnu.org>
11765
87f67317
KR
11766 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11767 charset id (int) argument, not a charset (Lisp_Object).
11768
e8413c3b
KR
11769 * coding.h (code_convert_string): Declare.
11770 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11771 object, as the fourth argument to code_convert_string.
11772
52283633 11773 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11774 (Fset_fontset_font): Use EQ to compare lisp objects.
11775
7c752c80
KR
117762000-04-05 Ken Raeburn <raeburn@gnu.org>
11777
c0333abc
KR
11778 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11779 a pointer that looks like a lisp object.
11780 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11781 zero, instead see whether it's an integer object, since they can't
11782 have intervals.
11783 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11784
52283633
SM
11785 * dispnew.c (allocate_matrices_for_frame_redisplay)
11786 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11787 to convert between (unsigned) int values and lisp integers.
11788 * keyboard.c (read_key_sequence): Likewise.
11789 * lread.c (substitute_object_recurse): Likewise.
11790 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11791 * minibuf.c (do_completion, Fminibuffer_complete_word)
11792 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11793 * term.c (produce_special_glyphs): Likewise.
11794
11795 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11796 * print.c (print_preprocess, print_object): Likewise.
11797
11798 * search.c (compile_pattern): Use NILP when checking for nil.
11799
74e49b38
KR
11800 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11801 __OPTIMIZE__]: Provide a GNU C macro version that handles
11802 lisp-object unions.
11803 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11804 field, to better cope with ENABLE_CHECKING and calls that modify a
11805 Lisp_Object using its old value.
11806
685e5ed2
GM
118072000-04-04 Gerd Moellmann <gerd@gnu.org>
11808
c407c570
GM
11809 * window.c (compare_window_configurations): Signal an error
11810 if parameters C1 or C2 aren't window configurations.
11811
685e5ed2
GM
11812 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11813 AFTER_POTENTIAL_GC calls around calls to functions that can
11814 signal an error and thus invoke the debugger.
11815
587a49ab
GM
118162000-04-03 Gerd Moellmann <gerd@gnu.org>
11817
62f20204
GM
11818 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11819 an error if decoding fails.
11820
587a49ab
GM
11821 * keyboard.c (lispy_mouse_names): Variable removed.
11822 (Vlispy_mouse_stem): New variable.
11823 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11824 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11825 for any mouse button number. Increase size of mouse_syms and
11826 button_down_location as needed. Call modify_event_symbol with
11827 different arguments.
11828 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11829 Call modify_event_symbol with different arguments.
11830 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11831 for any button number. Call modify_event_symbol with different
11832 arguments.
11833 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11834 Accept a string for NAME_ALIST_OR_STEM.
11835
11836 * lisp.h (larger_vector): Add prototype.
11837
11838 * fns.c (larger_vector): Make externally visible.
11839
11840 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11841
2d1675e4
SM
118422000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11843
11844 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11845 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11846 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11847 we are between str1 and str2.
11848 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11849 (PATFETCH): Use `TRANSLATE'.
11850 (PATFETCH_RAW): Fetch multibyte char if applicable.
11851 (PATUNFETCH): Remove.
11852 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11853 When writing a char, write it directly into the pattern buffer rather
11854 than going needlessly through a temp char-array.
11855 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11856 multibyte magic and remove the useless `#ifdef emacs'.
11857 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11858 buffer.
11859
11860 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11861 conditional on `emacs'.
11862
11863 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11864
cc2d8c6b
KR
118652000-04-01 Ken Raeburn <raeburn@gnu.org>
11866
11867 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11868 non-union-type versions of XMARK and friends here, because XMARK
11869 and friends won't work on an integer field if NO_UNION_TYPE is not
11870 defined.
52283633 11871 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11872
52283633 11873 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11874 (syms_of_composite): Delete local var NARGS, pass an int as first
11875 argument to Fmake_hash_table.
11876
2387b382
KR
11877 * editfns.c (text_property_stickiness): Use NILP to test
11878 Lisp_Object boolean value.
11879 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11880 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11881 problems reading from and changing the same lisp value in an
11882 XSETSTRING call.
11883
27660e89
GM
118842000-04-01 Gerd Moellmann <gerd@gnu.org>
11885
11886 * term.c (TN_no_color_video): New variable.
11887 (term_init): Intitialize TN_no_color_video.
11888 (enum no_color_bit): New enumeration.
11889 (MAY_USE_WITH_COLORS_P): New macro.
11890 (turn_on_face): Use it to determine if attributes may be used
11891 combined with colors.
11892
3578db3c
KR
118932000-04-01 Ken Raeburn <raeburn@gnu.org>
11894
11895 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11896 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11897 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11898 proper accessor macros.
11899 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11900 (grow_mini_window): Fix typo getting int value of root->height.
11901
6fc556fd
KR
11902 * xdisp.c (compute_string_pos): Fix order of arguments to
11903 string_pos_nchars_ahead.
11904 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11905 count arg to variable-arg routines like Frun_hook_with_args and
11906 Fformat.
587a49ab
GM
11907 (back_to_previous_visible_line_start)
11908 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11909 fixed-arg routines like Fget_char_property and Fmake_string.
11910 (reconsider_clip_changes): Use XINT when comparing integer lisp
11911 objects, or passing them as int arguments.
587a49ab
GM
11912 (mark_window_display_accurate, insert_left_trunc_glyphs)
11913 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11914 storing or passing integer values as lisp objects.
11915 (set_cursor_from_row, highlight_trailing_whitespace): Use
11916 INTEGERP, not implicit test against zero, for glyph object.
11917 (try_window_id): Don't use make_number when we want an int value.
11918
11919 * xfaces.c (xlfd_symbolic_value): Make last argument a
11920 Lisp_Object, to be consistent with callers.
11921 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11922 (lface_hash): Apply XFASTINT to lisp values before folding in.
11923
11924 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11925 fill in window width and height. Pass an int, not a lisp object,
11926 as first arg to Finsert.
11927
6e7b2457
GM
119282000-04-01 Gerd Moellmann <gerd@gnu.org>
11929
610d841e
GM
11930 * xfaces.c (realize_basic_faces): Block input while realizing
11931 the faces.
11932
6e7b2457
GM
11933 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11934
11935 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11936
aa110c0c
GM
119372000-03-31 Gerd Moellmann <gerd@gnu.org>
11938
11939 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11940 or ASCII, handle case that per-char metric is null.
aa110c0c 11941
8801a864
KR
119422000-03-30 Ken Raeburn <raeburn@gnu.org>
11943
c6129d7e
KR
11944 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11945
52283633
SM
11946 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11947 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11948 pointer, using eassert.
11949 * frame.h (XFRAME): Likewise.
11950
52283633
SM
11951 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11952 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11953 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11954 * data.c (set_internal): Likewise.
52283633
SM
11955 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11956 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11957 * fileio.c (auto_save_1): Likewise.
11958 * insdel.c (check_markers): Likewise.
11959 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11960 * undo.c (record_insert): Likewise.
11961 * vmsproc.c (child_sig): Likewise.
11962 * window.c (unshow_buffer, window_loop): Likewise.
11963 * xterm.c (x_erase_phys_cursor): Likewise.
11964
8e7af858
GM
119652000-03-30 Gerd Moellmann <gerd@gnu.org>
11966
11967 * xfns.c (free_image_cache): Free the cache structure itself
11968 last, after all its members have been freed.
11969
11970 * lisp.h (xstrdup): Add prototype.
11971
11972 * alloc.c (xstrdup): Moved here from xfaces.c.
11973 (allocating_for_lisp): Variable removed.
52283633 11974 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11975
11976 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11977 of Fsymbol_value.
11978 (xstrdup): Moved to alloc.c.
11979
e0b8c689
KR
119802000-03-29 Ken Raeburn <raeburn@gnu.org>
11981
b96f9fb7
KR
11982 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11983
11984 * emacs.c (main): Fix sense of no-loadup test.
11985
e0b8c689
KR
11986 * config.in (ENABLE_CHECKING): Undef.
11987
11988 * lisp.h (struct interval): Replace "parent" field with a union of
11989 interval pointer and Lisp_Object; add new bitfield to use as
11990 discriminant. Change other flag fields to bitfields.
11991 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11992 is defined and the supplied test fails, print a message and abort.
11993 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11994
11995 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11996 pointers; abort if the value looks like a lisp object.
52283633
SM
11997 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11998 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11999 Modify for new interval parent definition.
12000
52283633
SM
12001 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12002 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12003 addressable lisp object in the interval structure.
12004 (die): New function.
12005 (suppress_checking): New variable.
12006
12007 * intervals.c (interval_start_pos): Just return 0 if there's no
12008 parent object.
12009
f83c5440
GM
120102000-03-29 Gerd Moellmann <gerd@gnu.org>
12011
12012 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12013 and earlier Emacs versions.
12014
12015 * keyboard.c (Ftop_level): Cancel busy-cursor.
12016
12017 * eval.c (call_debugger): Cancel busy-cursor.
12018
fdce64ff
KH
120192000-03-29 Kenichi Handa <handa@etl.go.jp>
12020
12021 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12022 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12023
f6a3f532
SM
120242000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12025
12026 * regex.c (analyse_first): New function obtained by ripping out most
12027 of re_compile_fastmap and generalizing it a little bit so that it
12028 can also just return whether a given (sub)pattern can match the empty
12029 string or not.
12030 (regex_compile): Use `analyse_first' to decide whether the loop-check
12031 needs to be done or not for *, +, *? and +? (the loop check is costly
12032 for non-greedy repetition).
12033 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12034
e9b309ac
DL
120352000-03-28 Dave Love <fx@gnu.org>
12036
52283633 12037 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12038
e9b309ac
DL
12039 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12040
ed0767d8
SM
120412000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12042
12043 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12044 an expression.
12045 (enum re_opcode_t): Update description of succeed_n.
12046 (PATFETCH): Always define.
12047 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12048 operators, char classes, shy-groups and intervals).
12049 Optimize special cases of intervals so as to only use succeed_n and
12050 jump_n when really needed.
12051 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12052 that we don't have to handle the special cases any more.
12053 Simplify on_failure_jump handling as well.
12054
e11e7e46
JR
120552000-03-28 Jason Rumney <jasonr@gnu.org>
12056
12057 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12058
88faab89
GM
120592000-03-27 Gerd Moellmann <gerd@gnu.org>
12060
182ff242
GM
12061 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12062
12063 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12064
182ff242
GM
12065 * alloc.c (mark_maybe_object): New function.
12066 (mark_memory): Use it.
12067 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12068 (setjmp_tested_p, longjmp_done): New variables.
12069 (test_setjmp): New function.
12070 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12071 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12072
c1005d06
GM
12073 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12074 to DEC_TEXT_POS and INC_TEXT_POS.
12075
12076 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12077 with parameter MULTIBYTE_P.
12078
52283633 12079 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12080
7439e5b9 12081 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12082 buffers because it looks for multibyte character byte sequences
12083 which don't exist in unibyte text.
7439e5b9 12084
d9c545da
GM
12085 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12086
11fd416e 12087 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12088 [DEBUG_X_COLORS]: New functions.
12089 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12090
12091 * xfns.c (x_set_cursor_color): Get color reference counts right.
12092
12093 * xterm.c (x_copy_color): New function.
12094 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12095
12096 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12097 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12098 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12099 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12100 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12101 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12102 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12103 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12104 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12105 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12106
11fd416e
GM
12107 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12108 names for handling per-buffer variables.
d9c545da
GM
12109
12110 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12111 instead of MAX_BUFFER_LOCAL_VARS.
12112 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12113
12114 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12115
88faab89
GM
12116 * xfns.c (x_specified_cursor_type): New function.
12117 (x_set_cursor_type): Use it.
12118
12119 * buffer.h (struct buffer): Add cursor_type.
12120
d80f42b7
SM
121212000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12122
12123 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12124 (print_partial_compiled_pattern, re_compile_fastmap):
12125 Handle new opcode.
d80f42b7
SM
12126 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12127 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12128 executing it as well as when popping it off the stack to find infinite
12129 loops in non-greedy repetition operators.
12130
89e80928
GM
121312000-03-26 Gerd Moellmann <gerd@gnu.org>
12132
3d4ff2dd
GM
12133 * doc.c (Qfunction_documentation): New variable.
12134 (syms_of_doc): Initialize Qfunction_documentation.
12135 (Fdocumentation): If FUNCTION is a symbol with non-nil
12136 `function-documentation' property, return a documentation derived
12137 from that.
12138
bd96bd79
GM
12139 * buffer.c (syms_of_buffer): Add default-cursor-type.
12140 (init_buffer_once): Don't let cursor_type have a local value
12141 in every buffer.
12142
19d1bc27
GM
12143 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12144 on buffer-local value of cursor_type.
12145 (x_draw_bar_cursor): Add parameter WIDTH.
12146
12147 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12148 (init_buffer_once): Set default cursor_type value to t.
12149 Mark cursor_type as local everywhere.
12150 (syms_of_buffer): New per-buffer variable cursor-type.
12151
89e80928
GM
12152 * buffer.h (struct buffer): Remove member local_var_flags,
12153 add local_flags.
12154 (MAX_BUFFER_LOCAL_VARS): New macro.
12155 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12156 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12157 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12158 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12159
52283633 12160 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12161
12162 * category.c (Fset_category_table): Use new macros for per-buffer
12163 variables.
12164
12165 * buffer.c (buffer_permanent_local_flags): Make a char array.
12166 (max_buffer_local_idx): New variable.
12167 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12168 for new handling of per-buffer variables.
12169 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12170 (init_buffer_once): Initialize per-buffer vars differently.
12171 Set max_buffer_local_idx.
12172
12173 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12174 variables.
12175
52283633 12176 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12177
12178 * data.c (do_symval_forwarding, store_symval_forwarding)
12179 (find_symbol_value, set_internal, default_value, Fset_default)
12180 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12181 per-buffer variables.
12182
12183 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12184
9a0dd3dc
GM
121852000-03-24 Gerd Moellmann <gerd@gnu.org>
12186
b68c375f
GM
12187 * xterm.c (x_term_init): Unblock input around call1 of
12188 Qvendor_specific_keysyms.
12189
9a0dd3dc
GM
12190 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12191 (find_defun_start): Consider an open parenthesis in column 0
12192 a defun start only if open_paren_in_column_0_is_defun_start is set.
12193 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12194
7973e637
SM
121952000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12196
12197 * eval.c (Fautoload): Add entry in load-history (if after dump).
12198 * lread.c (load-history): Update docstring.
12199
39210e90
GM
122002000-03-24 Gerd Moellmann <gerd@gnu.org>
12201
12202 * indent.c (Fvertical_motion): Always use the current buffer.
12203 Temporarily change the window's buffer, if necessary.
12204
72db3ab5
GM
122052000-03-23 Gerd Moellmann <gerd@gnu.org>
12206
12207 * xterm.c (fast_find_position): Make sure not to consider rows
12208 not visible in the window.
12209
990b2375
SM
122102000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12211
12212 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12213 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12214
ff4df011
JR
122152000-03-22 Jason Rumney <jasonr@gnu.org>
12216
12217 * w32menu.c (single_submenu): Set help string to NULL if none.
12218 (w32_menu_show): Set help string correctly.
12219 (add-menu-item): Set help string in MIIM_DATA for menu item.
12220 Load SetMenuItemInfoA explicitly.
12221 (w32_menu_display_help): New function.
427ec082 12222
ff4df011
JR
12223 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12224 (QCdata): Moved to xdisp.c.
12225
12226 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12227 (Vw32_charset_to_codepage_alist): Removed.
12228 (Vw32_charset_info_alist): New variable.
52283633
SM
12229 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12230 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12231 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12232 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12233 with TODO comment.
12234 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12235 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12236 Define Vw32_charset_info_alist and w32_charset symbols.
12237
122382000-03-22 Jason Rumney <jasonr@gnu.org>
12239
12240 * makefile.nt (w32bdf.obj): Update dependencies.
12241
12242 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12243
12244 * w32fns.c: Include fontset.h after dispextern.h.
12245 (Fx_create_frame): Do not create fontset.
12246 (w32_load_system_font): Doc fix.
12247 (Fx_close_connection): Free full_name if it is not shared.
12248
12249 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12250 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12251 Callers updated.
ff4df011
JR
12252 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12253 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12254 (w32_font_is_double_byte): New function, needs body.
12255 (x_append_glyph): Set glyph->glyph_not_available_p.
12256 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12257 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12258 character, convert it to a unibyte character.
12259 (struct glyph_string): Delete member `charset'.
12260 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12261 calculating it is found.
12262 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12263 the case that per char metric is not available correctly.
12264 (x_fill_glyph_string): Handle the case that the specific glyph is
12265 not available correctly.
12266 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12267 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12268 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12269 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12270 fontset. Don't call FS_LOAD_FONT.
12271
439d5cb4
KR
122722000-03-22 Ken Raeburn <raeburn@gnu.org>
12273
12274 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12275 (INT_LISPLIKE): New macro.
12276 (NULL_INTERVAL_P): Use it.
52283633
SM
12277 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12278 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12279 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12280
12281 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12282 explicit references to "parent" field of struct interval and
12283 associated unclean type conversions.
52283633
SM
12284 * intervals.c (create_root_interval, root_interval, rotate_right)
12285 (rotate_left, balance_possible_root_interval, split_interval_right)
12286 (split_interval_left, interval_start_pos, find_interval)
12287 (next_interval, previous_interval, update_interval)
12288 (adjust_intervals_for_insertion, delete_node, delete_interval)
12289 (adjust_intervals_for_deletion, merge_interval_right)
12290 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12291 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12292 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12293 Likewise.
12294 * syntax.c (update_syntax_table): Likewise.
12295
12296 * intervals.c (reproduce_tree_obj): New function, like
12297 reproduce_tree but takes a Lisp_Object for the parent. Declare
12298 with prototype.
12299 (graft_intervals_into_buffer): Use it when appropriate.
12300 (reproduce_tree): Declare with prototype.
12301 (balance_possible_root_interval): Check that the parent is a lisp
12302 object before trying to examine its type.
12303
ee1c5b21
GM
123042000-03-22 Gerd Moellmann <gerd@gnu.org>
12305
12306 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12307 as strings only if both are known to be strings.
12308
12309 * s/openbsd.h (LIBS_TERMCAP): Undef.
12310
1fb352e0
SM
123112000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12312
12313 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12314 definitions for non-Emacs compilation.
12315 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12316 outside of `#ifdef emacs'.
12317 (print_partial_compiled_pattern): Update.
12318 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12319 (re_compile_fastmap): Merge handling of charset and charset_not (for
12320 emacs and non-emacs compilation as well).
12321 Similarly for (not)categoryspec and (not)syntaxspec.
12322 Don't use the fastmap when reaching `anychar' since the added
12323 complexity is not justified.
12324 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12325 and (not)syntaxspec. Merge (not)categoryspec.
12326
fdaa1f77
KH
123272000-03-22 Kenichi Handa <handa@etl.go.jp>
12328
52283633
SM
12329 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12330 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12331 --without-x.
fdaa1f77 12332
d152fb46
DL
123332000-03-21 Dave Love <fx@gnu.org>
12334
12335 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12336 doc string.
12337
d2cafc8c
GM
123382000-03-21 Gerd Moellmann <gerd@gnu.org>
12339
12340 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12341 (lface_fully_specified_p): Don't check contents of
12342 LFACE_FONT_INDEX because that attribute is optional.
12343 (realize_x_face): Remove now unwarranted xassert.
12344
9111d4b5
KH
123452000-03-21 Kenichi HANDA <handa@etl.go.jp>
12346
12347 The following changes are to make font selection based on
12348 characters, not charset. In addition, they recover fontset
12349 facilities while utilizing the new font selection mechanism.
12350
6c4bfdc0
KH
12351 * Makefile.in (fontset.o): Depend on dispextern.h.
12352
12353 * alloc.c (mark_face_cache): Don't mark face->registry.
12354
9111d4b5
KH
12355 * dispextern.h (struct glyph): New member glyph_not_available_p.
12356 Use 22 bits for face_id.
12357 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12358 (struct face): Delete member registry, new member ascii_face.
12359 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12360 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12361 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12362 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12363
12364 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12365 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12366 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12367 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12368 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12369 (fs_free_face_fontset, fontset_font_pattern)
12370 (face_suitable_for_char_p, face_for_char)
12371 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12372 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12373 (FS_LOAD_FACE_FONT): New macro.
12374
12375 * fontset.c: All codes rewritten or adjusted for the change of
12376 fontset implementation. Now fontset is represented by char table.
52283633
SM
12377 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12378 Variables removed.
9111d4b5 12379 (my_strcasecmp): Function removed.
52283633 12380 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12381 (AREF, ASIZE): New macros.
52283633
SM
12382 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12383 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12384 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12385 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12386 (fontset_id_valid_p, font_family_registry, fontset_name)
12387 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12388 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12389 New functions.
12390 (fs_load_font): New arg FACE. Caller changed.
12391 (fs_query_fontset): Argument changed. Caller changed.
12392 (Fquery_fontset): call fs_query_fontset.
12393 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12394 Functions removed.
52283633
SM
12395 (clear_fontset_elements, check_registry_encoding)
12396 (check_fontset_name): New functions.
9111d4b5
KH
12397 (syms_of_fontset): Set char-table-extra-slots property of fontset
12398 to 3. Staticpro and initialize Vfontset_table and
12399 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12400
12401 * frame.h (struct frame): Member `fontset_data' removed.
12402 (FRAME_FONTSET_DATA): Macro removed.
12403
12404 * frame.c (make_frame): Don't allocate f->fontset_data.
12405 (Fdelete_frame): Don't free f->fontset_data.
12406
6c4bfdc0
KH
12407 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12408
9111d4b5
KH
12409 * xdisp.c (charset_at_position): Function removed.
12410 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12411 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12412 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12413 Likewise.
12414 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12415 FACE_FOR_CHARSET.
52283633
SM
12416 (get_next_display_element, append_space)
12417 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12418
12419 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12420 Variables removed.
12421 (clear_font_table, frame_update_line_height, load_face_font):
12422 Adjusted for the change of fontset implementation.
12423 (load_face_fontset_font): Function removed.
12424 (pixel_point_size): New function.
12425 (font_list): Argument type changed. Caller changed.
12426 (LFACE_FONT): New macro.
12427 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12428 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12429 Lisp_Object. Determine the font name by actually loading a font
12430 by the specified pattern. Set LFACE_FONT (lface) to the specified
12431 pattern. Even if a font is not found, don't try alternatives.
12432 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12433 (set_font_frame_param): If `font' is specified in lface, use it.
12434 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12435 (lface_same_font_attributes_p): Likewise.
12436 (make_realized_face): Arguent changed. Caller changed. Set
12437 face->ascii_face to face itself.
12438 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12439 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12440 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12441 (free_realized_multibyte_face): New function.
12442 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12443 changed. Caller changed.
12444 (try_font_list): Argument type changed.
12445 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12446 (choose_face_font): Argument changed. Handle fontset properly.
12447 (choose_face_fontset_font): Function removed.
12448 (realize_default_face, realize_named_face): Don't remove the
12449 former face here.
12450 (realize_face): Argument changed. Caller changed. Remove face
52283633 12451 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12452 (realize_x_face): Argument changed. Caller changed. For a
12453 multibyte character, share fontset with base_face. For a single
52283633 12454 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12455 (realize_tty_face): Argument changed. Caller changed.
12456 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12457 (face_at_buffer_position): Don't check multibyte_p for returning
12458 DEFAULT_FACE_ID.
12459 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12460 FACE_SUITABLE_FOR_CHARSET_P.
12461 (syms_of_xfaces): Remove code for Qx_charset_registry and
12462 Vface_default_registry.
12463
6c4bfdc0
KH
12464 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12465 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12466 (x_per_char_metric): Don't try FONT->default_char. Even if
12467 pcm->width is zero, glyph bits may exist.
12468 (x_encode_char): Always initialize char2b->byte1.
12469 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12470 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12471 (x_append_glyph): Set glyph->glyph_not_available_p.
12472 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12473 it->charset. Handle the case that per char metric is not
12474 available. If it->multibyte_p is zero and it->c is a multibyte
12475 character, convert it to a unibyte character.
12476 (struct glyph_string): Delete member `charset'.
12477 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12478 the case that per char metric is not available correctly.
12479 (x_fill_glyph_string): Handle the case that the specific glyph is
12480 not available correctly.
12481 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12482 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12483 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12484 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12485 fontset. Don't call FS_LOAD_FONT.
12486
12487 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12488 (x_create_tip_frame): Likewise.
12489 (Fx_close_connection): Free full_name of font_info.
12490
12491 * fns.c (optimize_sub_char_table): New function.
12492 (Foptimize_char_table): New function.
12493 (syms_of_fns): Defsubr Soptimize_char_table.
12494
b33dd3b0
GM
124952000-03-20 Gerd Moellmann <gerd@gnu.org>
12496
12497 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12498 only if buffer is displayed in some window.
12499
12500 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12501 (try_window_reusing_current_matrix): Don't call scroll run
12502 function if run's current and desired position are the same;
12503 this prevents cursor flickering.
12504
4e8a9132
SM
125052000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12506
12507 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12508
12509 * regex.c (RE_STRING_CHAR): New macro.
12510 (GET_CHAR_AFER_2): Remove.
12511 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12512 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12513 (print_partial_compiled_pattern, re_compile_fastmap)
12514 (re_match_2_internal): Remove on_failure_jump_exclusive.
12515 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12516 optimization only need to work for * (ie. can use of_keep_string_jump).
12517 Remove the special case for .*\n since it is now covered by the general
12518 optimization.
12519 (re_search_2): Don't bother with `room'.
12520 (skip_one_char): New function.
12521 (skip_noops): Simplify since `memory' is not needed any more.
12522 (mutually_exclusive_p): Restructure slightly to use `switch' and
12523 add handling for "all" remaining cases.
12524 (re_match_2_internal): Change on_failure_jump_smart to use
12525 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12526 rather than on_failure_jump_exclusive.
12527
2136fdd4
GM
125282000-03-19 Gerd Moellmann <gerd@gnu.org>
12529
12530 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12531 number of bits per RGB because it's everywhere used as the depth
12532 of the visual.
12533
12534 * term.c (calculate_costs): Remove code dealing with X frames.
12535
18e21ce8 125362000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12537
12538 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12539
d7b511c4
GM
125402000-03-18 Gerd Moellmann <gerd@gnu.org>
12541
12542 * lread.c (read_integer): Unread the last char not consumed.
12543
16b5d424
GM
125442000-03-17 Gerd Moellmann <gerd@gnu.org>
12545
12546 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12547 which are in the process of being deleted.
16b5d424 12548
1fa28578
GM
125492000-03-16 Gerd Moellmann <gerd@gnu.org>
12550
83488cce
GM
12551 * Makefile.in (mostlyclean): Add `*.core'.
12552 (clean): Add `bootstrap-emacs'.
12553
1fa28578
GM
12554 * lread.c (read_integer): New function.
12555 (read1): Support read syntax #o, #x, #b, #r.
12556
99633e97
SM
125572000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12558
1fa28578
GM
12559 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12560 make sure POINTER_TO_OFFSET gives the same value before and after
12561 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12562 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12563 (debug): Now only active if > 0 rather than if != 0.
12564 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12565 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12566 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12567 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12568 (store_op1, store_op2, insert_op1, insert_op2)
12569 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12570 (group_in_compile_stack): Move to after its arg's types are
12571 declared and add a prototype.
99633e97 12572 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12573 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12574 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12575 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12576 indentation of the greedy-op and shy-group code.
99633e97
SM
12577 (at_(beg|end)line_loc_p): Fix argument's types.
12578 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12579 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12580 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12581 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12582 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12583 QUIT unconditionally.
99633e97 12584
699238d9
GM
125852000-03-15 Gerd Moellmann <gerd@gnu.org>
12586
12587 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12588 a sole completion.
12589
12590 * process.c (send_process): Add a hint that the function
12591 can call Lisp code to its comment.
12592
12593 * lread.c (load_dangerous_libraries): New variable.
12594 (Vbytecomp_version_regexp): New variable.
12595 (safe_to_load_p): New function.
12596 (Fload): Handle files not compiled with Emacs specially.
12597 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12598
34e23e5a
GM
125992000-03-14 Gerd Moellmann <gerd@gnu.org>
12600
9c763cca
GM
12601 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12602
12603 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12604 support functions only if HAVE_X11R6_XIM is defined.
12605 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12606
12607 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12608
12609 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12610 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12611 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12612
12613 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12614 (HAVE_X11R6_XIM): Define.
12615
12616 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12617
34e23e5a
GM
12618 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12619 If set, call XSynchronize.
12620
66f0296e
SM
126212000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12622
34e23e5a
GM
12623 * regex.c: Declare a new type `re_char' used throughout the code
12624 for the string char type. It's `const unsigned char' to match the
12625 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12626 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12627 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12628 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12629 code duplication.
66f0296e
SM
12630
12631 * charset.h (GET_CHAR_AFTER_2): Remove.
12632 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12633
854a025c
KR
126342000-03-12 Ken Raeburn <raeburn@gnu.org>
12635
12636 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12637 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12638 of them try to use backquotes.
12639
b9d2c7e2
DL
126402000-03-12 Dave Love <fx@gnu.org>
12641
12642 * unexelf.c: Restore changes of 1999-10-19.
12643 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12644 fix its type and alignment; copy it from current process.
12645
5e5dff44
GM
126462000-03-12 Gerd Moellmann <gerd@gnu.org>
12647
9b2f3c38
GM
12648 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12649 has been found. Fix bug not computing timer's predecessor.
12650
427ec082 12651 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12652 file name.
12653
e1cff360
GM
12654 * window.c (Fsave_window_excursion): Doc fix.
12655
52283633 12656 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12657
e411ce4b
EZ
126582000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12659
12660 * msdos.c (vga_installed): New function, code moved from
12661 dos_set_window_size.
12662 (Qbar, Qcursor_type, outside_cursor): New variables.
12663 (syms_of_msdos): Intern and staticpro them.
12664 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12665 shape used outside Emacs when called for the first time.
12666 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12667 cursor shape used outside Emacs.
12668 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12669 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12670 type has changed.
12671 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12672 parameters specify the cursor. Make qreverse a global
12673 variable (renamed to Qreverse).
12674
80460654
GM
126752000-03-09 Gerd Moellmann <gerd@gnu.org>
12676
12677 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12678
95cd4c40
SM
126792000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12680
12681 This is a big redesign of failure-stack and register handling, prompted
12682 by bugs revealed when trying to add shy-groups. Overall, what happened
12683 is that loops are now structured a little differently, groups can be
12684 shy and the code is a little simpler.
12685
12686 * regex.h: Update the copyright.
12687 (RE_SHY_GROUPS): New value.
12688 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12689 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12690
80460654
GM
12691 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12692 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12693 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12694 for (start|stop)_memory since they now only take one argument (the
12695 second has becomes unnecessary).
52283633 12696 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12697 (print_compiled_pattern): Use %ld to printf long ints and flush to
12698 make debugging a little easier.
95cd4c40
SM
12699 (union fail_stack_elt): Make the integer unsigned.
12700 (struct fail_stack_type): Add a `frame' element.
12701 (INIT_FAIL_STACK): Init `frame' as well.
12702 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12703 (DEBUG_PUSH, DEBUG_POP): Remove.
12704 (NUM_REG_ITEMS): Remove.
12705 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12706 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12707 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12708 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12709 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12710 New macros.
80460654
GM
12711 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12712 address pushed is not the destination of the jump but the source
12713 of it instead.
95cd4c40
SM
12714 (NUM_FAILURE_ITEMS): Remove.
12715 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12716 registers before the actual failure point). Don't hardcode any
12717 meaning for str==NULL anymore.
95cd4c40 12718 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12719 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12720 Remove.
95cd4c40
SM
12721 (REG_UNSET_VALUE): Use NULL (why not?).
12722 (compile_range): Remove declaration since it doesn't exist.
12723 (struct compile_stack_elt_t): Remove inner_group_offset.
12724 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12725 (regex_grow_registers): Remove dead code.
12726 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12727 (regex_compile): Add shy-groups Change loops to use
12728 on_failure_jump_smart&jump instead of
12729 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12730 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12731 variable to me). Use `jump' instead of `jump_past_alt' and don't
12732 bother with push_dummy_failure in alternatives since it is now
12733 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12734 emacs' for (re)allocating the stack.
12735 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12736 from loop when bufp->can_be_null rather than jumping to `done'.
12737 Avoid jumping backwards so as to ensure termination. Use
12738 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12739 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12740 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12741 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12742 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12743 (lowest_active_reg, highest_active_reg)
12744 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12745 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12746 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12747 variables. Push register (in `start_memory') on the stack rather
12748 than storing it in old_reg(start|end). Remove the cycle detection
12749 from `stop_memory', replaced by the use of on_failure_jump_loop
12750 for greedy loops. Add code for the new on_failure_jump_<foo>.
12751 Remove ad-hoc code in `on_failure_jump' to push more registers in
12752 the case of a loop. Take out code from `maybe_pop_jump' into
12753 separate functions and adapt it to the semantics of
12754 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12755 and push_dummy_failure. Remove dummy_failure handling and
12756 handling of `failures to jump to on_failure_jump' (this last one
12757 was already dead code, it seems).
12758 (group_match_null_string_p, alt_match_null_string_p)
12759 (common_op_match_null_string_p): Remove.
95cd4c40 12760
7397acc4
DL
127612000-03-08 Dave Love <fx@gnu.org>
12762
12763 * config.in: Don't depend on __STDC__ for volatile.
12764 Add POINTER_TYPE, PTR, PROTOTYPES.
12765
12766 * hftctl.c, strftime.c: Use PROTOTYPES.
12767 * eval.c (find_handler_clause): Likewise.
12768
12769 * mem-limits.h: Use POINTER_TYPE.
12770
12771 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12772 (memory_warnings): Declare using POINTER_TYPE.
12773
5e91ff9e
GM
127742000-03-08 Gerd Moellmann <gerd@gnu.org>
12775
feab4fba
GM
12776 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12777
52283633 12778 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12779
5e91ff9e
GM
12780 * xfns.c: Remove obsolete code in #if 0.
12781 (Fx_focus_frame): New function.
12782
a735b7e1
KH
127832000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12784
12785 * coding.c (coding_category_name): Add coding-category-utf-8,
12786 coding-category-utf-16-be, coding-category-utf-16-le.
12787 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12788 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12789 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12790 (detect_coding_utf_8): New function.
12791 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12792 UTF_16_LOW_SURROGATE_P): New macros.
12793 (detect_coding_utf_16): New function
12794 (detect_coding_mask): When priorities are specified, skip any
12795 categories that have `nil' coding-system. Fix bug of returning
12796 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12797 returns a mask not set in PRIORITIES.
12798 (detect_eol_type_in_2_octet_form): New function.
12799 (detect_eol): selects detect_eol_type_XXX to call according to
12800 cooding->category_idx.
12801 (detect_coding_system): Remove `nil' coding-system in the result.
12802 (Fupdate_coding_systems_internal): Update all coding-categories.
12803
52283633
SM
12804 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12805 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12806 New macros.
12807 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12808 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12809 (CODING_CATEGORY_IDX_UTF_16_LE)
12810 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12811 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12812 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12813 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12814
9994cc69
GM
128152000-03-07 Gerd Moellmann <gerd@gnu.org>
12816
e9b4e5ff
GM
12817 * doc.c (Fdocumentation_property): If value is not a string,
12818 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12819
f7daf1e1
GM
12820 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12821 close the display with XtCloseDisplay. This caused a bus error
12822 on OpenWindows.
12823
9994cc69
GM
12824 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12825 complete but not unique.
12826
4336c705
GM
128272000-03-06 Gerd Moellmann <gerd@gnu.org>
12828
18bb0684
GM
12829 * process.c (send_process): Remove local variable `procname' that
12830 might become invalid when a GC happens. Instead, access the
12831 process name slot directly.
12832
4336c705
GM
12833 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12834 orig_height if set.
12835
12836 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12837 orig_height if set.
12838
515d0d0e
EZ
128392000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12840
12841 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12842 glyph matrices have been freed.
12843
100b3cbb
GM
128442000-03-05 Gerd Moellmann <gerd@gnu.org>
12845
50df5e5a 12846 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12847 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12848
12849 * xfns.c (QCdata): Moved to xdisp.c.
12850
12851 * xdisp.c (QCdata): Moved here from xfns.c.
12852 (syms_of_xdisp): Initialize QCdata.
12853
12854 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12855
12856 * window.c (coordinates_in_window): Use
12857 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12858 FRAME_INTERNAL_BORDER_WIDTH.
12859
100b3cbb 12860 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12861 it is obviously invalid.
100b3cbb
GM
12862
12863 * xterm.c (x_term_init): Create a colormap if not using the
12864 default visual.
12865
12866 * xterm.h (select_visual): Change prototype.
12867
12868 * xfns.c (select_visual): Rewritten. Recognize user-specified
12869 visual classes.
12870 (visual_classes): New variable.
12871
64d739c4
GM
128722000-03-04 Gerd Moellmann <gerd@gnu.org>
12873
12874 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12875 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12876 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12877 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12878 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12879 XtNcolormap resources.
12880 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12881 (Fx_create_frame): Initialize color members of x_output structure.
12882 (xpm_load): Pass colormap to XPM lib.
12883
12884 * xfaces.c (x_free_colors): Access colormap of frame using
12885 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12886 when default colormap is used.
12887
12888 * xterm.c (x_term_init): Set Colormap member of x_display_info
12889 structure. Copy colormap if resource `privateColormap' is
12890 specified (PseudoColor only).
12891 (x_setup_relief_color): Access colormap of frame using
12892 FRAME_X_COLORMAP.
12893
12894 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12895 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12896
c3cee013
JR
128972000-03-04 Jason Rumney <jasonr@gnu.org>
12898
12899 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12900 other non-platform-specific equivalents.
64d739c4 12901 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12902 specific functions and macros as their w32 equivalents where
12903 non-platform-specifics are not available.
12904 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12905 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12906 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12907 (frame_update_line_height): Use macros to access f->output_data.
12908 (defined_color): Remove FIXME comments; fixed.
12909 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12910 into #ifdef blocks. Add WINDOWSNT blocks.
12911 (Fx_list_fonts): Use macros for accessing font data.
12912 (set_lface_from_font_name): Different default fonts for X and
12913 WINDOWSNT.
12914 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12915 scalable for backward compatibility.
64d739c4 12916 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12917 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12918
64d739c4 12919 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12920 syms_of_w32faces.
12921
12922 * makefile.nt (w32faces.obj): Remove.
12923 (xfaces.obj): Add.
12924
807cc41c
JR
129252000-03-03 Jason Rumney <jasonr@gnu.org>
12926
12927 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12928 correct parameters.
12929
0007072a
KR
129302000-03-03 Ken Raeburn <raeburn@gnu.org>
12931
12932 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12933 standard ELF definitions here if the system header does not.
12934
71a6ba55
GM
129352000-03-03 Gerd Moellmann <gerd@gnu.org>
12936
12937 * xterm.c (PER_CHAR_METRIC): Removed.
12938 (x_per_char_metric_1, x_default_char): New functions.
12939 (x_per_char_metric): If font's default char is invalid, return
12940 metrics of a suitably chosen usable default char.
12941 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12942 char, replace occurrences of unprintable chars with a suitably
12943 chosen usable default char.
71a6ba55 12944
900fa1f1
GM
129452000-03-02 Gerd Moellmann <gerd@gnu.org>
12946
42f55fe0
GM
12947 * xterm.c (note_mouse_highlight): Return quickly if frame's
12948 glyph matrices have been freed.
12949
12950 * dispnew.c (free_glyphs): Block input while freeing matrices.
12951
900fa1f1
GM
12952 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12953
52283633
SM
12954 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12955 Use x_free_colors.
900fa1f1
GM
12956
12957 * dispextern.h (x_free_colors): Add prototype.
12958
12959 * xfaces.c (x_free_colors): New function.
12960 (unload_color, free_face_colors): Use it.
12961
2f950292
EZ
129622000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12963
12964 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12965
12966 * window.c [MSDOS]: Include msdos.h.
12967
54d04320
DL
129682000-03-02 Dave Love <fx@gnu.org>
12969
12970 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12971
12972 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12973 set C_OPTIMIZE_SWITCH for gcc.
12974
0ba93ac4
KH
129752000-03-02 Kenichi Handa <handa@etl.go.jp>
12976
12977 * coding.c (coding_save_composition): Be sure to allocate
12978 composition data area in coding even if there's no composition in
12979 the current run.
12980
a2bc11d4
JR
129812000-03-01 Jason Rumney <jasonr@gnu.org>
12982
12983 * w32term.c: Equivalent changes to those made to xterm.c on
12984 2000-02-25 and 2000-02-24.
12985
12986 * w32fns.c: Equivalent changes to those made to xfns.c on
12987 2000-02-25 and 2000-02-21.
12988
12989 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12990 correct line-end convention is followed.
12991
12992 * w32menu.c [HAVE_BOXES]: Remove #undef.
12993 (single_keymap_panes): Remove code for simulating checkmarks.
12994 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12995 Remove code for drawing simulated checkmarks.
12996 (w32_menu_show): make unibyte help string correctly.
12997 (add_menu_item): draw standard Windows checkmarks. Draw radio
12998 buttons as radio buttons if possible.
12999
72d19d75
GM
130002000-03-01 Gerd Moellmann <gerd@gnu.org>
13001
2df636f4
GM
13002 * sysdep.c (start_of_text): Don't define this function for NetBSD
13003 with ELF.
13004
427ec082 13005 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13006 Don't define.
13007 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13008 (LINKER): Don't undef if __NetBSD__ is defined.
13009
13010 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13011
13012 * fileio.c [__NetBSD__]: Define `unix'.
13013
72d19d75
GM
13014 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13015
ed4d0512
GM
130162000-02-29 Gerd Moellmann <gerd@gnu.org>
13017
50b1039f
GM
13018 * atimer.c (start_atimer): Don't abort when timers are stopped.
13019 (append_atimer_lists): New function.
13020 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13021 arbitrary lists of stopped and running atimers.
13022
ed4d0512
GM
13023 * atimer.c (cancel_atimer): Handle canceling an atimer when
13024 some timers are stopped.
13025
13026 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13027 after canceling it.
13028
13029 * fns.c (maybe_resize_hash_table): Handle case of new size
13030 coming out as being the same as old size.
13031
387023ee
JR
130322000-02-27 Jason Rumney <jasonr@gnu.org>
13033
13034 * makefile.nt: Add atimer.h to dependencies.
13035 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13036 * w32console.c: Only disable window system features for dispextern.h
13037 (initialize_w32_display): Build a display info for the console.
13038 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13039 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13040 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13041 as 2 button mice.
13042 * w32gui.h (struct W32FontStruct): Revert last change after change
13043 to xdisp.c.
13044 * w32menu.c (single_submenu): Set up help string.
13045 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13046 (w32_dialog_show): Set up help string.
13047 * w32term.c (w32_display_info_for_display): Remove unused function.
13048 (w32_draw_bitmap): Use pre-built bitmaps.
13049 (w32_initialize_display_info): New function to initialize parts of
13050 display info that are common to both GUI and console frames.
13051 (w32_term_init): Use w32_initialize_display_info. Do not set
13052 Vw32_num_mouse_buttons here, as it is not called for console
13053 frames. Build bitmaps for indicating truncated lines etc.
13054 (x_delete_display): Destroy pre-built bitmaps.
13055 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13056 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13057
4516715a
DL
130582000-02-27 Dave Love <fx@gnu.org>
13059
13060 * lisp.h: Add a bunch of prototypes.
13061
171ca836
KH
130622000-02-26 Kenichi Handa <handa@etl.go.jp>
13063
13064 * keyboard.c (read_char): Set `usec' correctly.
13065
4013921d
KH
130662000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13067
13068 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13069 `lambda', set reg[RRR] to the map index.
13070 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13071 reg[RRR] to 0. Otherwise, set it to -1.
13072
9244a058
GM
130732000-02-25 Gerd Moellmann <gerd@gnu.org>
13074
2df636f4 13075 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13076
18e21ce8 130772000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13078
f43d79c1
GM
13079 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13080 and contains a `:', prepend `/:'.
13081
13082 * window.c (select_window_1): If selected_window is nil,
13083 don't "swap out" the buffer's point.
13084 (Fset_window_configuration): Set selected_window to nil
13085 before calling Fselect_window.
13086 (unshow_buffer): Don't set point in buffer from window's point
13087 if another more recently selected window also shows the buffer.
13088
bed0c171
GM
130892000-02-25 Gerd Moellmann <gerd@gnu.org>
13090
449c3c52
GM
13091 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13092
f5b58615
GM
13093 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13094 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13095 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13096 New variables.
f5b58615
GM
13097 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13098 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13099 (hide_busy_cursor): New functions.
13100 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13101
13102 * minibuf.c (read_minibuf): Cancel busy-cursor.
13103
13104 * keyboard.c (command_loop_1): Call start_busy_cursor before
13105 Fcommand_execute and cancel_busy_cursor after it.
13106 (timer_check): Remove busy-cursor code.
13107 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13108 cursor timer.
13109
13110 * process.c (wait_reading_process_input): Remove busy-cursor code.
13111
13112 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13113 Fx_hide_busy_cursor.
13114
13115 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13116 Remove prototyoes.
13117 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13118
13119 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13120
13121 * xterm.c (XTread_socket): Remove busy-cursor code.
13122
4eb8436f
GM
13123 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13124 (build_frame_matrix_from_leaf_window): Put code handling
13125 glyph row's not being a slice of a frame row in #if 0.
13126 (sync_window_with_frame_matrix_rows): New function.
13127 (frame_row_to_window): New function.
13128 (mirror_line_dance): Handle copies between windows.
13129
3cb65b0e
GM
13130 * lread.c (Fload): Use `xfree' instead of `free'.
13131 (init_obarray): Use `xmalloc' instead of `malloc'.
13132
bed0c171
GM
13133 * window.c (Fset_window_buffer): Set WINDOW to the window
13134 after decoding.
2add4349
GM
13135 (coordinates_in_window): Take frame's internal border width
13136 into account.
bed0c171 13137
42088c12
GM
131382000-02-24 Gerd Moellmann <gerd@gnu.org>
13139
13140 * xterm.c (x_display_and_set_cursor): Display cursor of
13141 non-selected windows depending on the setting of
13142 cursor_in_non_selected_windows.
13143
13144 * xdisp.c (cursor_in_non_selected_windows): New variable.
13145 (syms_of_xdisp): DEFVAR_BOOL it.
13146
d1e103b2
GM
131472000-02-23 Gerd Moellmann <gerd@gnu.org>
13148
723e779c
GM
13149 * data.c (Fstring_to_number): If number is greater than what
13150 fits into an integer, return a float.
13151
d1e103b2
GM
13152 * eval.c (specbind): Remove references to
13153 keyword_symbols_constant_flag.
13154
13155 * data.c (keyword_symbols_constant_flag): Removed.
13156 (Fmakunbound, set_internal, syms_of_data): Remove references to
13157 keyword_symbols_constant_flag.
13158
13159 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13160
214f877f
KH
131612000-02-23 Kenichi Handa <handa@etl.go.jp>
13162
13163 * syntax.c (multibyte_syntax_as_symbol): New variable.
13164 (syms_of_syntax): Declare it as a Lisp variable.
13165 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13166 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13167 nonzero, treat all multibyte characters as symbol.
52283633 13168 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13169
130adcb7
EZ
131702000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13171
3cb65b0e 13172 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13173 a deleted frame.
130adcb7 13174
17cbbf95
GM
131752000-02-21 Gerd Moellmann <gerd@gnu.org>
13176
13177 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13178
13179 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13180 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13181
beb0bc36
DL
131822000-02-21 Dave Love <fx@gnu.org>
13183
13184 * frame.c (Vmouse_position_function): New variable.
13185 (Fmouse_position): Use it.
13186 (syms_of_frame): Install it.
13187
13188 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13189
1d92afcd
GM
131902000-02-20 Gerd Moellmann <gerd@gnu.org>
13191
13192 * fileio.c (Finsert_file_contents): Unbind the binding of
13193 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13194
13195 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13196 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13197 (specbind, unbind_to): Handle most common case of non-constant
13198 symbol with trivial value specially.
13199
13200 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13201
18e21ce8 132022000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13203
13204 * data.c (Fmake_variable_buffer_local): Doc fix.
13205 Init found_for_buffer to 0.
13206 (Fmake_variable_frame_local): If the variable has already
13207 been buffer-local, set the check_frame field.
13208
1d4311c3
EZ
132092000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13210
13211 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13212 produced for CODING_MODE_LAST_BLOCK requires.
13213
2dc95ddd
DL
132142000-02-18 Dave Love <fx@gnu.org>
13215
13216 * keyboard.c (echo_keystrokes): Remove declaration.
13217 (Vecho_keystrokes) New variable.
13218 (read_char, record_menu_key, read_key_sequence): Use it to allow
13219 use of float value.
13220 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13221
13222 * lread.c: Undef feature selection macros before defining.
13223
f0930f35
GM
132242000-02-18 Gerd Moellmann <gerd@gnu.org>
13225
13226 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13227 for symbols other than the symbol in question.
13228
e3d4de90
DL
132292000-02-17 Dave Love <fx@gnu.org>
13230
13231 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13232
0b378936
GM
132332000-02-17 Gerd Moellmann <gerd@gnu.org>
13234
d621caf7
GM
13235 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13236
0b378936
GM
13237 * alloc.c (enum mem_type): Compile unconditionally.
13238
3b451f74
EZ
132392000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13240
13241 * xfaces.c (tty_defined_color): Don't return faulire indication
13242 for unspecified-fg and unspecified-bg pseudo-colors.
13243
10689a01
GM
132442000-02-17 Gerd Moellmann <gerd@gnu.org>
13245
1216f5e4
GM
13246 * alloc.c (mark_object): Don't mark symbol names in pure space.
13247 (gc_sweep): Don't unmark symbol names in pure space.
13248
13249 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13250 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13251 [GC_MARK_STACK]: New defines.
427ec082 13252 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13253 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13254
13255 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13256
13257 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13258 allocate_buffer instead of xmalloc.
13259
13260 * alloc.c (toplevel): Include setjmp.h.
13261 (PURE_POINTER_P): New define.
13262 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13263 (Vdead) [GC_MARK_STACK]: New variable.
13264 (lisp_malloc): Add parameter TYPE, call mem_insert if
13265 GC_MARK_STACK is defined.
13266 (allocate_buffer): New function.
427ec082 13267 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13268 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13269 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13270 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13271 (MEM_NIL) [GC_MARK_STACK]: New define.
13272 (struct mem_node) [GC_MARK_STACK]: New structure.
13273 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13274 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13275 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13276 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13277 (mark_stack) [GC_MARK_STACK]: New functions.
13278 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13279 (clear_marks): Removed.
13280 (gc_sweep): Set free conses' car, free floats' type, free
13281 symbols' function to Vdead. Use lisp_free to free buffers.
13282 (init_alloc_once): Initialize Vdead.
13283 (survives_gc_p): Return non-zero for pure objects.
13284
13285 * alloc.c: Add comments throughout the file.
13286
2503c8b1
GM
13287 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13288 that unblocks alarms.
13289
8389e1e2
GM
13290 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13291 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13292 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13293
10689a01 13294 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13295
bfc17d18
KH
132962000-02-17 Kenichi Handa <handa@etl.go.jp>
13297
4a09dee0
KH
13298 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13299 avoid infinite error signaling. Allocate sufficient memory for
13300 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13301
2b927d02
SM
133022000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13303
13304 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13305 depends on the previous behavior.
13306
b49cb764
GM
133072000-02-16 Gerd Moellmann <gerd@gnu.org>
13308
13309 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13310
99e95407
GM
133112000-02-15 Gerd Moellmann <gerd@gnu.org>
13312
13313 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13314
13315 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13316 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13317 write(2).
13318
6ffd3cf7
RS
133192000-02-15 Richard M. Stallman <rms@gnu.org>
13320
13321 * data.c (set_internal): Don't make variable buffer-local
13322 if within a let-binding for the same buffer.
13323 (let_shadows_buffer_binding_p): New function.
13324
13325 * eval.c (specbind): For buffer-local value,
13326 record the current buffer also.
13327 (unbind_to): Cope with that change.
13328
cad53475
GM
133292000-02-15 Gerd Moellmann <gerd@gnu.org>
13330
13331 * window.c (Fsave_window_excursion): Doc fix.
13332
1aa963c8
SM
133332000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13334
13335 * syntax.c (back_comment): Make sure we only consider comment-starters
13336 of the relevant style and return -1 in case of a failure to find the
13337 beginning of the comment.
13338 (Fforward_comment): If back_comment fails, go back to the position just
13339 after the comment-end.
13340 (scan_lists): Add comment describing a very minor bug.
13341
b9b84fd3
SM
133422000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13343
13344 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13345 `completion-regexp-list' in the docstring.
13346
3a28db80
DL
133472000-02-14 Dave Love <fx@gnu.org>
13348
13349 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13350
fb4a568d
SM
133512000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13352
13353 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13354 to Emacs' syntax. Also fix the comment about set/not-set meanings
13355 since Emacs syntax is not the value 0 any more.
13356 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13357 since it's now part of RE_SYNTAX_EMACS.
13358
1063ebb5
DL
133592000-02-12 Dave Love <fx@gnu.org>
13360
52283633 13361 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13362
fb07a302
GM
133632000-02-12 Gerd Moellmann <gerd@gnu.org>
13364
13365 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13366
aaf2320c
DL
133672000-02-12 Dave Love <fx@gnu.org>
13368
13369 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13370
13371 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13372 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13373 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13374
13375 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13376
13377 * s/nextstep.h: Don't define HAVE_ALLOCA.
13378
13379 * config.in: Add vfork bits.
13380
eedf8bde
GM
133812000-02-12 Gerd Moellmann <gerd@gnu.org>
13382
13383 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13384 unwind function to undo the effect of stopping atimers.
13385
52283633 13386 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13387
13388 * atimer.c (stopped_atimers): New variable.
13389 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13390 New functions.
13391
13392 * atimer.h (stop_other_atimers, run_all_atimers)
13393 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13394
eedf8bde
GM
13395 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13396
8476c2f8
KR
133972000-02-11 Ken Raeburn <raeburn@gnu.org>
13398
13399 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13400 library may depend on jpeg.
13401 (atimer.o): Depends on atimer.c.
13402
0e85e4a3
KH
134032000-02-11 Kenichi Handa <handa@etl.go.jp>
13404
13405 * insdel.c (del_range_1): Call update_compositions.
13406 (del_range_both): Call update_compositions just once..
13407
97fa0cc8
DL
134082000-02-10 Dave Love <fx@gnu.org>
13409
13410 * xfns.c (create_frame_xic): Fix initialization of automatic
13411 aggregates for pcc.
13412
25566a3c
KH
134132000-02-09 Kenichi Handa <handa@etl.go.jp>
13414
13415 * ccl.c (CCL_MAKE_CHAR): New macro.
13416 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13417 registers by CCL_MAKE_CHAR before calling translate_char.
13418 <CCL_TranslateCharacterConstTbl> Likewise.
13419
69da54ba
DL
134202000-02-08 Dave Love <fx@gnu.org>
13421
13422 * lread.c (__EXTENSIONS__): Define.
13423
f7136ee8
GM
134242000-02-08 Gerd Moellmann <gerd@gnu.org>
13425
13426 * puresize.h (BASE_PURESIZE): Increase to 650000.
13427
7768790b
EZ
134282000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13429
13430 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13431 the help message.
13432
38fd211b
EZ
134332000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13434
13435 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13436 md, mh, mb, mr, and me to the fake termcap entry.
13437
66e4690f
KR
134382000-02-06 Ken Raeburn <raeburn@gnu.org>
13439
13440 * sound.c (sound_cleanup): Don't call device close routine if the
13441 function pointer is null.
13442
a75dfea0
AI
134432000-02-06 Andrew Innes <andrewi@gnu.org>
13444
13445 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13446 around image definitions and prototypes.
13447 (gamma_correct) [WINDOWSNT]: New prototype.
13448
13449 * w32term.c (x_make_frame_visible): Replace call to
13450 input_poll_signal with poll_for_input.
13451
13452 * window.c [WINDOWSNT]: Include w32term.h.
13453
13454 * xdisp.c [WINDOWSNT]: Include w32term.h.
13455
13456 * makefile.nt: Add dependencies on w32gui.h.
13457 (OBJ1): Include atimer.obj.
13458 ($(BLD)\atimer.obj): New dependency rule.
13459
13460 * w32.c (sigmask): New function (does nothing).
13461 (sigunblock): Ditto.
13462
13463 * frame.c [WINDOWSNT]: Include w32term.h.
13464
13465 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13466
13467 * lread.c (syms_of_lread): Fix literal newlines.
13468
13469 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13470 the string constant limit (2048 bytes) in MSVC.
13471 (main): Ditto.
13472
59ddecde
GM
134732000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13474
52283633 13475 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13476 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13477 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13478 dispatch the event.
13479
07590973
DL
134802000-02-04 Dave Love <fx@gnu.org>
13481
13482 * fileio.c: Remove some unused vars.
13483 (_GNU_SOURCE): Define (for euidaccess).
13484
13485 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13486
13487 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13488 gcpro1, gcpro2.
13489 (read_minibuf): Deal with allow_props correctly.
13490
649351f9
EZ
134912000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13492
13493 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13494
66e4690f 134952000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13496
13497 * search.c (compile_pattern): If a cache entry has a nil regexp,
13498 fill in that entry instead of clobbering a previously cached
13499 string regexp.
13500
66e4690f 135012000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13502
13503 * puresize.h (BASE_PURESIZE): Increase to 610000.
13504
d240a249
GM
135052000-02-02 Gerd Moellmann <gerd@gnu.org>
13506
13507 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13508 can GC.
13509
ca91fb26
KH
135102000-02-02 Kenichi Handa <handa@etl.go.jp>
13511
25660570
KH
13512 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13513 instead of incrementing ic directly.
13514 <CCL_WriteExprConst> Likewise.
13515 <ccl_set_expr>: Set ic to jump_address.
13516
ca91fb26
KH
13517 * fileio.c (e_write): Fix the handling of
13518 CODING_FINISH_INSUFFICIENT_SRC.
13519
2ede9689
DL
135202000-02-01 Dave Love <fx@gnu.org>
13521
13522 * editfns.c (Fpropertize): Doc fix.
13523
13524 * process.c (Fstart_process): Doc fix.
13525
13526 * eval.c: Fix various doc strings not to duplicate information
13527 from help-manyarg-func-alist.
13528
52283633 13529 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13530
13531 * doc.c (Vhelp_manyarg_func_alist): New variable.
13532 (Fdocumentation): Use it.
13533 (syms_of_doc): Define it.
13534
b6680a0e
GM
135352000-01-31 Gerd Moellmann <gerd@gnu.org>
13536
2cb750ba
GM
13537 * xterm.c (xim_open_dpy): Remove unused local variable.
13538
52283633 13539 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13540
13541 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13542 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13543
b6680a0e
GM
13544 * fns.c (sweep_weak_table): New function.
13545 (sweep_weak_hash_tables): Use it. Keep on marking until there
13546 is no more change.
13547
994c5afe
GM
135482000-01-30 Gerd Moellmann <gerd@gnu.org>
13549
13550 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13551 that XTread_socket does not crash by trying to call XNoOp on a
13552 closed display.
427ec082 13553
f00276e3
JR
135542000-01-30 Jason Rumney <jasonr@gnu.org>
13555
13556 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13557 Change selected_frame to SELECTED_FRAME ().
13558 (w32_console_mouse_position): Remove #ifndef MULE from around
13559 `insist' parameter.
13560
13561 * makefile.nt: Remove dosfns.obj.
13562
13563 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13564
13565 * w32fns.c (w32_defined_color): Check for valid frame before
13566 applying gamma correction. Eliminate dependency on frame elsewhere.
13567 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13568 (w32_to_x_font): Use resx and resy not height_in and width_in.
13569 (x_to_w32_font): Doc fix.
13570 (xlfd_strip_height): New function to strip and return font height.
13571 (w32_font_match): Compare height separately from rest of xlfd
13572 spec, using xlfd_strip_height.
13573
13574 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13575 width_in. Use w32_defined_color in place of defined_color.
13576
13577 * w32faces.c: Merge more of DOS and X specifics in preparation for
13578 merge with xfaces.c.
13579 (defined_color): Remove FIXME comment.
13580 (tty_color_name): Provide w32-specific function.
13581 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13582
13583 * w32console.c (turn_on_face, turn_off_face): Removed.
13584 (w32_face_attributes): New function.
13585 (Global_variables): Reduce scope where possible.
13586 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13587 fill attribute.
13588 (hl_mode): Don't modify text attributes.
13589 (write_glyphs): Don't do anything if len <= 0. Use
13590 w32_face_attributes to get attributes for drawing. Write
13591 terminating codes using char_attr_normal.
13592 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13593 (update_begin, update_end): Likewise.
13594 (vga_stdcolor_name): New function.
13595 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13596 (Fset_screen_color): Remove char_attr_reverse.
13597
b08e8bb2
GM
135982000-01-29 Gerd Moellmann <gerd@gnu.org>
13599
13600 * xfns.c (xic_set_preeditarea): Take window parameter and
13601 window-relative pixel-positions.
13602
13603 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13604 is its frame's selected window.
13605 (xim_instantiate_callback): Likewise.
13606
13607 * xfns.c (x_create_im): Removed.
13608 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13609 (supported_xim_styles): Renamed from supported_styles.
13610 (best_xim_style): Renamed from best_style.
13611 (create_frame_xic): Renamed from xic_create_frame.
13612 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13613
b08e8bb2
GM
136142000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13615
13616 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13617 our frames, call XFilterEvent with 2nd parameter `None'.
13618 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13619 returning XBufferOverflow.
52283633 13620 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13621 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13622 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13623 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13624 (xim_initialize, xim_close)
13625 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13626 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13627 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13628 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13629
13630 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13631 and `xim_styles'.
13632 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13633 `xic_style' and `xic_xfs'.
13634 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13635 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13636 (FRAME_XIM): Removed.
13637
13638 * xfns.c (supported_styles): New variable.
13639 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13640 (xic_create_xfontset, best_style, xic_create_frame)
13641 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13642 (xic_set_xfontset): New functions.
13643
142e109c
DL
136442000-01-28 Dave Love <fx@gnu.org>
13645
13646 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13647
13648 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13649
b02786f9
GM
136502000-01-28 Gerd Moellmann <gerd@gnu.org>
13651
d060bc9f
GM
13652 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13653 for *scratch* if it already existed.
13654
b02786f9
GM
13655 * emacs.c (USAGE): New macro.
13656 (main): Use it to display usage information.
13657
2c52d7e4
EZ
136582000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13659
13660 Support for the menu-help feature:
13661
52283633 13662 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13663
13664 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13665 part of the line to the termscript file.
13666 (IT_clear_to_end): Clear the entire line, not just its beginning.
13667 (menu_help_message, prev_menu_help_message): New variables.
13668 (IT_menu_make_room): Make room for the help_text member.
13669 (IT_menu_display): New argument disp_help; all callers changed.
13670 If disp_help is non-zero, store the help text of the active menu
13671 item in menu_help_message.
13672 (XMenuAddPane): Initialize the help_text member to NULL.
13673 (XMenuAddSelection): New argument help_text. Store it in the
13674 XMenu structure.
13675 (XMenuActivate): New argument help_callback. If the value of
13676 menu_help_message has changed since the last time, display the
13677 menu help message text while waiting for the mouse to move. Clear
13678 the echo area before exiting.
13679 (XMenuDestroy): Free the help_text member.
13680
ffe0bcd1
GM
136812000-01-27 Gerd Moellmann <gerd@gnu.org>
13682
13683 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13684 XMenuAddSelection. Pass help callback to XMenuActivate.
13685 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13686
50dbd23f
EZ
136872000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13688
13689 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13690 and EMACS_SET_USECS.
13691
f5941bf8
GM
136922000-01-26 Dave Love <fx@gnu.org>
13693
6c67ddee
DL
13694 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13695
f5941bf8
GM
13696 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13697 an error may be signalled.
13698
9e49c990
GM
136992000-01-26 Gerd Moellmann <gerd@gnu.org>
13700
fc3cb460
GM
13701 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13702 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13703
9e49c990
GM
13704 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13705
d0c037d8
GM
137062000-01-25 Gerd Moellmann <gerd@gnu.org>
13707
13708 * charset.c (Fstring): If there is a multibyte char among
13709 the args, always return a multibyte string.
13710
e12489f9
GM
137112000-01-25 Gerd Moellmann <gerd@gnu.org>
13712
13713 * sysdep.c (sys_select): Turn atimers off and on instead of
13714 recording and restoring old alarm handler
13715
13716 * process.c (toplevel): Include atimer.h.
13717 (create_process_1): Rewritten.
13718 (create_process): Use atimers instead of alarm.
13719 (wait_reading_process_input) [hpux]: Turn atimers off instead
13720 of turning off SIGALRM.
13721 (wait_reading_process_input): Turn off atimers instead off
13722 calling stop_polling.
13723
13724 * emacs.c (main): Call init_atimer.
13725
13726 * keyboard.c (toplevel): Include systime.h and atimer.h.
13727 (polling_for_input): Removed because unused.
13728 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13729 (poll_timer): New variable.
13730 (poll_for_input, poll_for_input_1): New functions.
13731 (start_polling, stop_polling): Rewritten.
13732
13733 * keyboard.h (polling_for_input): Removed.
427ec082 13734
e12489f9
GM
13735 * atimer.h, atimer.c: New files.
13736
13737 * Makefile.in (obj): Add atimer.o.
13738 (atimer.o): New target.
13739
13740 * blockinput.h (pending_atimers): Add extern declaration.
13741 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13742
13743 * lisp.h (popup_activated_flag): Add extern declaration.
13744
13745 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13746 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13747 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13748
13749 * xterm.c (toplevel): Include atimer.h.
13750 (toolkit_scroll_bar_interaction): New variable.
13751 (Fxt_process_timeouts): Removed.
13752 (x_process_timeouts): New function.
13753 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13754 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13755 (x_make_frame_visible): Call poll_for_input_1 instead of
13756 input_poll_signal. Don't call alarm.
13757 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13758
1e5279b9
DL
137592000-01-24 Dave Love <fx@gnu.org>
13760
6c67ddee 13761 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13762 Don't use -cckr -- apparently not now necessary.
13763
edf6aeb8
EZ
137642000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13765
13766 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13767 screen boundary.
13768
9badad41
JR
137692000-01-23 Jason Rumney <jasonr@gnu.org>
13770
13771 * w32fns.c (w32_defined_color): Apply gamma correction before
13772 trying to map to the palette.
13773 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13774 to w32_clear_rect.
13775
13776 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13777 here. Callers changed to always pass real device context.
13778 (w32_draw_bitmap): Likewise.
13779 (w32_get_glyph_overhangs): Likewise.
52283633 13780 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13781 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13782 pfnSetScrollInfo and SetScrollRange.
13783 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13784 back into MULE characters after decoding them.
13785 (x_get_glyph_face_and_encoding): Likewise.
13786 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13787 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13788 (x_produce_glyphs): Calculate per char metrics for a character
13789 that we know exists in default font when font_not_found_p is true.
13790
63bd786b
JR
137912000-01-22 Jason Rumney <jasonr@gnu.org>
13792
13793 * makefile.nt (intervals.obj, composite.obj): New modules.
13794 (composite.h): Added as dependency where appropriate.
13795
13796 * w32gui.h (XGCValue): New struct for emulating X GCs.
13797
13798 * w32term.h (XCharStruct): New struct for emulating X.
13799
13800 * w32console.c (turn_on_face, turn_off_face): New functions.
13801 (change_line_highlight): New prototype for new redisplay.
13802 (write_glyphs): Support multibyte text. Support faces.
13803
52283633 13804 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13805
13806 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13807 throughout. struct frame * in place of FRAME_PTR.
13808 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13809 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13810 (w32_get_arg): Renamed from x_get_arg.
13811 (Fx_file_dialog): New function.
13812 (w32_list_fonts): Check cache before asking system.
13813 (Vw32_enable_synthesized_fonts): New variable.
13814 (Vw32_enable_italics): Obsolete, removed.
13815
13816 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13817 Use SELECTED_FRAME macro.
13818
13819 * w32menu.c: Add skeleton support for help strings on menus.
13820 (add_menu_item): Native checkbox and radio support added, but not
13821 yet enabled due to bugs.
13822 (push_menu_item): Add parameters type, selection and help.
13823 Callers updated.
13824 Formatting changes to reduce unnecessary diffs with xmenu.c.
13825
13826 * w32select.c (Fw32_set_clipboard_data): Update call to
13827 find_charset_in_str.
13828
13829 * w32term.c: Complete rewrite for new redisplay based on new
13830 xterm.c with necessary sections merged back in from old w32term.c.
13831
6ffd3cf7 138322000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13833
13834 * data.c (set_internal): Further fix in same criterion.
13835
6ffd3cf7 138362000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13837
13838 * data.c (set_internal): Fix the criteria for whether
13839 to swap out the old cached binding.
13840
60af03f1
DL
138412000-01-19 Dave Love <fx@gnu.org>
13842
13843 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13844
f9be074f
KH
138452000-01-18 Kenichi Handa <handa@etl.go.jp>
13846
13847 * regex.c (re_compile_fastmap): While checking a range table for
13848 `charset', skip flag bits for a character class correctly.
13849
52b8dbf9
GM
138502000-01-17 Gerd Moellmann <gerd@gnu.org>
13851
d36100c9
GM
13852 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13853
52283633 13854 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13855
13856 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13857 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13858
13859 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13860 MENU_ITEMS_ITEM_.*.
13861 (MENU_ITEMS_ITEM_HELP): New enumerator.
13862 (push_menu_item): Add parameter HELP. Record help in menu_items.
13863 (single_menu_item, single_submenu, list_of_items): Call
13864 push_menu_item with new parameter.
13865 (single_submenu): Set help string in widget value.
13866 (menu_highlight_callback): New function.
13867 (set_frame_menubar): Call lw_create_widget with new
13868 parameter list.
13869 (xmenu_show, xdialog_show): Ditto.
13870
3139018f
GM
138712000-01-13 Gerd Moellmann <gerd@gnu.org>
13872
13873 * sound.c (Fplay_sound): Improve doc string.
13874
83c8f461
RS
138752000-01-11 Richard M. Stallman <rms@gnu.org>
13876
13877 * lisp.h (set_internal): Enter the new arg.
13878
13879 * eval.c (specbind): Record buffer-local variables specially,
13880 indicating which buffer's binding was saved.
13881 (unbind_to): Restore buffer-local variables specially
13882 in the proper buffer.
13883
13884 * data.c (set_internal): New arg BUF.
427ec082 13885
83c8f461
RS
13886 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13887 * data.c (Fset): Pass new arg to set_internal.
13888 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13889
1fab1775
GM
138902000-01-11 Gerd Moellmann <gerd@gnu.org>
13891
52283633 13892 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13893
83c8f461 138942000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13895
13896 * minibuf.c (Ftry_completion): Doc fix.
13897
7a85e4df
GM
138982000-01-11 Gerd Moellmann <gerd@gnu.org>
13899
13900 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13901 vector, too.
13902
a970dae4
AS
139032000-01-11 Andreas Schwab <schwab@suse.de>
13904
13905 * coding.c (code_convert_region): Initialize total_skip.
13906
c65d14ee
DL
139072000-01-08 Dave Love <fx@gnu.org>
13908
13909 * eval.c (Fuser_variable_p): Check customizability too.
13910
834938d2
GM
139112000-01-07 Gerd Moellmann <gerd@gnu.org>
13912
13913 * minibuf.c (Fcompleting_read): Doc fix.
13914
e0303cd6
GM
139152000-01-05 Gerd Moellmann <gerd@gnu.org>
13916
8a26744b
GM
13917 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13918 -L /usr/local/lib.
13919
e0303cd6
GM
13920 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13921 Check that input style is supported before trying to create an
13922 IC for it.
13923 (x_window): Call x_create_im.
427ec082 13924
2e471eb5
GM
139252000-01-04 Gerd Moellmann <gerd@gnu.org>
13926
560a7bd2
GM
13927 * xfns.c (current_gif_memory_src): New variable.
13928 (gif_load): Record the address of the current memory source
13929 in current_gif_memory_src.
13930 (gif_read_from_memory): Use current_gif_memory_src.
13931
f9ee84a3
GM
13932 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13933 macros statement form.
13934
d1299cde
GM
13935 * sound.c (struct sound): Renamed from struct sound_file.
13936 (struct sound): Add members `data' and `header_size'.
13937 (enum sound_attr): Add SOUND_DATA.
13938 (current_sound, current_sound_device): Variables renamed from
13939 sound_file and sound_device.
13940 (parse_sound): Parse :data.
13941 (parse_sound): Handle sound data in strings.
13942 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13943 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13944 needed header size.
13945 (wav_play, au_play): Play sounds from string data.
13946
2e471eb5
GM
13947 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13948
13949 * lisp.h: Add prototype for allocate_string_data.
13950
52283633 13951 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13952
13953 * alloc.c (mark_buffer): Remove code in #if 0.
13954 (gc_sweep): Ditto.
13955 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13956 (strings_consed): New variable.
13957 (allocate_string): Set it.
13958 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13959 (Fmemory_use_counts): Return strings_consed. Use Flist.
13960
13961 * alloc.c: General cleanup in comments etc. Remove conditional
13962 compilation for `standalone'.
13963
13964 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13965
13966 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13967 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13968 (DONT_COPY_FLAG): Removed.
13969 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13970 (struct sdata, struct sblock): New
13971 (struct string_block): Rewritten.
13972 (STRINGS_IN_STRING_BLOCK): New macro.
13973 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13974 (large_sblocks, string_blocks, string_free_list): New variables.
13975 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13976 (init_strings): Rewritten.
13977 (allocate_string, allocate_string_data, compact_small_strings)
13978 (free_large_strings, sweep_strings): New functions.
13979 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13980 (struct string_block_head, current_string_block)
13981 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13982 (STRING_PAD): Removed.
13983 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13984 (Fgarbage_collect): Don't set mark bit in large strings.
13985 (mark_object): Mark strings differently. Mark symbol names
13986 differently.
13987 (survives_gc_p): Test marked strings differently.
427ec082 13988 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13989 symbol names.
13990 (compact_strings): Removed.
13991
42608ba8
EZ
139922000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13993
13994 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13995 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13996
e0a09e1a
KH
139972000-01-04 Kenichi Handa <handa@etl.go.jp>
13998
dd9f0750 13999 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14000 in a non-empty buffer.
dd9f0750 14001
3c0f3b15 14002 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14003
44cd3ae5
GM
140042000-01-03 Gerd Moellmann <gerd@gnu.org>
14005
14006 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14007 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14008
14009 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14010
c182a70f
EZ
140112000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14012
14013 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14014 need to test for MSDOS frames.
14015
24480d5b
EZ
140162000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14017
14018 * dosfns.c (unspecified_colors): Remove.
14019 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14020 unspecified_bg.
14021 (msdos_stdcolor_name): Return strings for unspecified fore- and
14022 back-ground colors.
14023
14024 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14025 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14026 (tty_color_name): Return Lisp strings for unspecified fore- and
14027 back-ground colors.
14028 (Finternal_set_lisp_face_attribute): Remove the special treatment
14029 for Qunspecified_{f,b}g.
52283633 14030 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14031
047f434a
GM
140322000-01-03 Gerd Moellmann <gerd@gnu.org>
14033
14034 * xdisp.c (reseat_at_next_visible_line_start): Position before
14035 newline only if ending up on a newline.
14036 (next_element_from_ellipsis): Return success. Handle case of
52283633 14037 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14038 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14039 returns 0.
14040
d684c676
EZ
140412000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14042
14043 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14044 (Fcolor_supported_p): Renamed from face-color-supported-p.
14045
5fe1d139
EZ
140462000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14047
14048 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14049 list of colors renamed to tty-defined-color-alist.
14050 (tty_color_name): Pass the frame to tty-color-by-index.
14051 (realize_tty_face): tty-color-alist is now a function which
14052 accepts the frame as argument.
14053
52283633 14054 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14055
816be8b8
EZ
140562000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14057
14058 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14059 encode_terminal_code.
14060
b635321e
EZ
140612000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14062
14063 * dispnew.c (mode_line_string): Support termcap frames as well.
14064
9b784e96
GM
140652000-01-01 Gerd Moellmann <gerd@gnu.org>
14066
27189709
GM
14067 * syntax.c (Fforward_word): Undo previous change.
14068
14069 * editfns.c (Fconstrain_to_field): Don't constrain if
14070 inhibit-field-text-motion is non-nil.
14071 (Fline_beginning_position): Undo previous change.
14072 (Fline_end_position): Ditto.
14073
14074 * syntax.c (Fforward_word): Notice field boundaries only if
14075 inhibit-field-text-motion is nil.
14076
14077 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14078
14079 * editfns.c (Vinhibit_field_text_motion): New variable.
14080 (inhibit-field-text-motion): New DEFVAR_LISP.
14081 (Fline_beginning_position, Fline_end_position): Notice field
14082 boundaries only if inhibit-field-text-motion is nil.
14083
45158a91
GM
14084 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14085 All calls adjusted.
14086 (x_build_heuristic_mask): Likewise.
14087 (xbm_load_image_from_file): Change error output.
14088 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14089 (gif_load, gs_load, x_kill_gs_process): Ditto.
14090
9b784e96
GM
14091 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14092 color indices when accessing raster pixels.
63cec32f
GM
14093 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14094 one of :file or :data.
14095 (enum pbm_keyword_index): Add PBM_DATA.
14096 (pbm_format): Add :data.
14097 (pbm_image_p): Allow either :file or :data.
14098 (pbm_read_file): New function.
14099 (pbm_scan_number): Rewritten to read from string.
14100 (pbm_load): Support :data.
9b784e96 14101
2cb085db 14102See ChangeLog.8 for earlier changes.
6922b018
KH
14103
14104;; Local Variables:
49b3bd82 14105;; coding: iso-2022-7bit
6922b018 14106;; End:
2a34a036
GM
14107
14108 Copyright (C) 2001 Free Software Foundation, Inc.
14109 Copying and distribution of this file, with or without modification,
14110 are permitted provided the copyright notice and this notice are preserved.