(comint-mode): Simplify.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1756e2fb
EZ
12001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
4 Andrew Wiseman <a.wiseman@btclick.com>.
5
06e8f738
KS
62001-11-16 Kim F. Storm <storm@cua.dk>
7
8 The following changes are made to clean up the various internal
9 references to the fringes to actually use the term `fringe' for
10 them. Previously, they were called `flags areas', `bitmap areas',
11 `left/right side of windows', or implicitly as `flags' or
12 `bitmaps':
13
14 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
15 Comments fixed. Use renamed symbols.
16
17 * dispnew.c: Comment fix. Use renamed symbols.
18
19 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
20 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
21 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
22
23 * msdos.c: Comment fix.
24
25 * w32fns.c: Use renamed symbols.
26
27 * w32term.c: Comment fixes. Use renamed symbols.
28 (fringe_bitmap_type): Renamed from bitmap_type.
29 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
30 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
31 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
32
33 * w32term.h: Comment fixes. Use renamed symbols.
34 (fringes_extra): Renamed from flags_areas_extra.
35 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
36 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
37 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
38 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
39 (FRAME_X_LEFT_FRINGE_WIDTH): Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
40 (FRAME_X_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
41
42 * widget.c: Use renamed symbols.
43
44 * window.c: Comment fixes. Use renamed symbols.
45 (coordinates-in-window-p): Doc fix.
46
47 * xdisp.c: Comment fixes. Use renamed symbols.
48
49 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
50
51 * xfns.c: Use renamed symbols.
52
53 * xterm.c: Comment fixes. Use renamed symbols.
54 (fringe_bitmap_type): Renamed from bitmap_type.
55 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
56 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
57 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
58
59 * xterm.h: Comment fixes. Use renamed symbols.
60 (fringes_extra): Renamed from flags_areas_extra.
61 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
62 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
63 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
64 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
65 (FRAME_X_LEFT_FRINGE_WIDTH): Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
66 (FRAME_X_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
67
9ce647f4
JR
682001-11-15 Jason Rumney <jasonr@gnu.org>
69
70 * w32menu.c (add-menu-item): Make help_echo and radio buttons
71 work for most menu items. From David Ponce
72 <david.ponce@wanadoo.fr>.
73
9b784ab8
GM
742001-11-15 Gerd Moellmann <gerd@gnu.org>
75
9f7e52b4
GM
76 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
77 Some x_set_* function expect to be called even if old and new
78 value are equal.
79
80 * xdisp.c (build_desired_tool_bar_string): Accept zero
81 tool_bar_button_relief.
82
83 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
84
85 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
86
34e5d0af
GM
87 * xterm.c (x_draw_bar_cursor): If the background color of the
88 glyph under the cursor equals the frame's cursor color, use
89 the glyph's foreground color for drawing the bar cursor.
90
9b784ab8
GM
91 * dispnew.c (direct_output_forward_char): Fix character/byte
92 position comparison.
93
89512fcd
MB
942001-11-15 Miles Bader <miles@gnu.org>
95
96 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
97 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
98 Update arguments to find_field.
99 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
100 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
101 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
102 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
103
7d18891d
RS
1042001-11-14 Richard M. Stallman <rms@gnu.org>
105
d2936d21
RS
106 * editfns.c (Fpropertize): Allow call with 1 arg.
107
7d18891d
RS
108 * dispextern.h (image_background, image_background_transparent):
109 Conditionalize on HAVE_X_WINDOWS.
110
1112001-11-13 Richard M. Stallman <rms@gnu.org>
112
113 * print.c (Fprin1_to_string): Doc fix.
114
115 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
116
117 * floatfns.c (Fceiling, Ffloor): Doc fixes.
118
119 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
120
121 * fileio.c (Ffile_accessible_directory_p): Doc fix.
122
123 * eval.c (syms_of_eval): Doc fix.
124
125 * coding.c (syms_of_coding): Doc fix.
126
127 * doc.c (Fsnarf_documentation): Doc fix.
128
129 * dispnew.c (syms_of_display): Doc fix.
130
131 * category.c (Fget_unused_category): Doc fix.
132
133 * buffer.c (syms_of_buffer): Doc fixes.
134
9474c847
EZ
1352001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
136
137 * print.c (prin1, print): Doc fix.
138
e3059a5d
PJ
1392001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
140
141 * fontset.h: Remove prototypes for variables
142 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
143
144 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
145 `Vclip_large_size_font'.
146
b3700ae7
JR
1472001-11-13 Jason Rumney <jasonr@gnu.org>
148
149 * w32fns.c: Doc fix.
150
eae936e2
PJ
1512001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
152
4bb962be
PJ
153 * xfaces.c (Fface_attributes_as_vector): Doc fix.
154
0a332240
PJ
155 * w32fns.c (Fx_synchronize): Reindent.
156
ddb67bdc
PJ
157 * fns.c: Doc fix.
158
3467c402
PJ
159 * emacs.c: Doc fix.
160
161 * coding.c: Doc fix.
162
6e1b91d7
PJ
163 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
164 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
165 `new style' [w/`doc:' keyword].
166
f6e34773
PJ
167 * xmenu.c (x-popup-menu): Reindent.
168 (x-popup-dialog): Likewise.
169
c71f3632
PJ
170 * xfaces.c (Finternal_set_alternative_font_family_alist):
171 Reindent.
172
c2552f79
PJ
173 * xdisp.c (Fdump_tool_bar_row): Reindent.
174
94c7167b
PJ
175 * minibuf.c (Fminibuffer_complete_word): Reindent.
176 (Fminibuffer_complete_and_exit): Likewise.
177 (Fminibuffer_completion_help): Likewise.
178 (Fminibuffer_message): Likewise.
179
462a5e3a
PJ
180 * fns.c (Freverse): Reindent.
181
b8de5714
PJ
182 * eval.c (Fif): Reindent.
183 (Fand): Likewise.
184
deb8e082
PJ
185 * editfns.c (Fuser_real_login_name): Reindent.
186 (Finsert_buffer_substring): Likewise.
187 (Fcompare_buffer_substrings): Likewise.
188 (Fsubst_char_in_region): Likewise.
189
bacf09b4
PJ
190 * dispnew.c (Fsit_for): Reindent.
191 (Fframe_or_buffer_changed_p): Likewise.
192 (Finternal_show_cursor_p): Likewise.
193 (syms_of_display): Likewise.
194
eae936e2
PJ
195 * alloc.c (Flist): Reindent.
196 (Fvector): Likewise.
197
1c1d3d69
RS
1982001-11-12 Richard M. Stallman <rms@gnu.org>
199
200 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
201 LeaveNotify events. Only FocusIn and FocusOut do that now.
202 (x_display_and_set_cursor): Do display hollow cursors in active
203 minibuffer windows when they are not selected.
204
b6f4c7ba
JR
2052001-11-12 Jason Rumney <jasonr@gnu.org>
206
207 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
208 * w32term.c: Change doc-string comments to `new style'.
209 [w/`doc:' keyword]. Doc fixes.
210
211 * w32fns.c: Don't define max.
212 (Fx_open_connection): Only execute once.
213
a89f435d
PJ
2142001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
215
216 * ccl.c: Change macros to use do-while block instead of if-else.
217 Use braces to follow GNU Coding Standards.
218
a4cd0cd7
RS
2192001-11-11 Richard M. Stallman <rms@gnu.org>
220
eafb659a
RS
221 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
222
223 * lread.c (read_escape): Use end_of_file_error for reporting eof.
224
a4cd0cd7
RS
225 * insdel.c (replace_range): Use adjust_markers_for_replace
226 instead of adjust_markers_for_delete and adjust_markers_for_insert.
227
228 * intervals.h: Declare set_text_properties and set_text_properties_1.
229
230 * textprop.c (set_text_properties_1): New subroutine
231 broken out of set_text_properties.
232 (set_text_properties): Use set_text_properties_1.
233
234 * intervals.c (graft_intervals_into_buffer):
235 Use set_text_properties_1 to clear out properties.
236
237 * search.c (Freplace_match): Use replace_range to insert
238 and delete. Don't request property inheritance from
239 surrounding text.
240
91823618
JR
2412001-11-10 Jason Rumney <jasonr@gnu.org>
242
243 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
244 vertical fonts. Allow them if face name is explicitly specified.
245 Do not give up if we find a font that cannot be converted to an
246 xlfd.
247
86928dfb
GM
2482001-11-10 Gerd Moellmann <gerd@gnu.org>
249
250 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
251 instead of malloc/free.
252
40ef1eda
PJ
2532001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
254
ab8469eb
PJ
255 * xfaces.c (merge_face_vectors): Use braces to follow GNU
256 Coding Standards.
257 (Finternal_set_lisp_face_attribute): Likewise.
258
a78e0303
PJ
259 * buffer.c (Fbury_buffer): Likewise.
260
40ef1eda
PJ
261 * indent.c (current_column_1): Remove unused variable `prev_col'.
262
fabf4a91
PJ
263 * coding.c (encode_coding): Use precomputed value of `src'.
264 (encode_coding): Remove unused variable `src_end'.
265 (code_convert_region): Remove unused variables `count'.
266
0c99b139
JR
2672001-11-07 Jason Rumney <jasonr@gnu.org>
268
269 * w32term.c (x_display_and_set_cursor): Do not move system caret
270 if cursor_glyph is NULL.
271
830ddd77
PJ
2722001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
273
274 * keymap.c (access_keymap): Fix compilation error.
275
55c6d645
MB
2762001-11-07 Miles Bader <miles@gnu.org>
277
278 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
279
5de38842
PJ
2802001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
281
7a4564a4
PJ
282 * intervals.c (graft_intervals_into_buffer):
283 Remove #ifdef'd-out code.
284 (graft_intervals_into_buffer): Remove unused variable `middle'.
285
5de38842
PJ
286 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
287 code (eval-current-buffer).
288 Change doc-string comments to `new style' [w/`doc:' keyword].
289
4fa23df5
RS
2902001-11-06 Richard M. Stallman <rms@gnu.org>
291
292 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
293
7a6a97d7
SM
2942001-11-06 Stefan Monnier <monnier@cs.yale.edu>
295
c191d13c
SM
296 * lread.c (read1): Fix behavior with nested backquoting.
297
7a6a97d7
SM
298 * keyboard.c (make_lispy_event): Check integerness and fix
299 Lisp_Object/int mixup.
300
44dc78e0
PJ
3012001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
302
303 * fns.c (copy_hash_table): Remove unused variable `v'.
304
17893c65
PJ
305 * fontset.c (fontset_font_pattern): Remove unused variable
306 `family_registry'.
307
4d994a79
PJ
308 * indent.c (current_column_1): Remove unused variable `prev_col'.
309
d5360cc7
RS
3102001-11-05 Richard M. Stallman <rms@gnu.org>
311
312 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
313
314 * buffer.c (Fkill_buffer): Don't delete auto save file
315 if buffer is modified.
316
96238a5a
AI
3172001-11-05 Andrew Innes <andrewi@gnu.org>
318
319 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
320 CHECK_NUMBER_CDR.
321
d9d54213
RS
3222001-11-05 Richard M. Stallman <rms@gnu.org>
323
324 * unexelf.c (unexec): Minor changes; clean up comments.
325
b116830b
SS
3262001-11-05 Sam Steingold <sds@gnu.org>
327
328 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
329
3297e2a1
AS
3302001-11-05 Andreas Schwab <schwab@suse.de>
331
332 * sound.c (sound_perror): Save errno from being clobbered.
333
9212319f 3342001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
335
336 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
337 the program image directly.
338
7dd73b78
PJ
3392001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
340
341 * buffer.h (Fbuffer_local_value): Add prototype.
342
982f6c7e
RS
3432001-11-04 Richard M. Stallman <rms@gnu.org>
344
d31053f9
RS
345 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
346 and CHECK_BUFFER.
347
348 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
349 (record_char): Likewise.
350
351 * keyboard.c (make_lispy_event): Don't insist a drag event must
352 move to a different buffer position. Instead, check for moving at
353 least double_click_fuzz.
354
355 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
356
357 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
358
982f6c7e
RS
359 * indent.c (current_column_1, Fmove_to_column): Separate the code
360 for display-table glyphs from the code buffer text, to fix
361 bugs in the former.
362
830047fd
RS
3632001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
364
365 * buffer.c (Fbuffer_local_value): New function.
c191d13c 366 (syms_of_buffer): Defsubr it.
b116830b 367
830047fd
RS
368 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
369 value of `cursor-in-non-selected-windows'.
370
371 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
372 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
373 (syms_of_xdisp): Initialize it.
b116830b 374
2df5238c
PJ
3752001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
376
4e397688
PJ
377 * xfns.c (Fx_create_frame): Doc fix.
378
48b0f3ae
PJ
379 * coding.c: Change doc-string comments to `new style' [w/`doc:'
380 keyword].
381
2df5238c
PJ
382 * eval.c (top_level_value, top_level_set): Remove commented and
383 #ifdef'd-out code.
384 (Fdefvar): Fix usage in doc-string.
385
3ecaf7e5
RS
3862001-11-03 Richard M. Stallman <rms@gnu.org>
387
388 * xfns.c: Include unistd.h, if it exists.
389
390 * editfns.c: Move the include of ctype.h after unistd.h.
391
392 * gmalloc.c: Test BROKEN_PROTOTYPES.
393
8db2e33b
KR
3942001-11-03 Ken Raeburn <raeburn@gnu.org>
395
396 * lisp.h (CHECK_STRING_CAR): New macro.
397 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
398 treating XCAR and XCDR as lvalues.
399 (openp): Use CHECK_STRING_CAR.
400 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
401
aed29b97
EZ
4022001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
403
404 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 405 (SIGMASKTYPE): Define.
aed29b97
EZ
406
407 * syssignal.h (sigunblock): Don't define if already defined.
408
6cb16f95
PJ
4092001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
410
16b45be4
EZ
411 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
412 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
413 Fix typos in comments.
414
020f9b38
PJ
415 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
416 and #ifdef'd-out code.
417 Fix and reindent comments.
418
c191d13c 419 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 420
6cb16f95
PJ
421 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
422 argument `i' in macros.
423
424 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
425 `i' in macros.
426
16b45be4
EZ
427 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
428 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
429 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
430 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
431 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
432 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
433 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
434 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
435 in macros.
436
437 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
438 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
439 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
440 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
441 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
442 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
443 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
444 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
445 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
446 (remove unused second argument).
447
7e9d3c2f
SM
4482001-11-02 Stefan Monnier <monnier@cs.yale.edu>
449
450 * syntax.c (describe_syntax): New wrapper.
451 (Finternal_describe_syntax_value): Rename from describe_syntax.
452 Don't insert space at front and \n at the end.
453 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
454
455 * regex.c (re_wctype): Try to fix some warnings.
456 (regcomp, regexec): Don't forget the __restrict.
457
e6bff182
RS
4582001-11-02 Richard M. Stallman <rms@gnu.org>
459
460 * textprop.c (Fget_char_property): Doc fix.
461
9ba48103
PJ
4622001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
463
464 * process.c (Fstart_process): Add usage to doc-string.
465
466 * data.c (Fsetq_default): Ditto.
467
468 * callint.c (Finteractive): Ditto.
469
c22e59e1
SM
4702001-11-01 Stefan Monnier <monnier@cs.yale.edu>
471
472 * macros.c: Don't include keymap.h any more.
473
9271ed2c
RS
4742001-11-01 Richard M. Stallman <rms@gnu.org>
475
e6bff182
RS
476 * data.c (Fmake_local_variable): Doc fix.
477
478 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
479 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
480
9271ed2c
RS
481 * keymap.c (Fdescribe_buffer_bindings): Print character property
482 bindings along with or instead of the buffer local map.
483 Make the overriding maps override what they should.
484
8b8bd9c6
PJ
4852001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
486
487 * window.c (grow_mini_window): Fix typo in comment.
488
27188d11
GM
4892001-11-01 Gerd Moellmann <gerd@gnu.org>
490
7b49b9d2
GM
491 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
492 (XTset_vertical_scroll_bar): Likewise.
493
43f7c3ea
GM
494 * xfns.c (x_build_heuristic_mask): Use four_corners_best
495 instead of IMAGE_BACKGROUND.
c22e59e1 496
b350c2e5
GM
497 * xfns.c (four_corners_best): Reindent.
498
c22e59e1 499 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
500 Handle :box so that it is possible to specify sexprs.
501
d576358b
PJ
5022001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
503
504 * xfaces.c (Finternal_merge_in_global_face): Reindent.
505 (Fface_font): Ditto.
506 (Finternal_set_alternative_font_registry_alist): Ditto.
507 (Ftty_suppress_bold_inverse_default_colors): Ditto.
508
509 * xfns.c (x-get-resource): Reindent.
510
bf00d461
EZ
5112001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
512
513 * s/hpux11.h: New file.
514
4e10df59
PJ
5152001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
516
2b209b97
PJ
517 * emacs.c (USAGE1): Show command line option --no-window-system
518 instead of --no-windows in usage.
519 (standard_args): Rename --no-windows to --no-window-system.
520 (bug_reporting_address): Follow Emacs coding conventions.
521
9dbc9081
PJ
522 * eval.c (Fcommandp): Doc fix.
523 Change doc-string comments to `new style' [w/`doc:' keyword].
524
4e10df59
PJ
525 * frame.c (Fframe_live_p): Doc fix.
526
527 * buffer.c (selective-display-ellipses): Doc fix.
528
dd387b25
GM
5292001-10-31 Gerd Moellmann <gerd@gnu.org>
530
fe957e65
GM
531 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
532
dd387b25
GM
533 * xfaces.c (realize_x_face): If C is not a single-byte character,
534 set the face's colors_copied_bitwise_p instead of the defaulted_p
535 members which have a different meaning.
536 (free_face_colors): Do nothing for a face whose colors have been
537 copied bitwise.
538
c22e59e1 539 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 540
2e1280f8
PJ
5412001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
542
687784e8
PJ
543 * marker.c, mocklisp.c: Change doc-string comments to `new style'
544 [w/`doc:' keyword].
2e1280f8 545
b9d9a9b9
GM
5462001-10-31 Gerd Moellmann <gerd@gnu.org>
547
548 * fns.c (require_unwind): Return Lisp_Object.
549
48400103
PJ
5502001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
551
fa1361cb
PJ
552 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
553 (last-input-char): Revert doc-string to be the same as the
554 doc-string of `last-input-event'.
555
48400103
PJ
556 * xdisp.c: Fix typos in comments.
557
eafa3196
GM
5582001-10-31 Gerd Moellmann <gerd@gnu.org>
559
560 * window.c (grow_mini_window): Handle case that the root
561 window is already smaller than the nominal mininum height.
562
747d3f2a
SM
5632001-10-30 Stefan Monnier <monnier@cs.yale.edu>
564
bf9bb76f
SM
565 * emacs.c (main): Don't call keys_of_macros any more.
566
567 * lisp.h (keys_of_macros): Remove.
568
569 * macros.c (keys_of_macros): Remove.
570
747d3f2a
SM
571 * xfaces.c (Fface_attribute_relative_p): Declare args.
572
5e905a57
JR
5732001-10-30 Jason Rumney <jasonr@gnu.org>
574
575 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
576 (enum_font_cb2): Ignore fonts with vertical orientation.
577
3a426197
RS
5782001-10-30 Richard M. Stallman <rms@gnu.org>
579
580 * keyboard.c (Finput_pending_p): Doc fix.
581
a742d646
GM
5822001-10-30 Gerd Moellmann <gerd@gnu.org>
583
259cf6bc
GM
584 * xterm.c (x_after_update_window_line): Don't run the code
585 clearing in borders for rows whose visible height is 0.
586
3f99f948
GM
587 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
588 resized_p flag is set. If not set, use the much less flickering
589 method previously used.
590
591 * dispnew.c (change_frame_size_1): Set frame's resized_p.
592
593 * frame.h (struct frame) <resized_p>: New member.
594
b4a3be43
GM
595 * lread.c (to_multibyte): Ensure read_buffer is at least twice
596 as large as the number of bytes to convert.
747d3f2a 597
a742d646
GM
598 * lread.c (to_multibyte): New function.
599 (read1): Use it.
600
cacbb9e9
EZ
6012001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
602
603 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
604
99cb6b2f
GM
6052001-10-30 Gerd Moellmann <gerd@gnu.org>
606
327f42ee 607 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
608 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
609 if the row's fill_line_p is set and drawing the last glyph with
610 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 611
99cb6b2f
GM
612 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
613
8e8223e2
SM
6142001-10-29 Stefan Monnier <monnier@cs.yale.edu>
615
616 * xmenu.c: Include coding.h and charset.h.
617 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
618 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
619 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
620 Explicitly set wv->help. Use `TRUE' rather than `True'.
621 (menu_help_callback): Use empty_string.
622
623 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
624 (Fx_popup_dialog): Explicitly init f.
625 (w32_menu_display_help): Use empty_string.
626
4d083a8f
RS
6272001-10-29 Richard M. Stallman <rms@gnu.org>
628
b2304472
RS
629 * fns.c (Frequire): Detect recursive try to require the same
630 feature 3 or more levels deep, and get error.
631 (require_unwind): New subroutine.
632 (require_nesting_list): New variable.
633 (syms_of_fns): Init and staticpro it.
634
4d083a8f
RS
635 * print.c (print_object): Clarify indication of insertion type.
636
2fe41216
EZ
6372001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
638
90480000
EZ
639 * coding.c (syms_of_coding): Document that locale-coding-system is
640 used for decoding input on X.
641
2fe41216
EZ
642 * window.c (Fscroll_left, Fscroll_right): Doc fix.
643
74e79967
PJ
6442001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
645
646 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
647 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
648
60ebcfe8
GM
6492001-10-29 Gerd Moellmann <gerd@gnu.org>
650
9a7bdceb
GM
651 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
652 use NO_CURSOR if cursor_in_non_selected_windows is false.
653
3f08fcd2
GM
654 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
655 the slant attribute if FRAME is t.
656
0ccfdad2
GM
657 * xfns.c (x_set_internal_border_width): Set frame garbaged
658 when X window doesn't exist yet.
659
ef253080
GM
660 * xterm.c (x_after_update_window_line): Clear internal border
661 in different circumstances.
b116830b 662
60ebcfe8
GM
663 * xterm.c (XTread_socket) <KeyPress>: Don't use
664 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
665 <handa@etl.go.jp>.
666
73d25f9c
EZ
6672001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
668
669 * m/ibms390.h: New file. From Adam Thornton
670 <athornton@sinenomine.net>.
671
cac1daf0
GM
6722001-10-28 Gerd Moellmann <gerd@gnu.org>
673
053b3256 674 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 675
cac1daf0
GM
676 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
677 a loop counter.
678
13b1a09c
PJ
6792001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
680
186486eb
PJ
681 * emacs.c: Use argv[0] instead of emacs when -t was specified.
682
4707d2d0
PJ
683 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
684 keyword].
685 Fix typos in comments.
b116830b 686
d883731c
PJ
687 * emacs.c (bug_reporting_address): New function.
688 Use it when displaying usage message.
689
04012254
PJ
690 * minibuf.c (read_minibuf): Remove unused external declaration of
691 variable `Qread_only'.
692
13b1a09c
PJ
693 * keymap.c (access_keymap): Remove unused variable `charset'.
694
5bbf4378
MB
6952001-10-28 Miles Bader <miles@gnu.org>
696
697 * xfaces.c (merge_face_heights): Handle TO being relative as well.
698 Remove #ifdef'd-out code.
699 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
700 (syms_of_xfaces): Initialize them.
701
1ce1e4ee
JR
7022001-10-27 Jason Rumney <jasonr@gnu.org>
703
704 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
705 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
706 position using the system caret.
707
708 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
709 (w32_system_caret_height, w32_system_caret_x)
710 (w32_system_caret_y): New variables for tracking system caret.
711 (w32_initialize): Initialize them.
c2d53558 712 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 713
c2d53558
SM
714 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
715 New messages types.
1ce1e4ee
JR
716
717 * w32term.c (note_mouse_highlight): Clear old help_echo.
718
4e30ce42
PJ
7192001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
720
bb4600a4
PJ
721 * xterm.c: Fix typo in a comment.
722
7db35a48
PJ
723 * emacs.c: Fix typos in comments.
724 Remove unnecessary spaces.
725 Change doc-string comments to `new style' [w/`doc:' keyword].
726 (USAGE2): Fix typos in usage string.
727
a7248e4f
PJ
728 * xterm.c: Fix typo in a comment.
729
4e30ce42
PJ
730 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
731 emacs.c.
732
62725a92
GM
7332001-10-27 Gerd Moellmann <gerd@gnu.org>
734
798dbe1f 735 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 736 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
737 farther backward when target_y was not reached.
738
62725a92
GM
739 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
740 Display errno only if non-zero.
741 (sound_warning): New function.
742 (vox_configure): Don't treat failing to set sample rate as error.
743 (various places): Improve error messages.
744
d4e34d24
EZ
7452001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
746
944e6f60
EZ
747 * fileio.c (Faccess_file): Run the argument filename through
748 Fexpand_file_name, before using it.
749
d4e34d24
EZ
750 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
751 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
752
38d2af0c
GM
7532001-10-26 Gerd Moellmann <gerd@gnu.org>
754
da80a8d5
GM
755 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
756
38d2af0c
GM
757 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
758 Fix clearing in the case of scroll bars on the right.
c2d53558 759
56f508dd
EZ
7602001-10-26 Juanma Barranquero <lektu@terra.es>
761
762 * w32gui.h (XImage): Add a dummy typedef.
763
fbd5ceb2
GM
7642001-10-26 Gerd Moellmann <gerd@gnu.org>
765
c2d53558 766 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 767
b23236fb
EZ
7682001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
769
770 * frame.c (Fframe_parameter): Fix last change.
771
5d991fc4
EZ
772 * fileio.c: Revert last change (which removed old commented-out
773 version of expand-file-name). Add a comment that explains why
774 this old version should not be removed.
775
879eadc3
GM
7762001-10-25 Gerd Moellmann <gerd@gnu.org>
777
75700ff2
GM
778 * frame.c (Fframe_parameter): Fix a bug whereby some
779 ``artificial'' frame parameters, like `minibuffer' were not
780 obtained by calling Fframe_parameters.
781
dfe92a6a
GM
782 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
783 cursor differently.
784
879eadc3
GM
785 * xdisp.c (move_it_vertically_backward): Compute line height
786 differently. Add heuristic to try to be more compatible to 20.x.
787
e1010ebe
SM
7882001-10-25 Stefan Monnier <monnier@cs.yale.edu>
789
d73a471b
SM
790 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
791
d6da5a06
GM
792 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
793 boolean.
e1010ebe 794
f66bd220
MB
7952001-10-25 Miles Bader <miles@gnu.org>
796
797 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
798 BG is a pointer to a structure, not a structure.
799 (gif_format, png_format): Add missing commas.
800
d436d538
RS
8012001-10-24 Richard M. Stallman <rms@gnu.org>
802
803 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 804 (syms_of_xfaces): Defsubr it.
d436d538 805
075c507b
PJ
8062001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
807
808 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
809 variable `area'.
810
d492b584
PJ
8112001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
812
c2d53558 813 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 814
e2a57b34
MB
8152001-10-25 Miles Bader <miles@gnu.org>
816
817 * dispextern.h (struct image): Add `background',
818 `background_valid', and `background_transparent' fields.
819 (image_background, image_background_transparent): New declarations.
820 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
821 * xfns.c (image_background, image_background_transparent)
822 (four_corners_best): New functions.
c2d53558 823 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
824 (gs_format): Add `:background' entry.
825 (lookup_image): Set IMG's background color if specified.
826 (pbm_load, xbm_load_image, png_load): Set IMG's background field
827 when appropriate.
828 (x_clear_image_1): Reset `background_valid' and
829 `background_transparent_valid' fields.
830 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
831 calculating it here. Set IMG's background_transparent field.
832 (enum xpm_keyword_index): Add XPM_BACKGROUND.
833 (enum png_keyword_index): Add PNG_BACKGROUND.
834 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
835 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
836 (enum gif_keyword_index): Add GIF_BACKGROUND.
837 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 838 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
839 Pre-calculate image background color where necessary.
840 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
841 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
842 color to use for image glyph reliefs.
843
b547b6e8
GM
8442001-10-24 Gerd Moellmann <gerd@gnu.org>
845
d9e3b8c6
GM
846 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
847 in full-width rows.
c2d53558 848
b547b6e8
GM
849 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
850 Fix clearing of area not covered by scroll bar.
851
2beb36f9
PJ
8522001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
853
854 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
855 and `real_start'.
c2d53558 856 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
857 (glyph_rect): Remove unused variable `area'.
858
76cb5e06
GM
8592001-10-24 Gerd Moellmann <gerd@gnu.org>
860
bdbdebff 861 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
862
863 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
864 (row_containing_pos): Take additional argument DY.
865 Treat rows ending in middle of char differently.
62e33982
GM
866 (display_line): Handle tabs on window systems differently.
867
868 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
869 with additional argument.
870
871 * dispextern.h (row_containing_pos): Adjust prototype.
872
76cb5e06
GM
873 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
874 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
875 (try_window_id, try_window_reusing_current_matrix)
876 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
877 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
878
996fee11
PJ
8792001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
880
c9e60620
PJ
881 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
882 gnuemacs).
883 (HAVE_BOXES): Fix typo in comment.
884 (push_menu_pane): Fix typo in comment.
885
3b552d56
PJ
886 * xdisp.c: (display_prop_string_p): Remove unused local declaration
887 of `Qwhen'.
888 (single_display_prop_string_p): Remove unused local declarations
889 of `Qwhen' and `Qmargin'.
890 (string_buffer_position): Remove unused variable `around'.
891 (store_frame_title): Remove unused variable `width'.
892
15c565ac
PJ
893 * window.c: Don't define max.
894 (coordinates_in_window): Remove unused variable `uy'.
895
a8818eb9
PJ
896 * widget.c: Don't define max.
897
996fee11
PJ
898 * process.c: Don't define max.
899 (create_process): Remove unused variable `buffer'.
900
496e1a5b
GM
9012001-10-23 Gerd Moellmann <gerd@gnu.org>
902
c2d53558 903 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 904
5905ae8b
EZ
9052001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
906
907 * xfaces.c (Finternal_set_lisp_face_attribute)
908 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
909 frame is on a windowed display.
910
24db49fb
GM
9112001-10-23 Gerd Moellmann <gerd@gnu.org>
912
c2d53558
SM
913 * dispnew.c (sync_window_with_frame_matrix_rows):
914 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
915 of marginal areas.
916
c2d53558 917 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 918
f0487f05
EZ
9192001-10-23 Andreas Schwab <schwab@suse.de>
920
921 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
922 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
923
f0a48a01
GM
9242001-10-23 Gerd Moellmann <gerd@gnu.org>
925
c2d53558 926 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
927 REAL_END. Notice if cursor gets overwritten.
928 (notice_overwritten_cursor): Take X positions as parameters.
929 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
930 around call to x_draw_glyphs.
931
a50a10a0
PJ
9322001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
933
fc11dff0
PJ
934 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
935 instead of C) and usage.
a50a10a0 936
fc11dff0
PJ
937 * editfns.c (char-to-string): Fix argument names (use CHAR instead
938 of C) and usage.
a50a10a0
PJ
939
940 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
941 `left', `max_width' and `max_height'.
942
8738febd
GM
9432001-10-23 Gerd Moellmann <gerd@gnu.org>
944
945 * xdisp.c (display_line): For a tab continued to the next line,
946 set row's ends_in_middle_of_char_p.
947
653c329b
GM
9482001-10-22 Gerd Moellmann <gerd@gnu.org>
949
950 * xdisp.c (display_line): Fix computation of continuation lines
951 width for TABs.
952
f958c5ac
PJ
9532001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
954
7ba51063
PJ
955 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
956 `Qlaplace'.
957
f958c5ac
PJ
958 * fileio.c: Remove unused code.
959
eb360291
MB
9602001-10-22 Miles Bader <miles@gnu.org>
961
962 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
963 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
964 Remove `DOC_STRINGS_IN_COMMENTS' cases.
965
98515cf0
JR
9662001-10-21 Jason Rumney <jasonr@gnu.org>
967
968 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
969
93026d88
EZ
9702001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
971
972 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
973 (Finsert_string): Avoid the multi-line string literals warning.
974
c9a95b79
MB
9752001-10-22 Miles Bader <miles@gnu.org>
976
977 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
978 (Fdocumentation): Don't use it.
979 (syms_of_doc): Don't initialize it.
980
981 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
982 * print.c (Fwith_output_to_temp_buffer): Likewise.
983 * window.c (Fsave_window_excursion): Likewise.
c2d53558 984 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 985 (Fsave_restriction): Likewise.
c2d53558
SM
986 * eval.c (Frun_hooks, Frun_hook_with_args)
987 (Frun_hook_with_args_until_failure)
988 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
989 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
990 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
991 (Funwind_protect, Fcondition_case): Likewise.
992 * coding.c (Ffind_operation_coding_system): Likewise.
993 * keyboard.c (Ftrack_mouse): Likewise.
994
a3b10252
MB
9952001-10-21 Miles Bader <miles@gnu.org>
996
c2d53558 997 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
998 (Fmake_hash_table): Add usage: string to doc string.
999 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1000 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1001 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1002 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1003 (Fml_prefix_argument_loop): Likewise.
1004
c6f73eec
PJ
10052001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1006
c2d53558 1007 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1008
c6f73eec
PJ
1009 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1010 style' [w/`doc:' keyword].
1011
1012 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1013 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1014 comments to `new style' [w/`doc:' keyword].
1015
3cf3436e
JR
10162001-10-21 Jason Rumney <jasonr@gnu.org>
1017
1018 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1019
c169b8f1
JR
1020 * w32term.c (remember_mouse_glyph): New function.
1021 (w32_mouse_position): Use it.
1022 (note_mouse_movement): If the mouse moved off the glyph, remember
1023 its new position.
c2d53558 1024
4fdd691b
JR
1025 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1026 (w32_display_info): Add mouse_face_overlay.
1027
c169b8f1
JR
1028 * w32term.c (notice_overwritten_cursor): Renamed from
1029 note_overwritten_text_cursor. Rewritten to take glyph widths into
1030 account.
1031 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1032 (fast_find_string_pos): New function.
1033 (fast_find_position): Return the correct vpos. Add parameter
1034 STOP. In the final row, stop before glyphs having STOP as object.
1035 Don't consider glyphs that are not from a buffer.
1036 (fast_find_position) [0]: Add a presumably more correct version
1037 for after 21.1.
1038 (expose_window_tree, expose_frame): Don't compute intersections here.
1039 (expose_window): Do it here instead.
1040 (expose_window_tree, expose_window, expose_line): Return 1 when
1041 overwriting mouse-face.
1042 (expose_window): If W is the window currently being updated, mark
1043 the frame garbaged.
1044 (expose_frame): If mouse-face was overwritten, redo it.
1045 (x_use_underline_position_properties): New variable.
1046 (syms_of_xterm): DEFVAR_BOOL it.
1047 (x_draw_glyph_string): Add comment to use it in future.
1048 (x_draw_glyph_string): Restore clipping after drawing box.
1049 Fix a computation of the underline position.
1050 (w32_get_glyph_string_clip_rect): Minor cleanup.
1051 (x_fill_stretch_glyph_string): Remove an assertion.
1052 (x_produce_glyphs): Don't convert multibyte characters
1053 to unibyte characters in unibyte buffers.
1054 (cursor_in_mouse_face_p): New function.
1055 (x_draw_stretch_glyph_string): Use it to choose a different GC
1056 when drawing a cursor within highlighted text. Don't draw
1057 background again if it has already been drawn.
1058 (x_draw_glyph_string_box): Don't draw a full-width
1059 box just because the glyph row's full_width_p flag is set.
1060 (x_draw_glyphs): Fix computation of rightmost x for
1061 full-width rows.
1062 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1063 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1064 change bottom shadow accordingly. Some cleanup.
1065 (x_update_window_end): Handle overwritten mouse face
1066 also for tool bar windows.
1067 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1068 DRAW is DRAW_IMAGE_RAISED.
1069 (clear_mouse_face): Return 1 if text with mouse face was
1070 actually redrawn. Make the function static. Reset
1071 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1072 optimize away highlighting if we pass over that same overlay again.
1073 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1074 to detect a case where we have to highlight a different region
1075 despite not having left the currently highlighted region.
1076 Set mouse_face_overlay in the x_display_info. Avoid changing the
1077 mouse pointer shape when show_mouse_face has already done it, or
1078 there is no need. Handle mouse-face and help-echo in strings.
1079 (glyph_rect): New function.
1080 (w32_mouse_position): Use it to raise the threshold for mouse
1081 movement event generation.
1082 (w32_initialize_display_info): Initialize the x_display_info's
1083 mouse_face_overlay.
1084 (w32_set_vertical_scroll_bar): Don't clear a zero height
1085 or width area.
1086 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1087 a widget to zero height.
1088
3cf3436e 1089 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1090 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1091 equivalents in menu_items.
1092 (w32_menu_show): Don't overwrite an item's name with its key
1093 description in case the description is a multibyte string.
1094 (single_submenu): Some cleanup.
1095
1096 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1097 (postprocess_image): New function.
1098 (lookup_image): Call it for all image types except PostScript.
1099 (x_kill_gs_process): Call postprocess_image.
1100 (tiff_error_handler, tiff_warning_handler): New functions.
1101 (tiff_load): Install them as handlers.
1102 (x_kill_gs_process): Recognize if someone has cleared the image
1103 cache under us.
1104 (valid_image_p): Protect better against invalid image
1105 specifications. Previous code could signal an error.
1106 (Fx_hide_tip, Fshow_tip): Doc fix.
1107 (Fv_max_tooltip_size): New variable.
1108 (syns_of_xfns): DEFVAR_LISP it.
1109 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1110 window buffer to *tip* right after creating the frame. Set frame's
1111 window_width. Use a maximum tooltip size specified by
1112 Vx_max_tooltip_size, if that has valid contents.
1113 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1114 Make sure the tooltip is completely visible.
1115 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1116 (Fx_create_frame): Adjust the frame's height for presence
1117 of the tool bar before calling x_figure_window_size.
1118 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1119 when the window gets smaller.
1120 (x_set_foreground_color): Set frame's cursor_pixel.
1121 (x_set_foreground_color, x_set_background_color): Cleaned up.
1122 (x_set_font): Handle case of x_new_fontset returning the same name
1123 as before, although there was a change in fontsets.
1124
386ca361
MB
11252001-10-21 Miles Bader <miles@gnu.org>
1126
c2d53558 1127 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1128 (Flogxor): Add usage: string to doc string.
1129 * charset.c (Fstring): Likewise.
1130 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1131 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1132
14ff1ee0
PJ
11332001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1134
03be2694
PJ
1135 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1136
1137 * alloc.c: Reindent DEFUNs with doc: keywords.
1138
1139 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1140
14ff1ee0
PJ
1141 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1142 keyword].
1143
71431a0e
GM
11442001-10-20 Gerd Moellmann <gerd@gnu.org>
1145
6aa97356 1146 * (Version 21.1 released.)
71431a0e 1147
39f624fa
PJ
11482001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1149
c2d53558 1150 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1151
1152 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1153 0 because unused.
1154
1155 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1156 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1157 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1158
abcce93a
MB
11592001-10-20 Miles Bader <miles@gnu.org>
1160
1161 The following changes remove the glyph_row `inverse_p' field,
1162 which is never set anymore, due to other changes:
1163
1164 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1165 (reassert_line_highlight, change_line_highlight): Declarations removed.
1166 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1167 (line_hash_code, row_equal_p, fake_current_matrices)
1168 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1169 (update_frame_line, update_frame_line, update_frame_line):
1170 Don't use `inverse_p' field.
1171 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1172 change_line_highlight_hook.
1173 (XTreassert_line_highlight, x_change_line_highlight):
1174 Functions removed.
c2d53558 1175 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1176 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1177 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1178 `inverse_p' field.
c2d53558 1179 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1180 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1181 (w32_reassert_line_highlight, x_change_line_highlight):
1182 Functions removed.
1183 * w32console.c (reassert_line_highlight, change_line_highlight):
1184 Functions removed.
1185 (initialize_w32_display): Don't set reassert_line_highlight_hook
1186 or change_line_highlight_hook.
1187 (hl_mode): Function removed.
c2d53558
SM
1188 (reset_terminal_modes, set_terminal_modes, update_begin)
1189 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1190 (clear_frame, ins_del_lines): Don't call it.
1191 * termhooks.h (reassert_line_highlight_hook)
1192 (change_line_highlight_hook): Declarations removed.
1193 * term.c (reassert_line_highlight_hook)
1194 (change_line_highlight_hook): Variables removed.
1195 (reassert_line_highlight, change_line_highlight): Functions removed.
1196 * msdos.c (IT_reassert_line_highlight)
1197 (IT_change_line_highlight): Functions removed.
1198 (internal_terminal_init): Don't set reassert_line_highlight_hook
1199 or change_line_highlight_hook.
1200 (highlight): Variable removed.
c2d53558 1201 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1202 (IT_set_terminal_modes): Don't set or use it.
1203
1204 The following changes remove inverse-video support for terminals
1205 that use a `magic cookie' standout mode. Due to changes in the
1206 way mode-lines are displayed, such support no longer works
1207 anyway, and it's probable that almost no one uses such terminals
1208 anymore:
1209
1210 * term.c (standout_requested): Variable removed.
1211 (update_end, highlight_if_desired): Don't use it.
1212 (chars_wasted, copybuf): Variables removed.
1213 (write_standout_marker): Function removed.
c2d53558 1214 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1215 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1216 Don't use `chars_wasted' or `copybuf'.
1217 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1218 Set `costs_set' to true.
1219 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1220 `chars_wasted'.
1221 (clear_end_of_line): Function removed.
1222 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1223 (clear_to_end): Call `clear_end_of_line' instead of
1224 `clear_end_of_line_raw'.
54800acb
MB
1225 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1226 (term_init): Don't set them.
1227 Turn off any standout/underline modes that require magic cookies.
c2d53558 1228 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1229 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1230 Remove special processing for magic-cookie standout modes.
1231 (turn_off_face, turn_on_face): Remove special processing for
1232 underline magic-cookie glitch.
abcce93a 1233
0b5f679f
RS
12342001-10-19 Richard M. Stallman <rms@gnu.org>
1235
1236 * eval.c (syms_of_eval): Doc fixes.
1237
5a4a5bd4
GM
12382001-10-19 Gerd Moellmann <gerd@gnu.org>
1239
1240 * xdisp.c (redisplay_internal): Don't clear echo area if the
1241 mini-window is selected.
1242
79f1f96c
MB
12432001-10-19 Miles Bader <miles@gnu.org>
1244
b57c2708
MB
1245 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1246 doesn't take precedence if the affected property's value is nil.
1247
1248 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1249
79f1f96c
MB
1250 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1251 with fields and suggest using `forward-line' to avoid them.
1252 * editfns.c (Fline_beginning_position, Fline_end_position):
1253 Clarify documentation.
1254
ef879104
SM
12552001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1256
1257 * keymap.c (current_minor_maps): `override' only shadows its
1258 correspondent in minor-mode-map-alist, not the whole tail.
1259
97f4db8c
AI
12602001-10-18 Andrew Innes <andrewi@gnu.org>
1261
1262 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1263 optimization. The fontp->encoding array was not being initialized
1264 correctly when compiled with optimizations by MSVC.
1265
e6b70fd8
GM
12662001-10-18 Gerd Moellmann <gerd@gnu.org>
1267
30903479 1268 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1269
0e804d38
AI
12702001-10-17 Andrew Innes <andrewi@gnu.org>
1271
1272 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1273
1274 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1275 font_info.charset field.
1276
1277 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1278 rather than working it out by calling w32_codepage_for_font for
1279 every glyph.
1280
66e5868a
AI
12812001-10-17 Andrew Innes <andrewi@gnu.org>
1282
1283 * w32term.c (w32_read_socket): Determine clipping rectangle for
1284 the entire frame, including areas covered by scrollbars and the
1285 menubar. This avoids internal arguments about whether a frame is
1286 fully obscured or not.
1287
15b00083
GM
12882001-10-17 Gerd Moellmann <gerd@gnu.org>
1289
23e8bd86
GM
1290 * xdisp.c (try_window_id): Undo last change. Give up if
1291 window ends in strings.
30903479 1292
9c6ba6d1 1293 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1294 end if the rest of the window after the window end was already blank.
23e8bd86 1295
30903479 1296 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1297 for the release of 21.1.
1298
30903479 1299 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1300
945220bd
MB
13012001-10-17 Miles Bader <miles@gnu.org>
1302
1303 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1304 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1305 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1306 Change doc-string comments to `new style' [w/`doc:' keyword].
1307 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1308 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1309 out make-docfile.
1310
14242528
MB
13112001-10-16 Miles Bader <miles@gnu.org>
1312
1313 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1314
3ddf952f
GM
13152001-10-16 Gerd Moellmann <gerd@gnu.org>
1316
1317 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1318 *scratch*.
1319
f3fbd155
KR
13202001-10-16 Ken Raeburn <raeburn@gnu.org>
1321
1322 Avoid the assumption that car and cdr slots of cons cells are
1323 addressable lvalues; this allows for easier experimentation with
1324 other lisp implementations that may not permit such accesses for
1325 various reasons. Not quite complete -- buffer.c still needs some
1326 work, and w32/mac files need rechecking -- so compile-time
1327 enforcement is left disabled for now.
1328
1329 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1330 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1331 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1332 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1333 (XSETCAR, XSETCDR): New macros.
1334 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1335 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1336 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1337 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1338 XSETCDR.
1339 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1340 * buffer.c (record_buffer, Fbury_buffer)
1341 (swap_out_buffer_local_variables, recenter_overlay_lists)
1342 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1343 fields of a cons cell respectively.
1344 * callint.c (quotify_args, Fcall_interactively): Likewise.
1345 * ccl.c (Fregister_code_conversion_map): Likewise.
1346 * coding.c (detect_coding_system): Likewise.
1347 * composite.c (get_composition_id, make_composition_value_copy):
1348 Likewise.
30903479
SM
1349 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1350 (swap_in_symval_forwarding, set_internal, Fset_default)
1351 (Fmake_variable_buffer_local, Fmake_local_variable)
1352 (Fmake_variable_frame_local): Likewise.
f3fbd155 1353 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1354 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1355 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1356 * minibuf.c (get_minibuffer): Likewise.
1357 * search.c (Fmatch_data): Likewise.
1358 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1359 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1360 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1361 Likewise.
1362 * w32term.c (x_delete_display): Likewise.
1363 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1364 Likewise.
c2d53558 1365 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1366 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1367 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1368 (Fread_file_name): Use XSETCAR.
1369 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1370 CHECK_NUMBER_CDR.
1371 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1372 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1373 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1374 CHECK_NUMBER_CDR.
1375 * keyboard.c (read_char): Alter list traversal to avoid taking the
1376 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1377 (parse_menu_item): Use XSETCAR and XSETCDR.
1378 (reach_char_x_menu_prompt): Use XSETCAR.
1379 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1380 (Fcommand_execute): Use XSETCDR.
1381 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1382 (openp): Change list traversal to avoid using XCAR as lvalue.
1383 (read_list): Use XSETCDR.
1384 * process.c (wait_reading_process_input): Change wait_for_cell
1385 handling to avoid taking addresses of cons cell slots.
30903479
SM
1386 * xselect.c (x_own_selection, x_handle_selection_clear)
1387 (x_clear_frame_selections): Use XSETCDR.
1388 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1389 (x_handle_property_notify, x_get_foreign_selection)
1390 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1391
502150e5
PJ
13922001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1393
018ba359
PJ
1394 * buffer.c: Put doc strings in comments.
1395
30903479 1396 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1397
b56ba8de
SS
13982001-10-15 Sam Steingold <sds@gnu.org>
1399
1400 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1401
6a0b793a
PJ
14022001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1403
30903479
SM
1404 * process.c (process-inherit-coding-system-flag)
1405 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1406 in comment.
1407
a1f17501 1408 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1409 arguments. Put doc strings in comments.
a65da641
PJ
1410
1411 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1412
aa601ad0
GM
14132001-10-15 Gerd Moellmann <gerd@gnu.org>
1414
30903479 1415 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1416
aa601ad0
GM
1417 * window.c (select_window_1): Unfreeze window start. Remove a
1418 doubled test for WINDOW being live.
1419
288148a1
PJ
14202001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1421
dd8d1e71
PJ
1422 * fns.c (Fmapconcat): Fix typo in a doc string.
1423
288148a1
PJ
1424 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1425
9f5eb4a3
GM
14262001-10-15 Gerd Moellmann <gerd@gnu.org>
1427
1428 * xterm.c (x_draw_glyph_string): Restore clipping after
1429 drawing box.
1430
dbae44c8
PJ
14312001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1432
30903479 1433 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1434
0c88c937
SM
14352001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1436
56378db4
GM
1437 * indent.c (skip_invisible): Use new retval of
1438 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1439
845e4cf4
SM
1440 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1441 If a parent is reached and noinherit is set, exit immediately.
1442 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1443
0c88c937
SM
1444 * s/ms-w32.h (EXEC_SUFFIXES):
1445 * s/msdos.h (EXEC_SUFFIXES):
1446 * process.h (EXEC_SUFFIXES): Remove.
1447
1448 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1449 (decode_suffixes): Remove.
1450
1451 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1452 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1453 (invisible_ellipsis_p): Remove.
0c88c937
SM
1454
1455 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1456 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1457 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1458 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1459 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1460
d19be8a9
PJ
14612001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1462
04d7d066
PJ
1463 * lisp.h (Ftop_level): Add prototype.
1464
d624284c
PJ
1465 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1466 (XTread_socket): Improve style of comments to follow other
1467 comments.
1468
a87414f9
PJ
1469 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1470 is already prototyped in included lisp.h).
1471
d19be8a9
PJ
1472 * frame.c (Fset_mouse_position): Improve style of comment to
1473 follow other comments.
1474 (Fset_mouse_pixel_position): Improve style of comment to follow
1475 other comments.
1476 (Fmake_frame_visible): Doc fix and typo in comment.
1477 (Fmake_frame_invisible): Doc fix and typo in comment.
1478 (Ficonify_frame): Fix typo in comment.
1479
c061c855
GM
14802001-10-14 Gerd Moellmann <gerd@gnu.org>
1481
37f6b5b6 1482 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1483 * term.c, alloc.c: Put doc strings in comments.
c061c855 1484
e641b454
GM
14852001-10-13 Gerd Moellmann <gerd@gnu.org>
1486
1487 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1488 Provide definitions for doc strings in comments.
1489
1490 * fns.c: Put doc strings in comments.
1491
51724e26
EZ
14922001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1493
1494 * dired.c (file_name_completion): Ignore a candidate directory if
1495 it matches an element in completion-ignored-extensions that ends
1496 in a slash.
1497 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1498 feature in the doc string.
1499 (Ffile_name_completion): Ditto.
1500
be5fc59b
SM
15012001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1502
5a1373f3
SM
1503 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1504
1505 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1506
1507 * lisp.h (Fprovide): Update prototype.
1508 (Ffeaturep, invisible_p): Remove.
1509
bbc4a3d3 1510 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1511 (DOLIST, LOOP_PROPVAL): New macros.
1512 (invisible_p, invisible_ellipsis_p): Use them.
1513 (invisible_noellipsis_p): New function.
1514 (syms_of_xdisp): Use empty_string.
1515
1516 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1517
1518 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1519 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1520
1521 * print.c (Fwith_output_to_temp_buffer): Align with
1522 internal_with_output_to_temp_buffer.
1523 (print_preprocess): Use traverse_intervals_noorder.
1524 (print_object): Update call to traverse_intervals.
1525
1526 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1527 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1528
1529 * intervals.c (traverse_intervals_noorder): New function.
1530 (search_for_interval, count_intervals): Use it.
1531 (traverse_intervals): Use less stack space and drop `depth' arg.
1532
1533 * fns.c (Ffeaturep): Add new `subfeature' arg.
1534 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1535 (Qsubfeatures): New var.
1536 (syms_of_fns): Initialize it.
1537
026f408d
SM
1538 * keymap.c (Fkey_description): Use empty_string.
1539 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1540 (syms_of_keymap): Setup inheritance between maps.
1541 Don't export Sdescribe_bindings_internal any more.
1542
be5fc59b
SM
1543 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1544
3365175e
GM
15452001-10-12 Gerd Moellmann <gerd@gnu.org>
1546
1547 * xterm.c (notice_overwritten_cursor): Renamed from
1548 note_overwritten_text_cursor. Rewritten to take glyph widths into
1549 account.
1550
2ab7765c
EZ
15512001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1552
1553 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1554 multi-line strings without a trailing "\n\".
1555
311346bb
PJ
15562001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1557
1558 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1559 defined.
1560
2168e04d
SM
15612001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1562
026f408d
SM
1563 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1564
c0ec53ad
SM
1565 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1566 * w32proc.c (sys_spawnve):
1567 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1568 * w32.c (check_windows_init_file):
1569 * sound.c (Fplay_sound):
026f408d 1570 * emacs.c (init_cmdargs):
c0ec53ad
SM
1571 * process.c (Fstart_process): Update calls to openp.
1572
1573 * callproc.c (Vexec_suffixes): New var.
1574 (Fcall_process): Update call to openp.
1575 (decode_suffixes): New function.
1576 (syms_of_callproc): Init exec-suffixes.
1577
1578 * lread.c (Vload_suffixes, default_suffixes): New vars.
1579 (openp): Take a lisp list of suffixes.
1580 Check for file-name-handlers even if the file was absolute already.
1581 (syms_of_lread): Declare load-suffixes.
1582 (Fload): Fix up call to openp.
1583 Don't bother checking for file-name-handler at the very beginning.
1584
f6333468
SM
1585 * keymap.h (Fcopy_keymap): Don't export.
1586
1587 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1588 (Vload_suffixes, Vexec_suffixes): Declare.
1589 (openp): Update prototype.
f6333468
SM
1590
1591 * emacs.c (empty_string): New var.
1592 (syms_of_emacs): Initialize it.
1593
1594 * search.c (wordify): Use it.
1595
1596 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1597 selected window if it's not displayed there. Handle the case
1598 when the window is dedicated.
1599 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1600
1601 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1602
2168e04d
SM
1603 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1604 Remove left_ok and right_ok.
1605 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1606 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1607 new meaning of b_property.
1608
1609 * syntax.c (update_syntax_table): Simplify.
1610 (Fforward_comment): Don't skip quoted chars when going backward.
1611
13d95cc0
GM
16122001-10-11 Gerd Moellmann <gerd@gnu.org>
1613
beb0990f
GM
1614 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1615 in case I is of some unsigned type, in which case
1616 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1617 comparison becomes bogus.
1618
cb938d46
GM
1619 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1620 (Fuser_full_name): Fix bug treating a float as a fixnum.
1621
1622 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1623
1624 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1625
13d95cc0
GM
1626 * lisp.h (circular_list_error): Add prototype.
1627
1628 * data.c (Qcircular_list): New variable.
1629 (circular_list_error): New function.
1630 (syms_of_data): Initialize it Qcircular_list.
1631
e35f6ff7
SM
16322001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1633
1634 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1635 casefiddle.c, buffer.c: Include keymap.h.
1636
619632ac
GM
16372001-10-10 Gerd Moellmann <gerd@gnu.org>
1638
1639 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1640 options. From Dave Love <d.love@dl.ac.uk>.
1641
5e5388f6
GM
16422001-10-09 Gerd Moellmann <gerd@gnu.org>
1643
1644 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1645 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1646
14a3dff7
GM
1647 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1648 unsigned char.
1649 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1650
76ba8daf
AI
16512001-10-08 Andrew Innes <andrewi@gnu.org>
1652
1653 * lisp.h [max]: Undef min and max before redefining them.
1654
1655 * w32gui.h: Do not undef min and max.
1656
1657 * w32heap.h: Do not undef min and max.
1658
1659 * s/ms-w32.h: Do not undef min and max.
1660
166253cb
SM
16612001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1662
1663 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1664
0c4d9527
SS
16652001-10-08 Sam Steingold <sds@gnu.org>
1666
1667 * keymap.c (current-active-maps): Quote newlines (compilation error).
1668
14bfa771
EZ
16692001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1670
1671 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1672 bindings.elc, since otherwise doc strings in bindings.el get wrong
1673 offsets in etc/DOC.
1674
bdb7aa47
SM
16752001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1676
9985827f
SM
1677 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1678
1679 * keyboard.h (map_prompt): Remove.
1680
1681 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1682 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1683
bdb7aa47
SM
1684 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1685
1686 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1687
1688 * keyboard.c (map_prompt): Remove.
1689 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1690 Use Fkeymap_prompt.
1691
1692 * keymap.h: New file. Extracted from lisp.h.
1693
9985827f
SM
1694 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1695 (accessible_keymaps_1): New function.
1696 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1697 (Fwhere_is_internal): Use Fcurrent_active_maps.
1698 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1699 Insert in current buffer rather than standard-output.
1700 Don't call `help-mode'. Export to elisp.
1701 (describe_buffer_bindings): New wrapper.
1702 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1703 and Sdescribe_buffer_bindings.
1704
402c9a51
GM
17052001-10-08 Gerd Moellmann <gerd@gnu.org>
1706
9985827f 1707 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1708 Remove code setting signal handler.
1709
9985827f 1710 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1711 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1712
3fe81fdf
PJ
17132001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1714
1715 * keyboard.c: Don't define min/max.
1716
55fa7820
GM
17172001-10-08 Gerd Moellmann <gerd@gnu.org>
1718
9985827f 1719 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1720 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1721 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1722 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1723 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1724 Don't define min/max.
1725
1726 * lisp.h (min, max): New macros.
1727
55fa7820
GM
1728 * puresize.h (BASE_PURESIZE): Increase to 725000.
1729
1aad31e4
PJ
17302001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1731
9180dc8c
PJ
1732 * xfaces.c (free_frame_menubar): Add prototype.
1733
01f67d2c
PJ
1734 * lisp.h (init_window): Add prototype.
1735
1736 * editfns.c: Include ctype.h.
1737
1738 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1739 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1740 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1741 variable `sb'.
1742
5f351ff1
PJ
1743 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1744 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1745 `popup_activated_flag' and `title'.
1746
479dfe87
PJ
1747 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1748
dff49fc8
PJ
1749 * emacs.c (main): Remove extra `;'.
1750
248ac615
PJ
1751 * atimer.h (struct atimer): Fix typos in a comment.
1752
1753 * atimer.c: Fix typo.
1754
af232c7d
PJ
1755 * Makefile.in: Fix typo.
1756
1757 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1758
d876f455
MB
17592001-10-07 Miles Bader <miles@gnu.org>
1760
1761 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1762
0037e2f2
KR
17632001-10-07 Ken Raeburn <raeburn@gnu.org>
1764
b056f36d
KR
1765 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1766 Lisp_Object.
1767
0037e2f2
KR
1768 * lisp.h (Ffield_end): Declare.
1769
1a4372ef
GM
17702001-10-07 Gerd Moellmann <gerd@gnu.org>
1771
a4a74e8c
GM
1772 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1773
1774 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1775
1776 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1777
1778 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1779
1a4372ef
GM
1780 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1781 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1782
1783 * alloc.c (inhibit_garbage_collection): Simplify.
1784 (Fmemory_use_counts): Ditto.
1785
9985827f 1786 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1787 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1788 most-negative-fixnum.
1789
9985827f 1790 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1791 (FIXNUM_OVERFLOW_P): New macros.
1792
4650e362
MB
17932001-10-06 Miles Bader <miles@gnu.org>
1794
1795 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1796 scroll_bar_bottom_shadow_pixel fields.
1797 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1798 for the shadows, and tell the toolkit about them if we succeed.
1799 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1800 Free scroll-bar shadow colors.
1801 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1802 Free scroll-bar shadow colors when the background color changes.
1803 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1804 Initialize scroll-bar shadow-color fields.
1805
ace64e0a
GM
18062001-10-05 Gerd Moellmann <gerd@gnu.org>
1807
1808 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1809
ec66bdc7
MB
18102001-10-05 Miles Bader <miles@gnu.org>
1811
9985827f
SM
1812 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1813 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1814 New functions (were in simple.el).
9985827f 1815 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1816 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1817 (syms_of_minibuf): Initialize them.
1818
a0fb4492
GM
18192001-10-05 Gerd Moellmann <gerd@gnu.org>
1820
1821 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1822 (tiff_load): Install them as error and warning handler.
1823
0bcf87c1
AI
18242001-10-04 Andrew Innes <andrewi@gnu.org>
1825
1826 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1827 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1828 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1829 (x_to_w32_charset): Handle private format for unknown charsets.
1830 Handle wildcards in charset spec, by ignoring them.
1831 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1832 "*-" prefix from charset.
1833 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1834 handle the truncated font spec form constructed by font_list_1, so
1835 that we correctly identify the charset fields. Don't remove "*-"
1836 prefix from charset.
1837 (w32_list_synthesized_fonts): Fix argument to alloca.
1838
c89e4bc5
GM
18392001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1840
1841 * window.h (MINI_WINDOW_P): Use NILP.
1842
1843 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1844
1845 * termhooks.h (struct input_event): Use proper type for `kind'.
1846
18472001-10-04 Gerd Moellmann <gerd@gnu.org>
1848
1849 This handles unknown keysyms better than before. For example,
1850 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1851 Emacs formerly completely ignored F5. With the change, it derives
1852 a key symbol from the name of the X keysym, `ccaron' in this case.
1853 Reported by Martin Buchholz.
1854
1855 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1856 unknown keysyms.
1857
1858 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1859 that EVENT->code isn't a function key, use the keysym's name.
1860
18612001-10-04 Gerd Moellmann <gerd@gnu.org>
1862
1863 FOREACH is a macro that should make it easier to loop over Lisp
1864 lists with checks for cycles and proper lists.
1865
1866 * lisp.h (LIST_END_P, FOREACH): New macros.
1867
18682001-10-04 Gerd Moellmann <gerd@gnu.org>
1869
1870 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1871 called for a lost connection. Prevent dumping core in this case.
1872 Instead print the X error, and exit. On user request.
1873
1874 * xterm.c (error_msg): New variable.
1875 (x_fatal_error_signal): New function.
1876 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1877 as fatal_error_signal_hook around the call to XtCloseDisplay.
1878
1879 * emacs.c (fatal_error_signal_hook): New variable.
1880 (fatal_error_signal): Call that function.
1881
18822001-10-04 Gerd Moellmann <gerd@gnu.org>
1883
1884 With this, Emacs prints how much pure storage it will
1885 approximately need in case pure storage overflows while dumping.
1886
1887 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1888 New variables.
1889 (init_alloc_once): Initialize new variables.
1890 (PURE_POINTER_P): Use new variables.
1891 (pure_alloc): If pure storage overflows, allocate from the heap.
1892 (check_pure_size): New function.
1893 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1894
1895 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1896 (check_pure_size): Add prototype.
1897
1898 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1899
19002001-10-04 Gerd Moellmann <gerd@gnu.org>
1901
1902 This adds a post-gc-hook that's run with GC inhibited.
1903 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1904
1905 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1906 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1907 (Fgarbage_collect): Run post-gc-hook.
1908
19092001-10-04 Gerd Moellmann <gerd@gnu.org>
1910
1911 This adds `defvaralias' and `indirect-variable'. Changes not
1912 directly related to this feature are there to gain the same
1913 performance again as before variable aliases.
1914
1915 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1916 code to get and set symbol values, to take defvaralias into account.
1917
1918 (Note: the new `constant' bit-flag in symbols would make it
1919 possible to define arbitrary read-only variables, e.g. with
1920 `defconst'.)
1921
1922 Documentation is in lispref/variables.texi. Added to NEWS.
1923
1924 * lisp.h (enum symbol_interned): New enumeration.
1925 (struct Lisp_Symbol): Remove member `obarray', add
1926 `indirect_variable', `constant', and `interned'.
1927 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1928 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1929 (indirect_variable): Add prototype.
1930
1931 * print.c (print_preprocess, print_object): Test internedness of
1932 symbols differently.
1933
1934 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1935 bit-fields.
1936 (init_obarray): Likewise for t and nil.
1937
1938 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1939 (Fdefvaralias): New function.
1940 (specbind): Simplify the test if symbol is a constant.
1941 (syms_of_eval): Defsubr Fdefvaralias.
1942
1943 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1944 (Qcyclic_variable_indirection): New variable.
1945 (Fkeywordp): Check for internedness differently.
1946 (Fmakunbound): Simplify the test if symbol is a constant.
1947 (indirect_variable, Findirect_variable): New functions.
1948 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1949 aliased symbol.
1950 (let_shadows_buffer_binding_p): Check for variable aliases.
1951 (set_internal): Simplify the test if SYMBOL is a constant.
1952 If SYMBOL has a buffer-local value and is an alias, use the aliased
1953 symbol instead.
1954 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1955 Sindirect_variable.
1956
1957 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1958 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1959 set directly.
1960
1961 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1962
1963 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1964 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1965 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1966
ab952a4f
GM
19672001-10-04 Gerd Moellmann <gerd@gnu.org>
1968
1969 * Branch for 21.1.
b56ba8de 1970
ba88ff28
MB
19712001-10-03 Miles Bader <miles@gnu.org>
1972
1973 * callproc.c (syms_of_callproc): Explicitly state in the
1974 documentation for `process-environment' that earlier entries take
1975 precedence over later ones.
1976
ae1a9581
MB
19772001-10-02 Miles Bader <miles@gnu.org>
1978
1979 * textprop.c (Fnext_char_property_change)
1980 (Fprevious_char_property_change): Remove reference to non-existant
1981 argument OBJECT from doc-string.
1982
257e3f57
GM
19832001-10-01 Gerd Moellmann <gerd@gnu.org>
1984
1985 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1986 (try_window_id): Skip back over lines ending in a newline from a
1987 string.
1988
1989 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1990 New bit flag
1991
c1f29759
RS
19922001-10-01 Richard M. Stallman <rms@gnu.org>
1993
1994 * search.c (Freplace_match): Doc fix.
1995
c30dce3d
AI
19962001-09-28 Andrew Innes <andrewi@gnu.org>
1997
1998 * w32menu.c (set_frame_menubar): Take into account that
1999 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2000 <raeburn@gnu.org>.
2001
03be5931
EZ
20022001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2003
2004 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2005
75bec752
PJ
20062001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2007
2008 * s/gnu-linux.h: Fix a typo in comment.
2009
83100e0a
AS
20102001-09-28 Andreas Schwab <schwab@suse.de>
2011
2012 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2013 nocombreloc, in case -z combreloc is the default.
2014
a74b48cf
GM
20152001-09-28 Gerd Moellmann <gerd@gnu.org>
2016
2017 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2018 really going on here.
2019
09c4719e
SM
20202001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2021
2022 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2023
f7d5d963
EZ
20242001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2025
2026 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2027 utf-8, menu-bar, and latin-N.
2028 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2029 unconditionally now.
2030 (lisp): Add latin-N, since they are preloaded.
2031
9240e746
GM
20322001-09-27 Gerd Moellmann <gerd@gnu.org>
2033
14531065
GM
2034 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2035 to the left. Some cleanup.
2036
9240e746
GM
2037 * xdisp.c (display_mode_element): One more case where a string's
2038 multibyteness should be used for display.
2039
edd1e654
GM
20402001-09-26 Gerd Moellmann <gerd@gnu.org>
2041
b02439c8
GM
2042 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2043 reading at EOF.
2044
032906b1 2045 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2046 of the only temporarily set echoing flag for deciding when
032906b1
GM
2047 the cancel echoing.
2048
2049 * keyboard.c (echo_kboard): Make externally visible.
2050
2051 * lisp.h (echo_kboard): Declare extern.
2052
cb617e7c 2053 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2054 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2055 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2056 this round of redisplay if make_cursor_line_fully_visible fails.
2057 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2058 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2059
2060 * dispextern.h (required_matrix_width, required_matrix_height):
2061 Add prototypes.
2062
09c4719e
SM
2063 * dispnew.c (required_matrix_width, required_matrix_height):
2064 New functions.
cb617e7c 2065 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2066 (allocate_matrices_for_frame_redisplay: Use them.
2067 Remove parameters CH_DIM.
cb617e7c 2068
edd1e654
GM
2069 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2070 and selected_window to the frame of the window whose mode-lines
2071 are displayed, and to the window itself.
2072 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2073 here.
edd1e654 2074
924b604c
GM
20752001-09-25 Gerd Moellmann <gerd@gnu.org>
2076
daba7643
GM
2077 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2078 the image cache under us.
2079
b7a22712 2080 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2081 with a string value, use that string's multibyteness for displaying.
b7a22712 2082
ad648212
GM
2083 * keyboard.c (read_char): Don't clear a message for a switch-frame
2084 event. From Stefan Monnier <monnier@cs.yale.edu>.
2085
9f8531e5
GM
2086 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2087 version for after 21.1.
2088
2089 * xdisp.c (row_containing_pos): Make externally visible.
2090
2091 * dispextern.h (row_containing_pos): Add prototype.
2092
924b604c
GM
2093 * process.c (send_process): Disable composition if from_byte < 0.
2094 From Kenichi Handa <handa@etl.go.jp>.
2095
6f3f0db4
GM
20962001-09-24 Gerd Moellmann <gerd@gnu.org>
2097
c69c0ebc
GM
2098 * xterm.c (refreshicon): Function removed.
2099
d1182bc4
GM
2100 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2101
2102 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2103
2104 * xterm.c (toplevel): Remove includes in #if 0.
2105
6f3f0db4
GM
2106 * process.c (sigchld_handler) [LINUX]: Don't return from
2107 the signal handler at the end of the loop.
2108
59957f85
GM
21092001-09-21 Gerd Moellmann <gerd@gnu.org>
2110
09c4719e
SM
2111 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2112 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2113
a0528984
EZ
21142001-09-21 Markus Rost <rost@math.ohio-state.edu>
2115
2116 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2117
db92b288
GM
21182001-09-20 Gerd Moellmann <gerd@gnu.org>
2119
3fed8ad5
GM
2120 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2121 since this function can be called during GC.
2122
db92b288
GM
2123 * callproc.c (Fcall_process): Handle errors from pipe(2).
2124 (child_setup): Delete code in #ifdef vipc.
2125
7121b85a
GM
21262001-09-19 Gerd Moellmann <gerd@gnu.org>
2127
72f62cb5
GM
2128 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2129 (display_mode_element): Display the string from decode_mode_spec
2130 depending on its multibyteness.
2131
a2697022
GM
2132 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2133
7121b85a
GM
2134 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2135
bfc97351
GM
21362001-09-18 Gerd Moellmann <gerd@gnu.org>
2137
c9063433
GM
2138 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2139 recursive_edit_unwind.
2140 (recursive_edit_unwind): Set kboard state according to
2141 SINGLE-KBOARD.
2142
3fbdba3e
GM
2143 * buffer.c (modify_overlay): Don't do nothing if START == END;
2144 This can still be a modification, for example when an overlay has
2145 a before-string or after-string.
2146 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2147 an overlay with before-string or after-string.
2148
1270031d
GM
2149 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2150 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2151
bfc97351
GM
2152 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2153 first_unchanged_at_end_row is in front of
2154 last_unchanged_at_beg_row. This code should be removed after the
2155 release of 21.1.
2156
d8a973aa
GM
21572001-09-17 Gerd Moellmann <gerd@gnu.org>
2158
e18c8b8d
GM
2159 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2160 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2161
d8a973aa
GM
2162 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2163 versions >= 2.95.
2164
ed7d6ba4
EZ
21652001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2166
2167 * dired.c (Ffile_attributes): Doc fix.
2168
551629f9
GM
21692001-09-14 Gerd Moellmann <gerd@gnu.org>
2170
2171 * fileio.c (Ffile_symlink_p): Fix last change.
2172
2173 * filelock.c (current_lock_owner): Fix last change.
2174
4c8c7926
GM
21752001-09-13 Gerd Moellmann <gerd@gnu.org>
2176
620c4704
GM
2177 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2178 take that to mean that the buffer is too small.
2179
81c3310d
GM
2180 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2181 that to mean that the buffer is too small.
2182
06fd3792
GM
2183 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2184 current buffer's multibyteness when discarding the iterator's
2185 stack.
2186
4c8c7926
GM
2187 * xfns.c (Fx_window_property): Handle case that property gets
2188 deleted between the two calls to XGetWindowProperty.
2189
9a72e4c1
GM
21902001-09-11 Gerd Moellmann <gerd@gnu.org>
2191
bd819d14 2192 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2193
a41edd99
GM
2194 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2195 in addition to read-only.
2196
2197 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2198 to t in addition to read-only.
2199
2200 * lisp.h (Qinhibit_modification_hooks): Declare.
2201
2202 * insdel.c (Qinhibit_modification_hooks): New variable.
2203 (syms_of_insdel): Initialize and staticpro it.
2204
d4881c6a
GM
2205 * textprop.c (verify_interval_modification): Don't run
2206 modification-hooks if inhibit_modification_hooks.
2207
2208 * dispnew.c (set_window_cursor_after_update): Fix code
2209 finding glyph row containing cursor when cursor_in_echo_area
2210 is >= 0.
2211
9a72e4c1
GM
2212 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2213 (add_to_log): Use bcopy instead of strcpy.
2214 (init_from_display_pos): Use an explicit loop over bytes in
2215 overlay strings instead of calling index.
2216
f4a374a1
GM
22172001-09-10 Gerd Moellmann <gerd@gnu.org>
2218
300e57bd
GM
2219 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2220
2221 * dispnew.c (direct_output_for_insert): Don't change IT's
2222 stop_charpos to something in front of its current position.
2223
f4a374a1
GM
2224 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2225 `format'.
2226
7e4cbc91
RS
22272001-09-10 Richard M. Stallman <rms@gnu.org>
2228
2229 * frame.c (Fmouse_position): Doc fix.
2230
6afad91e
GM
22312001-09-07 Gerd Moellmann <gerd@gnu.org>
2232
2233 * xdisp.c (init_from_display_pos): Don't compare the result
2234 of calling index with NULL.
2235
f76e0368
GM
22362001-09-06 Gerd Moellmann <gerd@gnu.org>
2237
2238 * xfns.c (x_set_background_color): Don't change the colors
2239 of the X window of scroll bar widgets.
2240
9ead1b60
AI
22412001-09-05 Andrew Innes <andrewi@gnu.org>
2242
2243 * w32fns.c (w32_createwindow): Undo last change.
2244
c3b497b3
GM
22452001-09-05 Gerd Moellmann <gerd@gnu.org>
2246
08e1d6df
GM
2247 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2248
c3b497b3
GM
2249 * xdisp.c (string_buffer_position): Use *single_char_property*
2250 functions instead of the *single_property* functions.
b56ba8de 2251
8f860180
AI
22522001-09-04 Andrew Innes <andrewi@gnu.org>
2253
9a72e4c1
GM
2254 * w32term.c (w32_read_socket): Add more information to debugging
2255 output.
8f860180
AI
2256
2257 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2258 from Emacs frames, so that calls to GetClipBox in w32term.c
2259 correctly report when part of a frame is visible (including
2260 scrollbars, etc). This prevents repeated redrawing of frames when
2261 only a scrollbar is visible.
2262 (w32_wnd_proc): Add more frame information to debugging output.
2263
2ee1aa00
SM
22642001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2265
2266 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2267
e3b22517
GM
22682001-09-03 Gerd Moellmann <gerd@gnu.org>
2269
7e376260
GM
2270 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2271 help-echo for a string which doesn't have help-echo itself, use
2272 get-char-property to obtain the help-echo from the string's buffer
2273 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2274 have mouse-face, look ``under'' the string for mouse-face from an
2275 overlay.
2276 (fast_find_position): Add parameter STOP. In the final row, stop
2277 before glyphs having STOP as object. Don't consider glyphs that
2278 are not from a buffer.
2279
e3b22517
GM
2280 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2281
9a249bba
EZ
22822001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2283
2284 * fns.c (Fmd5): Doc fix.
2285
c9979669
GM
22862001-08-31 Gerd Moellmann <gerd@gnu.org>
2287
2288 * composite.c (update_compositions): Do nothing if
2289 inhibit-modification-hooks is set.
2290
9584e63a
GM
22912001-08-30 Gerd Moellmann <gerd@gnu.org>
2292
986ec8f2 2293 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2294 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2295 glyph matrices etc. in a core dump.
2296
92a25631
GM
2297 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2298 (syms_of_xdisp): Initialize them.
2299 (handle_single_display_prop): Don't change point, bind `object',
2300 `position', and `buffer-position' instead to the object having the
2ee1aa00 2301 `display' property, position in the object and position in the buffer.
92a25631 2302
9584e63a
GM
2303 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2304 of the buffer if REPLACE is non-nil.
2305
d38633a3
GM
23062001-08-29 Gerd Moellmann <gerd@gnu.org>
2307
2308 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2309
f4fccc1e
EZ
23102001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2311
2312 * w32term.c (x_set_glyph_string_background_width)
2313 (show_mouse_face): Track the last changes in xterm.c.
2314
eaaa65b0
GM
23152001-08-28 Gerd Moellmann <gerd@gnu.org>
2316
7b0870b2
GM
2317 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2318 string's background width so that multi-line mouse-face is drawn
2319 to the right edge of the window.
2320 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2321 glyphs.
2322
6b6e2422 2323 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2324 before inserting/writing glyphs.
6b6e2422 2325
eaaa65b0
GM
2326 * xdisp.c (display_mode_element): Use string_byte_to_char to
2327 determine character positions in strings, use chars_in_text
2328 instead of strwidth.
2329 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2330 a matrix as parameter; this is easier to use from GDB.
2331
9ad62cf8
MB
23322001-08-28 Miles Bader <miles@gnu.org>
2333
2ee1aa00
SM
2334 * textprop.c (Fprevious_single_char_property_change)
2335 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2336
32171635
GM
23372001-08-27 Gerd Moellmann <gerd@gnu.org>
2338
47d57b22
GM
2339 * fileio.c (Finsert_file_contents): Allocate, restore, and
2340 free composition data in the case of REPLACE not being nil.
2341
2342 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2343 there exist overlay strings with newlines at POS.
2344 (text_outside_line_unchanged_p): Return 0 if changes start at
2345 START and overlays exist at START. Likewise for END.
2346 (try_window_id): Give up if init_to_row_end returns 0.
2347
32171635
GM
2348 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2349 unconditionally.
2350
e1249666
GM
23512001-08-24 Gerd Moellmann <gerd@gnu.org>
2352
33954c45
GM
2353 * keymap.c (access_keymap): Return the cdr of the binding of
2354 a generic character instead of its definition (KEY . BINDING).
2355
e1249666
GM
2356 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2357 to 0 also in the REPLACE case.
2358
fb4c6c96
AC
23592001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2360
2361 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2362 open to determine whether file is readable (as for DOS_NT).
2363
59ecf80b
GM
23642001-08-23 Gerd Moellmann <gerd@gnu.org>
2365
2366 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2367 coding.type is coding_type_no_conversion or coding_type_raw_text,
2368 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2369 non-nil instead of just setting enable_multibyte_characters in the
2370 buffer to nil.
2371
40e33037
GM
23722001-08-22 Gerd Moellmann <gerd@gnu.org>
2373
374388c3
GM
2374 * dispextern.h (struct face_cache): Add member
2375 menu_face_changed_p.
2376
2377 * xfaces.c (menu_face_changed_default): New variable.
2378 (menu_face_changed_count): Variable removed.
2379 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2380 the menu_face_changed_default flag, otherwise set the FRAME's
2381 menu_face_changed_p flag if the `menu' face has been changed.
2382 Prevent calling set_font_frame_param if FRAME is t.
2383 (make_face_cache): Initialize cache's menu_face_changed_p
2384 from menu_face_changed_default.
2385 (realize_basic_faces): Look into the frame's face cache to
2386 determine if the menu appearance needs updating.
2387
40e33037
GM
2388 * keymap.c (access_keymap): Fix last change to not consider
2389 IDX when it has modifiers.
2390
859ea4b8
GM
23912001-08-21 Gerd Moellmann <gerd@gnu.org>
2392
2393 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2394 . BINDING) exists, where GENERIC-CHAR is the generic character of
2395 the charset of IDX, return BINDING unless there exists a binding
2396 for IDX itself.
2397
e8660d73
GM
23982001-08-16 Gerd Moellmann <gerd@gnu.org>
2399
cca1b1d7
GM
2400 * xrdb.c (SYSV): Don't define on Solaris 2.
2401 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2402
e8660d73 2403 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2404 of the screen line, not text line, containing IT's current position.
e8660d73 2405
93aba6fc
GM
24062001-08-15 Gerd Moellmann <gerd@gnu.org>
2407
288d4e06
GM
2408 * window.c (window_scroll_pixel_based): Don't recenter if
2409 PT is partially visible in the window.
2410
3452efc2
SM
2411 * xterm.c (expose_window_tree, expose_window, expose_line):
2412 Return 1 when overwriting mouse-face.
82f053ab
GM
2413 (expose_frame): If mouse-face was overwritten, redo it.
2414
93aba6fc
GM
2415 * xfaces.c (x_update_menu_appearance): Don't call
2416 set_frame_menubar, let the next redisplay do it.
2417
858a55c1
AI
24182001-08-14 Andrew Innes <andrewi@gnu.org>
2419
2420 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2421 drawing glyph string.
2422
3a990b67
EZ
24232001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2424
2425 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2426 running HI-UX/MPP.
2427
04386463
GM
24282001-08-14 Gerd Moellmann <gerd@gnu.org>
2429
2430 * xfaces.c (x_update_menu_appearance): Save and restore value of
2431 interrupt_input_blocked.
2432
3e6385a4
GM
24332001-08-13 Gerd Moellmann <gerd@gnu.org>
2434
b0e619b4
GM
2435 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2436 a line start, move back to the line start.
3452efc2 2437
0de73d5a
GM
2438 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2439 exactly when a mini-buffer is active.
2440
3e6385a4
GM
2441 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2442 in units of 1/8 character on non window-system frames.
2443 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2444
d1b5f629
EZ
24452001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2446
2447 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2448 a doc string.
2449
eaa2319f
GM
24502001-08-09 Gerd Moellmann <gerd@gnu.org>
2451
8e3189f0
GM
2452 * keyboard.c (Vpre_help_message): New variable.
2453 (syms_of_keyboard): Initialize and staticpro it.
2454 (show_help_echo): Record current message before displaying a
2455 help-echo, and restore that message when clearing the help.
2456
eaa2319f
GM
2457 * xfns.c (x_create_im): Remove prototype.
2458
2459 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2460
2461 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2462
eaa2319f
GM
24632001-08-08 Gerd Moellmann <gerd@gnu.org>
2464
2465 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2466 windows whose height has changed, disable partially visible lines.
eaa2319f 2467
17fdcfc8
GM
24682001-08-07 Gerd Moellmann <gerd@gnu.org>
2469
22d01aed 2470 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2471 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2472
17fdcfc8
GM
2473 * xdisp.c (start_display): Don't try to determine the continuation
2474 lines width if lines are truncated. It's superfluous and leads to
2475 incorrect results if POS is not visible in the window after
2476 reseating the iterator at the previous line start.
2477
8e3fe78e
GM
24782001-08-06 Gerd Moellmann <gerd@gnu.org>
2479
2480 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2481
98a8938c
GM
24822001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2483
2484 * alloc.c (init_stack): Remove declaration.
2485
18f9986a
GM
24862001-08-03 Gerd Moellmann <gerd@gnu.org>
2487
5e1f85e0
GM
2488 * keyboard.c (read_key_sequence): Check that key is an integer
2489 before comparing it with quit_char.
2490 (add_command_key): Use larger_vector.
2491 (read_char_x_menu_prompt): Instead of converting symbol and
2492 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2493 which cannot be confused with valid events.
5e1f85e0
GM
2494 (read_char): When reading from Vunread_command_events, check for
2495 events of the form (EVENT . disabled) instead of
2496 (EVENT . nil).
2497
18f9986a
GM
2498 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2499 a float, determine the max height from the frame's height.
2500
fbc7f2a6
GM
25012001-08-02 Gerd Moellmann <gerd@gnu.org>
2502
2503 * xdisp.c (redisplay_internal): Take message_cleared_p into
2504 account only if minibuf_level == 0.
2505
81b1a79d
GM
25062001-08-01 Gerd Moellmann <gerd@gnu.org>
2507
e5c60873
GM
2508 * xdisp.c (redisplay_internal): Add a check for the last
2509 displayed message.
3452efc2 2510
6e019995
GM
2511 * xdisp.c (message_cleared_p): New variable.
2512 (clear_message): Set message_cleared_p when clearing the current
2513 message.
2514 (redisplay_internal): Look at message_cleared_p to capture
2515 the case that the echo area should be cleared.
2516
308a74d8
GM
2517 * keyboard.c (command_loop_1): Fix spelling of
2518 resize_echo_area_exactly.
2519
3452efc2 2520 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2521
2522 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2523
81b1a79d
GM
2524 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2525 current matrix when the window gets smaller.
2526
ada329e6
EZ
25272001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2528
2529 * print.c (strout): Cast the character passed to insert_char to
2530 unsigned char, to avoid sign extension when it is promoted to int.
2531
ed86208c
GM
25322001-07-31 Gerd Moellmann <gerd@gnu.org>
2533
2534 * fileio.c (Finsert_file_contents): Don't treat a return value
2535 of 0 from emacs_read as an IO error.
2536
6594ac22
GM
25372001-07-30 Gerd Moellmann <gerd@gnu.org>
2538
cef68af5
GM
2539 * keyboard.c (abs): New macro.
2540 (double_click_fuzz): New variable.
2541 (make_lispy_event): Use it to determine what makes a double-click.
2542 (syms_of_keyboard): DEFVAR_INT it.
2543
6594ac22
GM
2544 * xmenu.c (set_frame_menubar): Take into account that
2545 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2546 <raeburn@gnu.org>.
2547
75c5350a
GM
25482001-07-27 Gerd Moellmann <gerd@gnu.org>
2549
2550 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2551
2552 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2553 of row's visible height.
2554
2555 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2556 deal with the first overlay string having an image `display' property.
2557 (try_window_reusing_current_matrix, compute_line_metrics):
2558 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2559 row is invisible above and part of the row is at the same time
2560 invisible below the window.
2561
ac49effe
GM
25622001-07-26 Gerd Moellmann <gerd@gnu.org>
2563
2564 * xfns.c (x-show-tip): Doc fix.
3452efc2 2565
ac49effe
GM
2566 * xfns.c (Vx_max_tooltip_size): New variable.
2567 (syms_of_xfns): DEFVAR_LISP it.
2568 (Fx_show_tip): Set frame's window_width to the width of the
2569 window. Use a maximum tooltip size specified by
2570 Vx_max_tooltip_size, if that has valid contents.
2571 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2572
8c3b00cb
AI
25732001-07-26 Andrew Innes <andrewi@gnu.org>
2574
2575 * w32term.c (x_display_list): New variable.
2576 (w32_term_init): Set it.
2577
2578 * w32term.h (x_display_list): New extern.
2579
16098288
GM
25802001-07-26 Gerd Moellmann <gerd@gnu.org>
2581
2582 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2583 is non-nil, instead of when redisplaying_p is non-zero.
2584 See comment there.
16098288
GM
2585 (mark_window_display_accurate_1): Add an assertion.
2586
64c5be50
GM
25872001-07-25 Gerd Moellmann <gerd@gnu.org>
2588
e743f599
GM
2589 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2590
563b384d
GM
2591 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2592 events so that we get a chance of processing expose events.
2593
64c5be50
GM
2594 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2595
296808a5
GM
25962001-07-24 Gerd Moellmann <gerd@gnu.org>
2597
2598 * xfns.c (valid_image_p): Protect better against invalid image
2599 specifications. Previous code could signal an error.
2600
5247262a
GM
26012001-07-23 Gerd Moellmann <gerd@gnu.org>
2602
3452efc2 2603 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2604 presence of display table entries.
2605 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2606
dd42b31a
GM
2607 * dispnew.c (adjust_glyph_matrix): In the optimization for
2608 windows whose height has changed, use the new window height
2609 to compute which rows to invalidate.
2610
9e5a7f2a
GM
2611 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2612 (MAX_10_EXP): New macro.
2613 (Fformat): Use it.
2614
5247262a
GM
2615 * coding.c (code_convert_region): Handle the multibyte case if
2616 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2617
177ab8ce
GM
26182001-07-20 Gerd Moellmann <gerd@gnu.org>
2619
6e07c0a5
GM
2620 * dispextern.h (struct face): Change type of `stipple' to
2621 int; it's an ID.
2622
177ab8ce
GM
2623 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2624
b5b80599
GM
26252001-07-19 Gerd Moellmann <gerd@gnu.org>
2626
4e2a256b
GM
2627 * dispnew.c (update_window): Don't set the cursor at the end
2628 of the update if display update has been paused.
2629
3452efc2 2630 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2631
c1fd9232
KR
26322001-07-18 Ken Raeburn <raeburn@gnu.org>
2633
2634 * fns.c (Fset_char_table_default): Check that a charset is defined
2635 before checking its dimension.
2636
928a85c1
KR
26372001-07-17 Ken Raeburn <raeburn@gnu.org>
2638
2639 * coding.c (setup_coding_system): Don't do any designation based
2640 on reg_bits if charset is not yet defined.
2641
fb4c6c96 2642 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2643 pointer, using eassert.
2644
de11c1ea
GM
26452001-07-17 Gerd Moellmann <gerd@gnu.org>
2646
3452efc2
SM
2647 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2648 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2649
467f1209
GM
26502001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2651
2652 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2653
c3d6be34
GM
26542001-07-16 Gerd Moellmann <gerd@gnu.org>
2655
c1d61a7d
GM
2656 * fileio.c (unwind_read): Function removed.
2657 (read_non_regular, read_non_regular_quit): New functions.
2658 (Finsert_file_contents): When reading from non-regular files,
2659 arrange to catch a `quit' and terminate the loop. Rearrange
2660 code so that a `quit' when reading from a regular file doesn't
2661 insert text in the buffer.
2662
c3d6be34
GM
2663 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2664 Clear faces afterwards.
2665 (clear_font_table): Take a x_display_info parameter. Don't free
2666 fonts being the default font of any frame on the given display.
2667
e06aa1f9
GM
26682001-07-13 Gerd Moellmann <gerd@gnu.org>
2669
2670 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2671 instead of CHAR_STRING which can signal an error.
2672
2673 * charset.c (char_to_string_1): Extracted from char_to_string.
2674 Return -1 instead of signaling an error.
2675 (char_to_string): Use it.
2676
2677 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2678
176c92e6
SM
26792001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2680
2681 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2682 is t, don't try to append anything to it.
2683
1c56232f
EZ
26842001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2685
2686 * dired.c (file_name_completion): Pass dp->d_name to
2687 Fstring_match, not elt, which is always nil here.
2688
1d2b2268
GM
26892001-07-12 Gerd Moellmann <gerd@gnu.org>
2690
2691 * xselect.c (x_decline_selection_request): Handle errors
2692 caused by receivers that have vanished.
2693
2694 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2695 ignoring events on foreign windows in #if 0. Always dispatch
2696 the event after checking it with x_handle_property_notify.
2697
2698 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2699 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2700 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2701 (toplevel): Add prototypes for file-local functions.
2702 (x_atom_to_symbol): Remove DPYINFO parameter.
2703
fe5a0162
SM
27042001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2705
2706 * w32menu.c (menubar_selection_callback, w32_menu_show):
2707 Initialize `entry' to nil.
2708 (w32_dialog_show): Remove unused `save_wv' variable.
2709 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2710
a777242c
GM
27112001-07-11 Gerd Moellmann <gerd@gnu.org>
2712
8ee5b6a3
GM
2713 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2714
d0e2444e
GM
2715 * fileio.c (unwind_read): Print a message when discarding inserted
2716 text or switching the buffer to unibyte. Change parameter.
2717 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2718
a777242c
GM
2719 * fileio.c (unwind_read): New function.
2720 (Finsert_file_contents): Record it as unwind-function for
2721 the case that reading is interrupted by C-g.
2722
ae794295
GM
27232001-07-10 Gerd Moellmann <gerd@gnu.org>
2724
fe5a0162 2725 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2726 update when scrolling_window returns 0.
2727
6b05fae3
GM
2728 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2729
2730 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2731 for the case that x_decode_color signals an error.
6b05fae3 2732
ae794295
GM
2733 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2734
bb6e8cee
GM
27352001-07-09 Gerd Moellmann <gerd@gnu.org>
2736
2737 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2738 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2739 around ioctls.
2740
36b40a8a
EZ
27412001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2742
24b97d4b
EZ
2743 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2744 doc string line for dos-timezone-offset.
2745
36b40a8a
EZ
2746 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2747 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2748 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2749 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2750
2751 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2752
0967b4b0
GM
27532001-07-05 Gerd Moellmann <gerd@gnu.org>
2754
f25cfe53
GM
2755 * sound.c: Include Emacs' header files with #include "...".
2756
0967b4b0
GM
2757 * eval.c (specbind): Additionally record the buffer that was
2758 current when a buffer-local or frame-local variable was bound.
2759
c347a1c3
GM
27602001-07-04 Gerd Moellmann <gerd@gnu.org>
2761
2762 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2763 to unibyte characters in unibyte buffers.
2764
6332ca8a
GM
27652001-07-03 Gerd Moellmann <gerd@gnu.org>
2766
38472d44
GM
2767 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2768 the frame on the binding stack. Change format of entries for
2769 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2770 (unbind_to): Handle unbinding a frame-local variable.
2771
6332ca8a 2772 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2773 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2774 (dump_glyph_row): Print row's continuation_lines_width.
2775 (try_window_id): Take the shortcut if ZV is visible in the
2776 window, but there are actually no changes at ZV.
2777
63d1b174
GM
27782001-07-02 Gerd Moellmann <gerd@gnu.org>
2779
4c175203
GM
2780 * xterm.h (x_free_dpy_colors): Add prototype.
2781
2782 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2783 right number of arguments.
2784
0b54ce28
GM
2785 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2786 ($(lwlibdir)TAGS): New target.
4c175203 2787 (TAGS): Fix dependency list.
0b54ce28 2788
63d1b174
GM
2789 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2790 with input blocked.
2791
d827466c
GM
27922001-06-30 Gerd Moellmann <gerd@gnu.org>
2793
2794 * emacs.c (main): Remove extern declaration for sys_nerr, which
2795 isn't used and causes a compilation error with GCC 3.0 on
2796 FreeBSD 4.3.
2797
b5cb1ada
GM
27982001-06-27 Gerd Moellmann <gerd@gnu.org>
2799
a5d3ec3f 2800 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2801 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2802 (toplevel): Include <signal.h> and syssignal.h.
2803
b5cb1ada
GM
2804 * sound.c (vox_configure, vox_close): Turn off atimers
2805 around ioctls.
2806
d9bad487
GM
28072001-06-26 Gerd Moellmann <gerd@gnu.org>
2808
fdbb67fe
GM
2809 * keyboard.c (read_char) <non_reread>: Record the previous idle
2810 start time before calling timer_stop_idle.
2811 (read_char) <reread_first>: After processing a help-echo event,
2812 restore the previous idle start time.
2813
d9bad487
GM
2814 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2815 the start of invisible text.
2816 (setup_for_ellipsis): New function.
2817 (next_overlay_string): After all overlay strings have been
2818 processed, display an ellipsis if necessary.
2819 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2820 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2821
2822 * dispextern.h (struct iterator_stack_entry): Add member
2823 display_ellipsis_p.
2824
2b9c25e0
GM
28252001-06-25 Gerd Moellmann <gerd@gnu.org>
2826
80de57df
GM
2827 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2828 on the value of the wait-for-wm frame parameter.
2829
2830 * xterm.h (struct x_output): Add member wait_for_wm.
2831
2832 * xfns.c (Qwait_for_wm): New variable.
2833 (x_frame_parms): Add entry for `wait-for-wm".
2834 (x_set_wait_for_wm): New function.
2835 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2836 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2837
2b9c25e0
GM
2838 * xdisp.c (try_window_id) <all changes below window end>: Don't
2839 take this shortcut if ZV is visible in the window.
2840 (try_window_id): When checking for window start being in changed
2841 text, don't check that the buffer's size has changed.
2842
f772775c
RS
28432001-06-23 Richard M. Stallman <rms@gnu.org>
2844
2845 * minibuf.c (Fcompleting_read): Doc fix.
2846
fa9090b8
GM
28472001-06-19 Gerd Moellmann <gerd@gnu.org>
2848
2849 * composite.c (Ffind_composition_internal): Accept ZV
2850 and a string's end position as POS.
2851
f6f1beba
GM
28522001-06-18 Gerd Moellmann <gerd@gnu.org>
2853
2854 * composite.c (Ffind_composition_internal): Check POS
2855 for validity.
2856
0ae83348
EZ
28572001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2858
2859 * editfns.c (Fmessage_box): If the frame is not under a window
2860 system, output the message in the echo area.
2861
e4cdc335
RS
28622001-06-14 Richard M. Stallman <rms@gnu.org>
2863
2864 * xdisp.c (try_window_id): When EOB is visible, don't treat
2865 insertion at EOB as if it were "off the bottom of the screen."
2866
a55a5f3c
AI
28672001-06-11 Andrew Innes <andrewi@gnu.org>
2868
2869 * w32proc.c (create_child): Add new parameter is_gui_app.
2870 (w32_executable_type): Add new parameter is_gui_app.
2871 (sys_spawnve): Use it.
2872 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2873 SIGQUIT. This matches better how the signals are interpreted by
2874 MSVC compiled programs.
2875 (syms_of_ntproc): Update docstring.
2876
1b85dc1c
SM
28772001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2878
2879 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2880 well otherwise note_mouse_highlight might optimize away highlighting
2881 if we pass over that same overlay again.
2882
b75f8eab
EZ
28832001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2884
2885 * lread.c (Fload): Document that the argument is run via
2886 substitute-in-file-name.
2887
94843cc1
GM
28882001-05-31 Gerd Moellmann <gerd@gnu.org>
2889
b14659e6
GM
2890 * Makefile.in (bootstrap-doc): New target.
2891 (bootstrap-emacs): Depend on it.
2892
0894672f
GM
2893 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2894 auto-save-list-file-name when shutting down Emacs, because
2895 creating the directory might signal an error, and leaves
2896 Emacs in a strange state.
2897
94843cc1
GM
2898 * term.c: (tty_cursor_hidden): New variable.
2899 (update_begin): Don't call tty_hide_cursor. Clean up.
2900 (update_end, set_terminal_window, set_scroll_region): Clean up.
2901 (ring_bell, reset_terminal_modes): Clean up.
2902 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2903 on tty_cursor_hidden.
2904 (write_glyphs): Call tty_hide_cursor.
2905
db3a49a6
SM
29062001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2907
2908 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2909
8bd189fb
GM
29102001-05-30 Gerd Moellmann <gerd@gnu.org>
2911
6f1be3b9
GM
2912 * xfns.c (enum image_value_type): New enumerator
2913 IMAGE_STRING_OR_NIL_VALUE.
2914 (parse_image_spec): Handle it.
2915 (xbm_format, pbm_format): Use it for :foreground and :background.
2916 (xbm_load, pbm_load): Check for nil color names.
2917
8bd189fb
GM
2918 * xterm.c (note_mouse_highlight): If an overlapping overlay
2919 exists, but we find that we highlight the same overlay as before,
2920 don't do the highlighting again.
2921
7bdba03c
GM
29222001-05-29 Gerd Moellmann <gerd@gnu.org>
2923
4c329aa8
GM
2924 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2925 Protect unibyte strings created by replacing their multibyte
2926 equivalents in menu_items.
2927
e15e2828
GM
2928 * keymap.c (Fsingle_key_description): NUL-terminate the string
2929 buffer before calling build_string.
2930
7bdba03c
GM
2931 * callproc.c (Fcall_process): Deal with decode_coding returning
2932 CODING_FINISH_INCONSISTENT_EOL.
2933
89c8dc6c
GM
29342001-05-28 Gerd Moellmann <gerd@gnu.org>
2935
db3a49a6 2936 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2937 an item's name with its key description in case the description
2938 is a multibyte string.
2939
2940 * keymap.c (Fsingle_key_description): Create a multibyte string
2941 only if necessary.
2942
eb04d6cd
GM
2943 * macros.c (Fstart_kbd_macro): Doc fix.
2944
8bd6307f
GM
2945 * xterm.c (cursor_in_mouse_face_p): New function.
2946 (x_draw_stretch_glyph_string): Use it to choose a different GC
2947 when drawing a cursor within highlighted text.
2948
e26c4089
GM
2949 * editfns.c (char_property_eq): Put in #if 0.
2950
2951 * indent.c (string_display_width): Put in #if 0.
2952
2953 * lread.c (Fload): Remove unused label.
2954
89c8dc6c
GM
2955 * termcap.c (speeds): Put in #if 0.
2956
9a1211f2
GM
29572001-05-18 Gerd Moellmann <gerd@gnu.org>
2958
29148a3f
GM
2959 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2960
9a1211f2
GM
2961 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2962 transformation matrix by 10.
2963
09393d07
GM
29642001-05-16 Gerd Moellmann <gerd@gnu.org>
2965
2966 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2967 only if it's equal to the former foreground pixel color.
db3a49a6 2968 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2969 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2970
460e6bae
GM
29712001-05-16 Dave Love <fx@gnu.org>
2972
2973 * insdel.c (signal_before_change, signal_after_change): Consider a
2974 local change hook which changes the buffer.
99c78ce8
GM
2975
2976 * process.c (read_process_output): Don't call signal_after_change
2977 and update_compositions after insert_from_string_before_markers.
2978
dbcf3c03
GM
29792001-05-16 Gerd Moellmann <gerd@gnu.org>
2980
a90b3d3c
GM
2981 * xfaces.c (split_font_name): Use the right field when
2982 checking for `[...]' syntax.
2983
1b7818b4
GM
2984 * buffer.c (copy_overlays): New function.
2985 (clone_per_buffer_values): Use it.
2986
2987 * buffer.h (OVERLAY_PLIST): New macro.
2988
9bae8781
GM
2989 * keymap.c (Fsingle_key_description): Replace a build_string with
2990 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2991
dbcf3c03
GM
2992 * fontset.c (Ffontset_info): Check that face is non-null
2993 before accessing its fields.
2994
8a1ae4dd
GM
29952001-05-15 Gerd Moellmann <gerd@gnu.org>
2996
18a0a39e
GM
2997 * keyboard.c (read_key_sequence): Prevent generating a fake
2998 prefix key twice.
2999
e335b66a
GM
3000 * xfaces.c (split_font_name): Handle `[...]' for the right
3001 font name fields.
3002
8a1ae4dd
GM
3003 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3004 of CCL_STAT_INVALID_CMD.
3005
3cf80731
SM
30062001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3007
33568849
SM
3008 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3009 in <var> has no default value yet.
3010
3cf80731
SM
3011 * xfaces.c (try_alternative_families): First try the FAMILY.
3012 And if nothing is found in the end, try again with scalable fonts.
3013 (try_font_list): Let try_alternative_families do a bit more of
3014 the work. Only use FAMILY if it is not nil.
3015 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3016
933b0249
GM
30172001-05-14 Gerd Moellmann <gerd@gnu.org>
3018
58e5af83
GM
3019 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3020 pointer shape when show_mouse_face has already done it.
33568849 3021
58e5af83 3022 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3023 full-width rows.
3024
7b16a6bf
GM
3025 * xfaces.c (split_font_name): Make sure to leave the loop
3026 with the right value of `i'.
3cf80731 3027
933b0249
GM
3028 * xfaces.c (split_font_name): Handle matrix transformations
3029 in the pixel and point size fields of XLFD font names.
3030 (xlfd_point_size): Likewise.
3031
dddcbf00
EZ
30322001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3033
3cf80731 3034 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3035 (x_to_w32_font): Add prototype.
3036
7689ef0b
EZ
3037 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3038 redefining, to avoid compiler warnings.
3039
e7c15bba
EZ
3040 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3041
dddcbf00
EZ
3042 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3043 (w32_get_bdf_glyph): Cast between unsigned char and char when
3044 passing arguments to subroutines, to shut up compiler warnings.
3045 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3046 GET_HEX_VAL.
3047
3048 * xfaces.c: Include keyboard.h before frame.h, not after it.
3049
3050 * widget.c: Include keyboard.h before frame.h.
3051
3052 * w32term.h (struct image, struct face): Forward declaration, to
3053 avoid compiler warnings.
3054
7bd2d083
GM
30552001-05-11 Gerd Moellmann <gerd@gnu.org>
3056
47e72862
GM
3057 * keyboard.c (read_key_sequence): Don't modify events when
3058 generating fake prefix keys (mode-line, scroll-bar, ...) since
3059 this prevents proper processing of such events when pushed back
3060 into unread-command-events.
3061
dd5f324b
GM
3062 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3063 actually redrawn. Make the function static.
3064 (note_mouse_highlight): Fix a case where the mouse cursor
3065 was changed back to the text cursor.
3066
3067 * xterm.h (clear_mouse_face): Remove prototype.
3068
d88a79d4
GM
3069 * xdisp.c (try_window_id): Fix the fix and set the right
3070 window_end_vpos.
3071
3072 * xdisp.c (try_window_id): Fix computation of window end in the
3073 case that lines were deleted at the end of the window. Add some
3074 more debug_method_adds.
0416532f 3075
7bd2d083
GM
3076 * xfaces.c (try_alternative_families): New function.
3077 (try_font_list): Use it. If ATTRS specifies a family, check
3078 fonts from that family first.
3079 (choose_face_font): Remove code setting the family part of
3080 the pattern to nil.
3081
23fca891
GM
30822001-05-10 Gerd Moellmann <gerd@gnu.org>
3083
ff9aa2ca
GM
3084 * xdisp.c (try_window_id): Fix case of all changes before
3085 the window start.
7b2654b5 3086
23fca891
GM
3087 * xdisp.c (try_window_id): Add some xasserts.
3088
e9726794
GM
30892001-05-09 Gerd Moellmann <gerd@gnu.org>
3090
3091 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3092
9e53a675
GM
30932001-05-09 Dave Love <fx@gnu.org>
3094
3095 * xdisp.c (GIVE_UP): Fix for K&R C.
3096
0d487c52
GM
30972001-05-09 Gerd Moellmann <gerd@gnu.org>
3098
fe88d421
GM
3099 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3100
0d487c52
GM
3101 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3102 back to the text cursor shape without need.
3103
1e9fc92e
GM
31042001-05-07 Gerd Moellmann <gerd@gnu.org>
3105
a2a6232e
GM
3106 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3107
3108 * dispextern.h (inverse_video): Declare extern.
3109
1e9fc92e
GM
3110 * keyboard.c (delete_kboard): Handle the case that selected_frame
3111 has been deleted in the course of x_connection_closed.
3112
12949a7f
EZ
31132001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3114
7b2654b5
SM
3115 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3116 Fix the change from 2001-04-30.
12949a7f 3117
2fa2f461
GM
31182001-05-03 Gerd Moellmann <gerd@gnu.org>
3119
a779d213
GM
3120 * xfns.c (file_dialog_unmap_cb): New function.
3121 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3122 where a dialog is closed via the window manager.
3123
7b2654b5 3124 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3125 the window start or all below the window end mostly rewritten.
3126 (redisplay_window): Move the tests if try_window_id is
3127 applicable to try_window_id.
3128 (GIVE_UP): New macro.
3129
3356df63
GM
31302001-05-02 Gerd Moellmann <gerd@gnu.org>
3131
a39202f6 3132 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3133 currently being updated, mark the frame garbaged.
3134 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3135 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3136
3356df63
GM
3137 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3138 again if it has already been drawn.
3139
a9d2fd1d
SM
31402001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3141
3142 * syntax.c (update_syntax_table): Check that oldi has the same
3143 properties as old_prop before deciding not to invalidate.
3144
c95fc5f1
GM
31452001-04-30 Gerd Moellmann <gerd@gnu.org>
3146
a9793e45
GM
3147 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3148 read-only text that is so because of text properties.
3149
c95fc5f1 3150 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3151 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3152 windows that are components of a Lucid menu bar.
3153
5a5d9185
GM
31542001-04-27 Gerd Moellmann <gerd@gnu.org>
3155
3156 * term.c (turn_on_face): Fix reverse video handling on terminals
3157 that don't support colors.
3158
ba973f7a
GM
31592001-04-26 Gerd Moellmann <gerd@gnu.org>
3160
3161 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3162 a non-buffer.
3163
8c56a983
GM
31642001-04-25 Gerd Moellmann <gerd@gnu.org>
3165
a728644c
GM
3166 * term.c (toggle_highlight): New function.
3167 (turn_on_face): Change handling of reverse video.
3168
7b2654b5
SM
3169 * process.c (wait_reading_process_input):
3170 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3171
bfd8410f
GM
3172 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3173 of the number of overlays to check.
3174
be2488ca
GM
3175 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3176
8c56a983
GM
3177 * xdisp.c (try_window_id): Fix a case where window_end_pos
3178 and window_end_bytepos were not adjusted.
3179
522d42f7
GM
31802001-04-23 Gerd Moellmann <gerd@gnu.org>
3181
3182 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3183 zero instead of -1.
3184
78c1afb6
EZ
31852001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3186
a9d2fd1d
SM
3187 * process.c (wait_reading_process_input) [!subprocesses]:
3188 Don't reference waiting_for_user_input_p, it's not defined in the
3189 branch without async subprocesses support.
78c1afb6 3190
a2fab450
GM
31912001-04-19 Gerd Moellmann <gerd@gnu.org>
3192
a122a38e
GM
3193 * keyboard.c (delete_kboard): Prevent a dangling reference
3194 from current_kboard to KB, which is freed.
3195
a9d2fd1d
SM
3196 * process.c (wait_reading_process_input):
3197 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3198 read_key_sequence aware of buffer changes from under it.
3199
0f8d6dc7
GM
32002001-04-18 Gerd Moellmann <gerd@gnu.org>
3201
eeffb293
GM
3202 * xfaces.c (Qscalable_fonts_allowed): New variable.
3203 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3204 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3205 removed.
eeffb293 3206 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3207 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3208 for scalable-fonts-allowed to t.
eeffb293 3209
0f8d6dc7
GM
3210 * fileio.c (Finsert_file_contents): If the file size returned from
3211 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3212 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3213
eec2d1de
EZ
32142001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3215
3216 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3217 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3218 (__memalign_hook): Make the two prototypes consistent.
3219
f4f480bd
GM
32202001-04-17 Gerd Moellmann <gerd@gnu.org>
3221
3222 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3223 matrix of mini-windows.
3224
52283633
SM
32252001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3226
3227 * intervals.c (find_interval): Don't rebalance during signal handling.
3228
ec2423c9
GM
32292001-04-11 Gerd Moellmann <gerd@gnu.org>
3230
30cb0001 3231 * fns.c: Include blockinput.h.
52283633 3232
ec2423c9
GM
3233 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3234
719d83ad
GM
32352001-04-10 Gerd Moellmann <gerd@gnu.org>
3236
60f8d735
GM
3237 * fns.c (Fcompare_strings): Fix return values.
3238
afffeb57
GM
3239 * window.c (window_scroll): Change the meaning of N to mean
3240 N screen-fulls or N lines.
3241 (window_scroll_pixel_based, window_scroll_line_based)
3242 (scroll_command, Fscroll_other_window): Change accordingly.
3243
52283633
SM
3244 * window.c (window_scroll_pixel_based, Frecenter):
3245 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3246 height of the window.
3247
3248 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3249 instead of using it.last_visible_y for the height of the window.
52283633 3250
719d83ad 3251 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3252 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3253
3254 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3255 able to write to hidden and system files. From Dan Holmsand
3256 <dan@eyebee.com>.
719d83ad 3257
8ddf3ee1
GM
3258 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3259 Holmsand <dan@eyebee.com>.
719d83ad 3260
522ed7fb
GM
32612001-04-09 Gerd Moellmann <gerd@gnu.org>
3262
9170e5d4
GM
3263 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3264
522ed7fb
GM
3265 * window.c (window_internal_height): Return 1 less if the
3266 window has a header line.
3267
3268 * xdisp.c (try_window_id): When scrolling on a terminal, take
3269 the change of window_internal_height into account.
3270
ceeb3d7d
EZ
32712001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3272
3273 * gmalloc.c (align): If the argument SIZE would overflow
3274 __malloc_ptrdiff_t, fail right away.
3275
63685b9d
GM
32762001-04-06 Gerd Moellmann <gerd@gnu.org>
3277
3278 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3279 Make sure the tooltip is completely visible.
3280 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3281
3282 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3283
3284 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3285
3ffb33bb
DL
32862001-04-06 Dave Love <fx@gnu.org>
3287
52283633
SM
3288 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3289 Fix test of `from'.
3ffb33bb 3290
869fb12c
GM
32912001-04-06 Gerd Moellmann <gerd@gnu.org>
3292
52283633 3293 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3294
869fb12c
GM
3295 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3296
441bf856
GM
32972001-04-05 Gerd Moellmann <gerd@gnu.org>
3298
4d664b04
GM
3299 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3300
52283633 3301 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3302
30ca89f5
GM
3303 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3304 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3305
3306 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3307 shell widget's position only if it is non-null.
3308
52283633
SM
3309 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3310 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3311
81a81c0f
GM
3312 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3313 FILENAME to bring it in synch with the documentation.
3314
441bf856
GM
3315 * xfaces.c (realizing_basic_faces_p): Renamed from
3316 realize_default_face_p.
3317 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3318 (realize_default_face): Don't set the flag.
3319
702a1e8e
GM
33202001-04-04 Gerd Moellmann <gerd@gnu.org>
3321
1013f4e3
GM
3322 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3323
52283633
SM
3324 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3325
1013f4e3
GM
3326 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3327 the buffer that was used for echoing.
3328
702a1e8e
GM
3329 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3330 (first_font_matching): Removed unused function.
3331 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3332 (may_use_scalable_font_p): Remove parameter FONT; rename
3333 parameter NAME to FONT.
3334 (x_face_list_fonts): Fix missing bounds check.
3335 (realizing_default_face_p): New variable.
3336 (realize_default_face): Set and clear that flag.
3337 (x_face_list_fonts): When called during the realization of the
3338 default face, and no matching fonts are found when ignoring
3339 scalable fonts and fonts matching a regexp from
3340 face-ignored-fonts, try without ignoring fonts.
3341
f9dbcda4
GM
33422001-04-03 Gerd Moellmann <gerd@gnu.org>
3343
ad18ffb1
GM
3344 * xfns.c (postprocess_image): New function.
3345 (lookup_image): Call it for all image types except PostScript.
3346 (x_kill_gs_process): Call postprocess_image.
3347
f9dbcda4
GM
3348 * xterm.c (x_use_underline_position_properties): New variable.
3349 (x_draw_glyph_string): Use it.
3350 (syms_of_xterm): DEFVAR_BOOL it.
3351
651f03b6
GM
33522001-04-02 Gerd Moellmann <gerd@gnu.org>
3353
3354 * xterm.c (x_alloc_nearest_color_1): New function.
3355 (x_alloc_nearest_color): Use it.
3356 (x_color_cells): Take a Display as argument, instead of a frame.
3357 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3358 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3359 (x_initialize): Register cvt_string_to_pixel as resource converter
3360 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3361
73d75a62
GM
33622001-03-30 Gerd Moellmann <gerd@gnu.org>
3363
b2046df8
GM
3364 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3365 (set_iterator_to_next): If a string from a display property ends,
3366 consider the case that this might also be the end of an
3367 overlay string having the display property.
3368
52283633 3369 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3370
87d8eba4
GM
3371 * xdisp.c (reseat_to_string): Undo last change.
3372
73d75a62
GM
3373 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3374 matrix of a window when the header line changes, when
3375 new rows are allocated, or when the width changes.
3376
911a2406
EZ
33772001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3378
52283633 3379 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3380
aea51abe
EZ
33812001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3382
3383 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3384 deprecated.
3385
176bc847
GM
33862001-03-29 Gerd Moellmann <gerd@gnu.org>
3387
ed31fabf
GM
3388 * data.c (Fsubr_interactive_form): New function.
3389 (syms_of_data): Defsubr it.
3390
176bc847
GM
3391 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3392 (live_float_p, live_misc_p): Return 1 only if the offset of the
3393 pointer in its block is >= 0.
3394
e59d0e9d
GM
33952001-03-28 Paul Eggert <eggert@twinsun.com>
3396
3397 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3398 microseconds calcuation. Avoid double-rounding problem.
3399 In doc string, warn that the result is approximate.
3400
f827b862
GM
34012001-03-28 Gerd Moellmann <gerd@gnu.org>
3402
30a3f61c
GM
3403 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3404 bind `inhibit-eval-during-redisplay' to t.
3405
3406 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3407
3408 * xdisp.c (inhibit_eval_during_redisplay)
3409 (Qinhibit_eval_during_redisplay): New variables.
3410 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3411 don't eval, return nil instead.
3412 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3413 Initialize Qinhibit_eval_during_redisplay.
3414
e719f5ae
GM
3415 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3416 the iterator's multibyte_p flag.
3417
deb2613a
GM
3418 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3419 instead of setting it to zero; it's incremented for each frame
3420 where the menu face is changed.
3421
52283633
SM
3422 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3423 change bottom shadow accordingly.
3424
3425 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3426 intersections here.
3427 (expose_window): Do it here instead.
52283633 3428 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3429
f827b862
GM
3430 * bytecode.c (BYTE_CODE_QUIT): New macro.
3431 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3432
4bde0ebb
GM
34332001-03-27 Gerd Moellmann <gerd@gnu.org>
3434
607ec83c
GM
3435 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3436 Give up if matrix starts in an ellipsis.
3437 (init_from_display_pos): Do nothing if POS doesn't specify
3438 a dpvec_index but the iterator has such a position.
3439
0245398f
GM
3440 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3441
aba25348
GM
3442 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3443 x/y position is (0, 0) after destroying the menu bar, restore
3444 its original position.
3445
4bde0ebb
GM
3446 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3447 (init_from_display_pos): Use it.
3448 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3449
8cdb267e
GM
34502001-03-26 Gerd Moellmann <gerd@gnu.org>
3451
3452 * xdisp.c (try_window_id): Undo last change.
3453
9948db79
EZ
34542001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3455
3456 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3457
3458 * buffer.c (syms_of_buffer): Doc fix.
3459
2eddf899
GM
34602001-03-26 Gerd Moellmann <gerd@gnu.org>
3461
3462 * xfaces.c (x_update_menu_appearance): Use local variable
3463 popup_path for setting font resources.
3464
6c145d35
EZ
34652001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3466
6a65b1b5
EZ
3467 * frame.c (Fframe_list): Don't reference tip_frame if
3468 HAVE_WINDOW_SYSTEM is not defined.
3469
6c145d35
EZ
3470 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3471 <wl@gnu.org>.
3472
d74c1900
GM
34732001-03-25 Gerd Moellmann <gerd@gnu.org>
3474
20fbd925
GM
3475 * xdisp.c (init_from_display_pos): Test invisible property
3476 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3477
927c5b3b
GM
3478 * xdisp.c (redisplay_internal) <update one window>: Make sure
3479 last_arrow_position and last_arrow_string are set.
3480
d74c1900
GM
3481 * frame.c (Fframe_list): Don't return a tooltip frame.
3482
091f8878
GM
34832001-03-23 Gerd Moellmann <gerd@gnu.org>
3484
52283633
SM
3485 * xdisp.c (mark_window_display_accurate_1): New function,
3486 extracted from mark_window_display_accurate.
3487 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3488 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3489 (mark_window_display_accurate): Use it.
3490 (redisplay_internal): Use it for the selected window.
3491 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3492 for the selected frame.
3493
ac90c44f
GM
3494 * xdisp.c Use make_number, for readability.
3495 (try_window_id): Disable rows below the window end.
3496 (try_window_reusing_current_matrix): Use cursor_row_p.
3497 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3498 of rows.
3499 (init_from_display_pos): If POS specifies a position in a display
3500 vector, maybe get the iterator set up for that ellipsis.
43c09969 3501
091f8878
GM
3502 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3503
991786dd
EZ
35042001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3505
3506 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3507
6c29b43c
GM
35082001-03-23 Gerd Moellmann <gerd@gnu.org>
3509
3510 * xfaces.c (x_update_menu_appearance): Use a different path
3511 for Lucid popup menus.
3512
d8731202
SM
35132001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3514
3515 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3516
3517 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3518 (string_buffer_position): Use `make_number'.
3519
f61a541b
GM
35202001-03-22 Gerd Moellmann <gerd@gnu.org>
3521
3c9e997b
GM
3522 * xfaces.c (x_update_menu_appearance): Renamed from
3523 x_set_menu_face_resources. Use different resources for popups.
3524
3525 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3526 (GC_CHECK_STRING_BYTES): Don't define.
3527
364cd450
GM
3528 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3529 Removed, together with subroutines.
3530 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3531 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3532
d8731202
SM
3533 * dispextern.h (x_set_menu_resources_from_menu_face):
3534 Remove prototype.
364cd450 3535
d8731202 3536 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3537 Remove calls to x_set_menu_resources_from_menu_face.
3538
d8731202
SM
3539 * xfaces.c (xm_set_menu_resources_from_menu_face):
3540 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3541
3542 * xmenu.c: Include widget.h.
3543 (single_submenu): Return int. Some cleanup.
3544 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3545
140330de
GM
35462001-03-21 Gerd Moellmann <gerd@gnu.org>
3547
3548 * xterm.c (x_update_window_end): Handle overwritten mouse face
3549 also for tool bar windows.
3550 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3551 DRAW is DRAW_IMAGE_RAISED.
3552
1741905c
GM
35532001-03-20 Gerd Moellmann <gerd@gnu.org>
3554
fa88947e
GM
3555 * print.c (syms_of_print): Doc fixes.
3556
1741905c
GM
3557 * fns.c (Fmd5): Doc fix.
3558
ade0bee1
GM
35592001-03-19 Gerd Moellmann <gerd@gnu.org>
3560
357e7376
GM
3561 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3562 Clear area of the frame not occupied by the scroll bar.
3563
c2c097cc
GM
3564 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3565 tip frame's root window buffer to *tip* right after creating
3566 the frame.
3567
ade0bee1
GM
3568 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3569 is an integer don't have to be for space characters.
3570
88c6e37e
GM
35712001-03-16 Gerd Moellmann <gerd@gnu.org>
3572
52283633
SM
3573 * indent.c (current_column, current_column_1, Fmove_to_column)
3574 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3575
c62eed76
KH
35762001-03-15 Kenichi Handa <handa@etl.go.jp>
3577
3578 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3579 drawing glyph string.
3580
c899e7e6
GM
35812001-03-15 Gerd Moellmann <gerd@gnu.org>
3582
d0bbfc99
GM
3583 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3584 (command_loop_1): Undo last change.
3585
03d1a189
GM
3586 * xterm.c (fast_find_position): Return the correct vpos.
3587
c899e7e6 3588 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3589 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3590 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3591 Call store_symval_forwarding with BUF null.
3592 (set_internal): Call store_symval_forwarding with the BUF
3593 parameter passed to set_internal. Formerly, the value was always
3594 set in the current buffer; the buffer recorded in specbind for
3595 this case wasn't used.
3596 (arith_driver): Reindent.
3597
52283633
SM
3598 * buffer.c (swap_out_buffer_local_variables):
3599 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3600
3601 * lisp.h (store_symval_forwarding): Change prototype.
3602
3603 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3604
57ac7c81
GM
36052001-03-14 Gerd Moellmann <gerd@gnu.org>
3606
697617d9
GM
3607 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3608 FOR_DELETION. Avoid resizing the mini-window of the selected
3609 frame if FOR_DELETION is set.
3610 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3611 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3612 signature.
3613
3614 * window.c (Fset_window_configuration): Change call to
3615 do_switch_frame to new format.
3616
3617 * keyboard.c (quit_throw_to_read_char): Change call to
3618 do_switch_frame to new format.
3619
3620 * lisp.h (do_switch_frame): Change prototype.
3621
819dce0f
GM
3622 * frame.c (Fframe_parameters): In the `buffer-list' frame
3623 parameter, store the buffer list of FRAME, not the list of the
3624 selected frame.
3625
57ac7c81
GM
3626 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3627 box just because the glyph row's full_width_p flag is set.
3628
65008712
GM
36292001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3630
3631 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3632 skip the padding blanks inserted in extend_face_to_end_of_line,
3633 before checking for trailing whitespace.
3634
159cf431
GM
36352001-03-13 Gerd Moellmann <gerd@gnu.org>
3636
52283633 3637 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3638 Remove special handling for LessTif/Motif.
3639 (toplevel): Don't include Xm/Xm.h.
3640
52283633
SM
3641 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3642 Remove workaround code for LessTif; it doesn't work anymore.
3643
2564ea1b 3644 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3645 Xm/ScrollBarP.h.
afcdc0a1 3646
52283633
SM
3647 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3648 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3649 contemporary LessTif.
3650
52283633
SM
3651 * xfaces.c (xm_set_menu_resources_from_menu_face):
3652 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3653
159cf431
GM
3654 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3655 removing button grabs.
3656
c6f7429a
KH
36572001-03-13 Kenichi Handa <handa@etl.go.jp>
3658
cb82d767
KH
3659 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3660 and clip-large-size-font as obsolete.
3661
c6f7429a
KH
3662 * lread.c (read_multibyte): Check the validity of multibyte
3663 sequence. If invalid, return the first byte.
3664
760cefb5
GM
36652001-03-12 Gerd Moellmann <gerd@gnu.org>
3666
3667 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3668 before running the command; timer functions or process
3669 filters may have set it.
3670
5141f9d0
EZ
36712001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3672
3673 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3674 Doc fix.
3675
b6a15240
GM
36762001-03-12 Gerd Moellmann <gerd@gnu.org>
3677
3678 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3679 to sprintf.
3680
95522746
GM
36812001-03-09 Gerd Moellmann <gerd@gnu.org>
3682
db14cfc5
GM
3683 * dispextern.h (string_buffer_position): Add prototype.
3684
52283633 3685 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3686 (single_display_prop_string_p): New functions.
3687
3688 * xterm.c (note_mouse_highlight): If there's no help-echo on
3689 a string, look at the buffer text ``under'' it.
3690
3691 * keyboard.c (make_lispy_event): Add string info to the event,
3692 analogous to what's done on mode lines.
3693 (read_key_sequence): For a click on a string, consider `local-map'
3694 and `keymap' of that string.
3695
52283633
SM
3696 * keyboard.c (make_lispy_event, make_lispy_movement):
3697 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3698
3699 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3700
3701 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3702 POS; return void.
3703
95522746
GM
3704 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3705 flags argument to emacs_open; it seems to conflict with O_EXCL.
3706
898a399d
KH
37072001-03-09 Kenichi Handa <handa@etl.go.jp>
3708
28cd4910
KH
3709 * composite.h (struct composition): Change types of members;
3710 glyph_len to unsigned, width to unsigned short.
898a399d 3711
4cdf6a6c
AI
37122001-03-08 Andrew Innes <andrewi@gnu.org>
3713
3714 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3715 menu titles.
3716
129004d3
GM
37172001-03-08 Gerd Moellmann <gerd@gnu.org>
3718
221dd3e7
GM
3719 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3720 instead of nil.
3721
52283633 3722 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3723 help-echo in strings.
3724 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3725 (fast_find_string_pos): New function.
3726
52283633
SM
3727 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3728 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3729
3730 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3731 Handle `mouse-face'.
3732
3733 * dispextern.h (face_at_string_position): Change prototype.
3734
52283633 3735 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3736
129004d3
GM
3737 * keyboard.c (make_lispy_event): Avoid generating drag events
3738 if the mouse hasn't actually moved to another buffer position.
52283633 3739
80c8ab8c
DL
37402001-03-08 Dave Love <fx@gnu.org>
3741
129004d3 3742 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3743
989521fd
GM
37442001-03-08 Gerd Moellmann <gerd@gnu.org>
3745
3746 * process.c (Fset_process_window_size): Fix a typo.
3747
bb5c338d
KH
37482001-03-08 Kenichi Handa <handa@etl.go.jp>
3749
3750 * coding.c (detect_coding_sjis): Do more rigid check.
3751 (detect_coding_big5): Likewise.
3752 (decode_coding_sjis_big5): Likewise.
3753 (Fdetect_coding_region): Call detect_coding_system with tailing
3754 anchor byte `\0' for more rigid detection.
52283633 3755 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3756 (Fdetect_coding_string): Likewise.
3757
8b8f9197
SM
37582001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3759
3760 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3761 a string before extracting its data.
3762
3bdf2660
GM
37632001-03-07 Gerd Moellmann <gerd@gnu.org>
3764
3765 * window.c (Frecenter): Rewrite code handling negative values
3766 of ARG on graphical frames.
3767
37682001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3769
3770 * window.c (displayed_window_lines): If W->start is outside the
3771 accessible portion of the buffer, call start_display with BEGV or
3772 ZV instead of W->start.
3773
471f86b9
GM
37742001-03-07 Gerd Moellmann <gerd@gnu.org>
3775
2ab62c6c
GM
3776 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3777
471f86b9
GM
3778 * process.c (Fset_process_filter): Don't crash if the input
3779 file descriptor of PROCESS is closed.
3780 (Fset_process_window_size): Likewise.
3781
101922c3
GM
37822001-03-06 Kenichi Handa <handa@etl.go.jp>
3783
3784 * xterm.c (XTflash): Make the timeout of select shorter, and call
3785 select repeatedly until the desired time expires.
3786
45d051a7
GM
37872001-03-06 Gerd Moellmann <gerd@gnu.org>
3788
3789 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3790
3791 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3792
3793 * lisp.h (Vwindow_list): Declare extern.
3794
8f372c46
EZ
37952001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3796
3797 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3798
f16a7aa5
GM
37992001-03-06 Gerd Moellmann <gerd@gnu.org>
3800
157ae273
GM
3801 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3802 to detect a case where we have to highlight a different region
3803 despite not having left the currently highlighted region.
3804 Set mouse_face_overlay in the x_display_info.
45d051a7 3805 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3806
3807 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3808
3809 * buffer.c (mouse_face_overlay_overlaps): New function.
3810
3811 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3812 (Qmouse_face): Declare extern.
3813
f16a7aa5
GM
3814 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3815 if face_change_count is non-zero.
3816
827afcac
KH
38172001-03-06 Kenichi Handa <handa@etl.go.jp>
3818
3819 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3820 that the source is unibyte.
3821
14c7242e
DL
38222001-03-05 Dave Love <fx@gnu.org>
3823
827afcac 3824 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3825
c28b847b
GM
38262001-03-05 Gerd Moellmann <gerd@gnu.org>
3827
3828 * minibuf.c (read_minibuf): Clean up the binding stack if
3829 called noninteractively.
3830
b86644f2
KH
38312001-03-05 Kenichi Handa <handa@etl.go.jp>
3832
3833 * coding.c (syms_of_coding): Docstring modified.
3834
203682cc 38352001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3836
3837 * charset.c (char_to_string): If a single byte char has modifier
3838 bits that can't be reflected to the character code, ignore them
45d051a7 3839 instead of signaling an error.
b86644f2 3840
e30bd7b7
EZ
38412001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3842
3843 * s/msdos.h: Update copyright notice.
3844
3845 * dosfns.h: Update copyright notice.
3846
3847 * dosfns.c: Update copyright notice.
3848
3849 * msdos.c: Update copyright notice.
3850
b52b65bd
GM
38512001-03-02 Gerd Moellmann <gerd@gnu.org>
3852
3853 * xterm.c (glyph_rect): New function.
3854 (XTmouse_position): Use it to raise the threshold for mouse
3855 movement event generation.
3856
53c4b1e6
EZ
38572001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3858
3859 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3860 specifies (reverse . t), reverse the initial screen colors.
3861 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3862 but we are reversing the colors, set bg_set, not fg_set.
3863 Likewise for setting background-color and reversing: set fg_set.
3864 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3865 in effect.
3866
3867 * xfaces.c (Finternal_set_lisp_face_attribute)
3868 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3869 parameters alist.
3870
f964b4d7
GM
38712001-03-02 Gerd Moellmann <gerd@gnu.org>
3872
ef53d75e
GM
3873 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3874 to a single slash in the middle of file names.
3875
52283633 3876 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3877 Accept only alphanumeric time zone names.
3878
f964b4d7
GM
3879 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3880 or width area.
3881 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3882 a widget to zero height.
52283633 3883
c3c45f65
GM
38842001-03-01 Gerd Moellmann <gerd@gnu.org>
3885
3886 * window.c (Fwindow_end): Call move_it_past_eol only if
3887 ending up on a partially visible line.
3888
028d739a
DL
38892001-03-01 Dave Love <fx@gnu.org>
3890
3891 * ccl.c (Fccl_execute): Doc fix.
3892
57c5889c
GM
38932001-03-01 Gerd Moellmann <gerd@gnu.org>
3894
35f59f6b
GM
3895 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3896 of the tool bar before calling x_figure_window_size.
3897
f84ff02c
GM
3898 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3899 NULL after destroying it, otherwise XTread_socket can access a
3900 destroyed widget when input is unblocked.
3901
8b8f9197 3902 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3903
57c5889c
GM
3904 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3905 same name as before, although there was a change in fontsets.
3906
224227d1
KR
39072001-02-28 Ken Raeburn <raeburn@gnu.org>
3908
4560730a
KR
3909 * lisp.h (Fframe_parameter): Declare.
3910
224227d1 3911 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3912 Lisp_Object.
224227d1 3913
ece93c02
GM
39142001-02-28 Gerd Moellmann <gerd@gnu.org>
3915
11ef99b9
GM
3916 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3917 NULL instead.
3918
3919 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3920 NULL instead.
3921
ece93c02
GM
3922 * alloc.c (toplevel): Include process.h.
3923 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3924 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3925 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3926 (allocate_vector, allocate_hash_table, allocate_window)
3927 (allocate_frame, allocate_process, allocate_other_vector):
3928 New functions.
ece93c02
GM
3929 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3930 (mark_maybe_pointer): New function.
52283633 3931 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3932 remain and not Lisp_Objects.
3933 (min_heap_address, max_heap_address): New variables.
3934 (mem_find): Return MEM_NIL if START is below min_heap_address or
3935 above max_heap_address.
3936 (mem_insert): Compute min_heap_address and max_heap_address.
3937
3938 * process.c (make_process): Use allocate_process.
3939
3940 * frame.c (make_frame): Use allocate_frame.
3941
3942 * window.c (make_window, make_dummy_parent): Use allocate_window.
3943 (Fcurrent_window_configuration): Use allocate_other_vector.
3944
3945 * lisp.h (allocate_vectorlike): Remove prototype.
3946 (allocate_vector, allocate_other_vector, allocate_frame)
3947 (allocate_window, allocate_process, allocate_hash_table):
3948 Add prototypes.
3949
3950 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3951 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3952
063af457
KH
39532001-02-27 Kenichi Handa <handa@etl.go.jp>
3954
3955 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3956 treat the produced bytes as a valid multibyte sequence.
3957
3958 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3959 (ccl_driver) <CCL_WriteMultibyteChar2>:
3960 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3961 <ccl_finish>: Set ccl->eight_bit_control properly.
3962
3963 * ccl.h (struct ccl_program): New member eight_bit_control.
3964
f58c6494
SM
39652001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3966
3967 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3968 accessible_keymaps_char_table.
3969 (accessible_keymaps_char_table): Obey `is_metized'.
3970 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3971 Lisp_Object.
3972
c596c392
GM
39732001-02-26 Gerd Moellmann <gerd@gnu.org>
3974
3975 * dispnew.c: Check HAVE_TERM_H before including term.h.
3976
425de386
AI
39772001-02-24 Andrew Innes <andrewi@gnu.org>
3978
3979 * makefile.w32-in: Update copyright notice.
3980
2ba11bbd
SM
39812001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3982
3983 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3984
66c56ed1
KH
39852001-02-24 Kenichi Handa <handa@etl.go.jp>
3986
4c1593ce
KH
3987 * Makefile.in (lisp): Add international/utf-8.elc.
3988
66c56ed1
KH
3989 * fontset.c (Fnew_fontset): Fix handling of the case that an
3990 element of FONTLIST is a cons of family and registry.
3991
796ead7e
JR
39922001-02-23 Jason Rumney <jasonr@gnu.org>
3993
3994 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3995 to height unconditionally.
3996
3997 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3998 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3999 (x_insert_glyphs): Call window_box_left to obtain the left
4000 x-coordinate of the area to shift.
4001
4002 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4003 safe_run_hooks.
4004
f6839838
AI
40052001-02-22 Andrew Innes <andrewi@gnu.org>
4006
52283633 4007 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4008 ($(BLD)\dispnew.obj):
4009 ($(BLD)\editfns.obj):
4010 ($(BLD)\fileio.obj):
4011 ($(BLD)\filelock.obj):
4012 ($(BLD)\keyboard.obj):
4013 ($(BLD)\w32proc.obj):
4014 ($(BLD)\process.obj):
4015 ($(BLD)\sysdep.obj): Ditto.
4016
4017 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4018 header files.
52283633
SM
4019 ($(BLD)/dispnew.$(O)):
4020 ($(BLD)/editfns.$(O)):
4021 ($(BLD)/fileio.$(O)):
4022 ($(BLD)/filelock.$(O)):
4023 ($(BLD)/keyboard.$(O)):
4024 ($(BLD)/w32proc.$(O)):
4025 ($(BLD)/process.$(O)):
f6839838
AI
4026 ($(BLD)/sysdep.$(O)): Ditto.
4027
c224f70b
GM
40282001-02-22 Gerd Moellmann <gerd@gnu.org>
4029
51695746
GM
4030 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4031 at the start of the function, check that the \n in it->c is
4032 from the iterator's current position.
52283633 4033
a61b7058
GM
4034 * xdisp.c (handle_single_display_prop): Add parameter
4035 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4036 properties which replace the display of text with something else.
4037 (handle_display_prop): Call handle_single_display_prop with
4038 additional argument saying if we already replaced text display
4039 with something else. Use AREF.
52283633 4040 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4041 (decode_mode_spec_coding): Use AREF and ASIZE.
4042
3473f362
GM
4043 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4044 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4045 * vmstime.h: Files removed.
52283633 4046
2bb58df3
GM
4047 * unexencap.c, unexfx2800.c: Files removed.
4048
c224f70b
GM
4049 * dispnew.c (direct_output_for_insert): Give up if we are showing
4050 a message or just cleared the message because we might need to
4051 resize the echo area window or display an empty echo area.
4052
ffc9ff0c
GM
40532001-02-21 Gerd Moellmann <gerd@gnu.org>
4054
0528abe1
GM
4055 * xdisp.c (redisplay_internal): Do the
4056 mark_window_display_accurate after all windows have been
4057 redisplayed because this call resets flags in buffers which are
4058 needed for proper redisplay.
4059
52283633
SM
4060 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4061 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4062 the old names.
4063
52283633
SM
4064 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4065 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4066
4067 * msdos.h (struct x_output): Rename busy_window to
4068 hourglass_window, busy_p to hourglass_p.
4069
52283633
SM
4070 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4071 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4072
4073 * xfns.c: Rename everything containing *busy_cursor* and similar
4074 to *hourglass*.
4075 (syms_of_w32fns): Rename x-busy-pointer-shape to
4076 x-hourglass-pointer-shape, display-busy-cursor to
4077 display-hourglass, busy-cursor-delay to hourglass-delay.
4078
4079 * w32fns.c: Rename everything containing *busy_cursor* and similar
4080 to *hourglass*.
4081 (syms_of_w32fns): Rename x-busy-pointer-shape to
4082 x-hourglass-pointer-shape, display-busy-cursor to
4083 display-hourglass, busy-cursor-delay to hourglass-delay.
4084
4085 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4086 of its busy_p flag.
4087
4088 * dispextern.h (start_hourglass, cancel_hourglass)
4089 (display_hourglass_p): Renamed from *busy_cursor*.
4090
ab2c5f0a
GM
40912001-02-20 Gerd Moellmann <gerd@gnu.org>
4092
d17e49a8
GM
4093 * keyboard.c (read_char): When an event from unread-command-events
4094 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4095
fa97adf6
GM
4096 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4097 equal to the current buffer.
4098
ab2c5f0a
GM
4099 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4100 nil, otherwise we're left with truncate_lines t when a message
4101 is printed with message-truncate-lines bound to t.
4102
aeac019e
GM
41032001-02-19 Gerd Moellmann <gerd@gnu.org>
4104
c8bc6f65
GM
4105 * window.c (Fmove_to_window_line): Undo last change.
4106 (displayed_window_lines): Call line_bottom_y to determine
4107 the line's bottom position.
4108
4109 * dispextern.h (line_bottom_y): Add prototype.
4110
52283633 4111 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4112 (pos_visible_p): Use it.
4113
980a2d69
GM
4114 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4115 set redisplaying_p to 0 here instead of in Frecursive_edit.
4116 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4117 set redisplaying_p.
4118
52283633 4119 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4120 New variables.
4121 (syms_of_xdisp): Initialize new variables.
4122 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4123 Specbind `inhibit-menubar-update' when updating the menu bar.
4124
65048e97
GM
4125 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4126 safe_run_hooks.
4127
4128 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4129 safe_run_hooks.
4130
a57c4026
GM
4131 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4132 is null.
4133
aeac019e
GM
4134 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4135 to the start of the file.
4136
76846b31
GM
41372001-02-16 Gerd Moellmann <gerd@gnu.org>
4138
f3f053f3 4139 * window.c (set_window_buffer): Fix last change.
52283633 4140
f3f053f3
GM
4141 * window.c (set_window_buffer): Set window's vscroll to 0.
4142
dad75588
GM
4143 * window.c (coordinates_in_window): Increase width of area
4144 where the vertical line can be dragged.
4145
c220b753
GM
4146 * xterm.c (x_set_glyph_string_background_width): Extend the
4147 background face to the end of the drawing area in the text
4148 area, only.
4149
c56b1c1b
GM
4150 * xdisp.c (handle_single_display_prop): Set iterator's position
4151 to where the `display' property starts, like for images.
4152 (dump_glyph): New function.
4153 (dump_glyph_row): Use it. Dump info about marginal areas.
4154
4155 * dispnew.c (direct_output_for_insert): Recognize more cases where
4156 glyphs can be written instead of being inserted.
4157
4158 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4159 the left x-coordinate of the area to shift.
4160
76846b31
GM
4161 * dired.c (directory_files_internal): Set result list to nil
4162 before retrying.
4163
0fc71a77
KH
41642001-02-15 Kenichi Handa <handa@etl.go.jp>
4165
4166 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4167 invalid multibyte sequence, treat *SRC as a character of
4168 eight-bit-graphic.
4169
25078b54
EZ
41702001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4171
4172 * textprop.c (Fset_text_properties): Doc fix.
4173
8399f8a0
GM
41742001-02-15 Gerd Moellmann <gerd@gnu.org>
4175
4176 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4177
9a2a6f73
DL
41782001-02-14 Dave Love <fx@gnu.org>
4179
4180 * coding.c: Doc and message fixes.
4181
bf853fee
AI
41822001-02-14 Andrew Innes <andrewi@gnu.org>
4183
4184 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4185 Emacs frame above the screen size.
4186
78c663d8
GM
41872001-02-14 Gerd Moellmann <gerd@gnu.org>
4188
4189 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4190
7cc9f69f
GM
41912001-02-13 Gerd Moellmann <gerd@gnu.org>
4192
0a411995
GM
4193 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4194 case that TO ends up beyond ZV after running before-change-functions.
4195
5ddc1b75
GM
4196 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4197 the selected window if it is showing the buffer in question.
4198
7cc9f69f
GM
4199 * dired.c (directory_files_internal): Initialize errno.
4200 (toplevel): Include errno.h.
4201
2e6621ca
GM
42022001-02-13 Kenichi Handa <handa@etl.go.jp>
4203
4204 * xfaces.c (best_matching_font): New parameter width_ratio.
4205 Multiply avgwidth by width_ratio.
4206 (choose_face_font): Call best_matching_font with width_ratio
4207 calculated from the column width of C.
4208
60222d69
AI
42092001-02-12 Andrew Innes <andrewi@gnu.org>
4210
4211 The following changes are to draw box lines inside characters area
4212 if line-width is negative.
52283633 4213
60222d69
AI
4214 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4215 face->box_line_width is negative.
4216 (x_produce_stretch_glyph): Likewise.
4217 (x_produce_glyphs): Likewise.
4218 (x_estimate_mode_line_height): Likewise.
4219 (x_draw_glyph_string_background): Likewise.
4220 (x_draw_glyph_string_foreground): Likewise.
4221 (x_draw_composite_glyph_string_foreground): Likewise.
4222 (x_draw_glyph_string_box): Likewise.
4223 (x_draw_image_foreground): Likewise.
4224 (x_draw_image_relief): Likewise.
4225 (x_draw_image_foreground_1): Likewise.
4226 (x_draw_image_glyph_string): Likewise.
4227
9804b846
KH
42282001-02-09 Kenichi Handa <handa@etl.go.jp>
4229
4230 The following changes are to draw box lines inside characters area
4231 if line-width is negative.
52283633 4232
9804b846
KH
4233 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4234 face->box_line_width is negative.
4235 (x_produce_stretch_glyph): Likewise.
4236 (x_produce_glyphs): Likewise.
4237 (x_estimate_mode_line_height): Likewise.
4238 (x_draw_glyph_string_background): Likewise.
4239 (x_draw_glyph_string_foreground): Likewise.
4240 (x_draw_composite_glyph_string_foreground): Likewise.
4241 (x_draw_glyph_string_box): Likewise.
4242 (x_draw_image_foreground): Likewise.
4243 (x_draw_image_relief): Likewise.
4244 (x_draw_image_foreground_1): Likewise.
4245 (x_draw_image_glyph_string): Likewise.
4246
4247 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4248 and :line-width can be negative.
52283633 4249 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4250
49be9f70
JR
42512001-02-09 Jason Rumney <jasonr@gnu.org>
4252
4253 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4254 characters the same as ASCII and latin-1.
4255 (x_display_and_set_cursor): Check for the focus frame's selected
4256 window instead of selected_window.
4257 (x_after_update_window_line): Don't clear if frame's internal
4258 border width is zero.
4259 (x_new_font): Don't change a tooltip's size.
4260 (w32_initialize): Set char_ins_del_ok to 1.
4261
4262 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4263 (x_set_font): If font hasn't changed, avoid recomputing
4264 faces and other things.
52283633
SM
4265 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4266 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4267 (x_create_tip_frame): Prevent changing the tooltip's
4268 background color by specifying a color for the default font
4269 in .Xdefaults.
4270 (Qcancel_timer): New variable.
4271 (syms_of_w32fns): Initialize and staticpro it.
4272 (Fx_hide_tip, Fx_show_tip): Use it.
4273 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4274 the timer.
4275 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4276
4277 * w32.c (init_environment): Duplicate local string before putenv.
4278
555e35d2
SZ
42792001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4280
4281 * charset.c (Fstring): A typo.
4282
19c92c94
KH
42832001-02-09 Kenichi Handa <handa@etl.go.jp>
4284
e47a1c33
KH
4285 * charset.c (Fstring): If all arguments are less than 256, return
4286 a unibyte string.
4287
4288 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4289 return a unibyte string.
4290
19c92c94
KH
4291 * coding.c (code_convert_region): After detecting a coding, if
4292 nothing found, set coding->composing to COMPOSITION_NO.
4293 (decode_coding_string): Likewise.
4294
d8e675f5
SM
42952001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4296
4297 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4298 to avoid overflow.
4299
bd503487
KH
43002001-02-07 Kenichi Handa <handa@etl.go.jp>
4301
4302 * charset.c (parse_str_to_multibyte): New function.
4303
4304 * charset.h (parse_str_to_multibyte): Extern it.
4305
4306 * print.c (print_string): If we are going to print a unibyte
4307 string into a multibyte buffer, convert the string to multibyte by
4308 str_to_multibyte.
4309
a8370d72
AI
43102001-02-06 Andrew Innes <andrewi@gnu.org>
4311
4312 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4313 been created. It seems we can get sent window messages such as
4314 WM_ERASEBKGND before we properly update a frame.
4315
c363a1d6
GM
43162001-02-06 Gerd Moellmann <gerd@gnu.org>
4317
4318 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4319 Avoid some unnecessary cursor positioning.
4320
a08332c0
GM
43212001-02-05 Gerd Moellmann <gerd@gnu.org>
4322
52283633 4323 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4324 (LFACE_AVGWIDTH): New macro.
4325 (LFACEP): Use AREF.
4326 (check_lface_attrs): Check LFACE_AVGWIDTH.
4327 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4328 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4329 (merge_face_vectors): Check LFACE_AVGWIDTH.
4330 (Finternal_make_lisp_face): Use AREF.
4331 (xm_set_menu_resources_from_menu_face)
4332 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4333 (Finternal_lisp_face_empty_p): Use AREF.
4334 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4335 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4336 Compare average widths..
4337 (best_matching_font): Arrange for comparing average widths.
4338
52283633
SM
4339 * dispextern.h (enum lface_attribute_index):
4340 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4341
5cb3c8d4
DL
43422001-02-05 Dave Love <fx@gnu.org>
4343
4344 * puresize.h: Revert last change following loadup.el change.
4345
193fba87
AI
43462001-02-05 Andrew Innes <andrewi@gnu.org>
4347
4348 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4349 invocation of temacs, to work with Windows 2000.
4350 (bootstrap-emacs): Ditto.
4351
e16f52ce
GM
43522001-02-05 Gerd Moellmann <gerd@gnu.org>
4353
7a58ab59
GM
4354 * xterm.c (x_display_and_set_cursor): Check for the focus
4355 frame's selected window instead of selected_window.
4356
e89aaabd
GM
4357 * xdisp.c (try_scrolling): If point is in the line below the
4358 window, make sure to move the iterator at least a canonical
4359 char height down.
4360
52283633 4361 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4362
789ce875
KH
43632001-02-05 Kenichi Handa <handa@etl.go.jp>
4364
52283633
SM
4365 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4366 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4367 (ccl_driver): If the CCL program is terminated because of
4368 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4369 destination instead of throwing them away.
4370
20b28f82
GM
43712001-02-02 Gerd Moellmann <gerd@gnu.org>
4372
79fb38c0
GM
4373 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4374 faces and other things.
4375
20b28f82
GM
4376 * xdisp.c (get_next_display_element): Fix case of empty
4377 display table entry.
4378
5a72551e
EZ
43792001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4380
eb24d0bf
EZ
4381 * editfns.c (Fconstrain_to_field): Doc fix.
4382
6a3f48c7
EZ
4383 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4384 into `thoroughly', to make it consistent with the doc string.
4385
5a72551e
EZ
4386 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4387
01acdb05
GM
43882001-02-01 Gerd Moellmann <gerd@gnu.org>
4389
0353b28f
GM
4390 * search.c (search_buffer): Call set_search_regs with a byte
4391 position, not a character position.
4392
01acdb05
GM
4393 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4394 minibuffer-only,
4395
e86b5133
EZ
43962001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4397
4398 * frame.c (Fmodify_frame_parameters): Doc fix.
4399
7442878f
GM
44002001-01-31 Gerd Moellmann <gerd@gnu.org>
4401
01acdb05
GM
4402 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4403 identifier which is not reserved by Standard C.
52283633 4404
7442878f
GM
4405 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4406
4407 * window.c (enum window_part): New enumeration.
4408 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4409 Qright_bitmap_area.
4410 (coordinates_in_window): Return an enumerator from enum
4411 window_part. Fix handling of right scroll bar.
4412 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4413 `right-fringe' instead of `left-bitmap-area' and
4414 `right-bitmap-area'. Use enumerators from enum window_part
4415 instead of hard-coded integers.
52283633
SM
4416 (check_window_containing, window_from_coordinates):
4417 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4418 (syms_of_window): Replace Qleft_bitmap_area and
4419 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4420
7c132cba
EZ
44212001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4422
4423 * editfns.c (Fformat_time_string): Doc fix.
4424
c359dd9e
SM
44252001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4426
4427 * keymap.c (Fwhere_is_internal): Use the first valid binding
4428 if no ascii binding is found (when firstonly is t).
4429
ce070307
GM
44302001-01-31 Gerd Moellmann <gerd@gnu.org>
4431
b4f30ec5
GM
4432 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4433 instead of Finteractive_p.
4434
4435 * lisp.h (interactive_p): Add prototype.
4436
4437 * eval.c (interactive_p): New function.
4438 (Finteractive_p): Use it.
4439
ce070307
GM
4440 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4441
f57b6e64
DL
44422001-01-31 Dave Love <fx@gnu.org>
4443
d61c7afe
DL
4444 * .gdbinit (hook-run): Define to run xreload.
4445
f57b6e64
DL
4446 * textprop.c (Fset_text_properties): Fix newline in doc string.
4447
eef93f99
GM
44482001-01-30 Gerd Moellmann <gerd@gnu.org>
4449
52283633
SM
4450 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4451 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4452
4453 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4454 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4455 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4456
4457 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4458 height.
4459
d9c1f6f9
DL
44602001-01-30 Dave Love <fx@gnu.org>
4461
4462 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4463 AFTER_POTENTIAL_GC.
4464
e8f044a0
GM
44652001-01-29 Gerd Moellmann <gerd@gnu.org>
4466
52283633
SM
4467 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4468 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4469
8e1db7b3
EZ
44702001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4471
4472 * textprop.c (Fset_text_properties): Doc fix.
4473
4eefd9d2
GM
44742001-01-29 Gerd Moellmann <gerd@gnu.org>
4475
4476 * xdisp.c (forward_to_next_line_start): Remove xassert.
4477
fccb8288
EZ
44782001-01-29 Jason Rumney <jasonr@gnu.org>
4479
4eefd9d2 4480 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4481 returning without releasing it.
4482
76581eab
KH
44832001-01-29 Kenichi Handa <handa@etl.go.jp>
4484
4485 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4486 for '^', '$', and '\0'.
4487
83a96b4d
AC
44882001-01-28 Andrew Choi <akochoi@i-cable.com>
4489
5604ec34
AC
4490 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4491 regex for '^', '$', and '\0'.
4492
83a96b4d
AC
4493 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4494 only if current_sblock has been initialized.
4495
4496 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4497 terminal frame even if it is the only visible frame.
4498
c09a6440
KH
44992001-01-28 Kenichi Handa <handa@etl.go.jp>
4500
4501 * fontset.c (font_family_registry): Even if FONTNAME conform to
4502 XLFD, if it specifies other fields than family and registry,
52283633 4503 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4504 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4505 a signle byte character. Don't set FAMILY part to nil here.
4506 It is handled by the caller choose_face_font.
c09a6440
KH
4507 (Fnew_fontset): Call font_family_registry with FORCE 0.
4508 (Fset_fontset_font): Likewise.
4509
4dcd74e6
GM
45102001-01-27 Gerd Moellmann <gerd@gnu.org>
4511
4512 * xdisp.c (display_line): Don't treat a newline as fitting
4513 on the line.
4514
d2906bf8
GM
45152001-01-26 Gerd Moellmann <gerd@gnu.org>
4516
0130fe1a
GM
4517 * window.c (size_window): Set the window's orig_top to nil when
4518 changing heights, so that a future shrink_mini_window won't
4519 restore a bogus height.
4520
550f0e6a
GM
4521 * frame.c (do_switch_frame): If selected frame has a mini-window,
4522 resize that to exact size.
4523
b7b20fbd
GM
4524 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4525
a47b7816
GM
4526 * xdisp.c (display_line): Simplify check for glyphs fitting
4527 entirely in the line.
4528
d2906bf8
GM
4529 * xfns.c (xic_style): New variable.
4530 (create_frame_xic): Move static variable to global scope for
550f0e6a 4531 the case that `static' gets defined away.
d2906bf8 4532
73df2b1e
KH
45332001-01-26 Kenichi Handa <handa@etl.go.jp>
4534
4535 * coding.c (decode_coding): Set a flag for inhibiting
4536 inconsistent eol.
4537 (code_convert_region): Always set saved_coding_symbol.
4538 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4539 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4540
6613cfc4
GM
45412001-01-25 Gerd Moellmann <gerd@gnu.org>
4542
c5e6e06b
GM
4543 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4544 XClearArea.
4545
4546 * xterm.c (x_after_update_window_line): Don't clear if frame's
4547 internal border width is zero.
4548 (x_clear_area): New function.
4549 (x_after_update_window_line, x_clear_end_of_line)
4550 (x_scroll_bar_create, x_scroll_bar_set_handle)
4551 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4552 instead of XClearArea.
4553
4554 * xterm.h (x_clear_area): Add prototype.
4555
6613cfc4
GM
4556 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4557 which doesn't seem necessary anymore with Lesstif 0.92.
4558
650cc6cc
DL
45592001-01-25 Dave Love <fx@gnu.org>
4560
34ac3367
DL
4561 * puresize.h (BASE_PURESIZE): Up to 720000.
4562
650cc6cc
DL
4563 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4564
5e37dc22
GM
45652001-01-25 Gerd Moellmann <gerd@gnu.org>
4566
e1e441f9
GM
4567 * xdisp.c (echo_area_display): Don't call redisplay_internal
4568 when Emacs is shutting down. We can't run hooks etc. that
4569 would be necessary to do a redisplay.
4570
5e37dc22
GM
4571 * lread.c (read_integer): Use type EMACS_INT instead of int.
4572
0fb94c7f
EZ
45732001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4574
4575 * ccl.c (ccl_driver): Fix last change.
4576
e3778624
KH
45772001-01-25 Kenichi Handa <handa@etl.go.jp>
4578
4579 * ccl.h (sturct ccl_program): New member suppress_error.
4580
bb264518 4581 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4582 insert error message to the output.
4583 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4584
4585 * coding.h (struct coding_system): New member suppress_error.
4586
4587 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4588 (Fset_terminal_coding_system_internal): Set the member
4589 suppress_error to 1.
4590 (Fset_safe_terminal_coding_system_internal): Likewise.
4591
245ed2b1
SM
45922001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4593
4594 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4595 as if it was a `charset'.
4596
f9aaedb6
GM
45972001-01-24 Gerd Moellmann <gerd@gnu.org>
4598
4599 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4600 value in where_is_cache; the next lookup in the cache returns
4601 something bogus if we do.
4602
c3902c3e
EZ
46032001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4604
4605 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4606 if HAVE_WINDOW_SYSTEM isn't defined.
4607
3497f73e
GM
46082001-01-24 Gerd Moellmann <gerd@gnu.org>
4609
e7e41584
GM
4610 * fns.c (sweep_weak_table): Fix code taking items out of
4611 the hash collision chain. Some cleanup.
4612
3497f73e
GM
4613 * xterm.c (x_new_font): Don't change a tooltip's size.
4614
4615 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4616 background color by specifying a color for the default font
4617 in .Xdefaults.
4618
3d48e687
KH
46192001-01-24 Kenichi Handa <handa@etl.go.jp>
4620
96531b20
KH
4621 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4622 a workaround for SunOS 4's cc.
4623 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4624 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4625 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4626 statement.
3d48e687 4627
a30629d2
GM
46282001-01-23 Gerd Moellmann <gerd@gnu.org>
4629
4630 * xterm.c (x_set_window_size_1): New function extracted from
4631 x_set_window_size.
4632 (x_set_window_size): Use it.
4633 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4634 doesn't have a widget, like tooltips.
4635
5a43decf
EZ
46362001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4637
52283633 4638 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4639
b0e98867
KH
46402001-01-23 Kenichi Handa <handa@etl.go.jp>
4641
4642 * fns.c (Fset_char_table_default): Fix to make sub char-table
4643 correctly.
4644
50606b4c
GM
46452001-01-22 Gerd Moellmann <gerd@gnu.org>
4646
cb2ddc53 4647 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4648 a desired tool bar string, even if there are no tool bar items.
4649
57c28064
GM
4650 * xdisp.c (Ftool_bar_lines_needed): New function.
4651 (syms_of_xdisp): Defsubr it.
4652
50606b4c
GM
4653 * editfns.c (Fformat): Don't extend text properties from arguments
4654 to padding chars in the result.
4655
2f169c38
EZ
46562001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4657
4658 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4659
0f32f023
AI
46602001-01-20 Andrew Innes <andrewi@gnu.org>
4661
52283633 4662 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4663 (w32_initialize): Don't set term hooks that aren't actually needed
4664 in windowed mode.
4665
4666 * xfaces.c (realize_default_face):
4667 (realize_face):
4668 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4669
4670 * xdisp.c (handle_single_display_prop): Remove references to
4671 FRAME_W32_CONSOLE_P.
4672
52283633 4673 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4674
4675 * frame.h (output_method): Remove output_w32_console method.
4676 (FRAME_W32_CONSOLE_P): Remove macro.
4677
4678 * frame.c (Qw32_console): Remove variable.
4679 (Fframep): Remove references to it.
4680 (syms_of_frame): Ditto.
4681 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4682
4683 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4684 redefinition.
4685
7173eada
KH
46862001-01-20 Kenichi Handa <handa@etl.go.jp>
4687
4688 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4689
755b45ce
AI
46902001-01-19 Andrew Innes <andrewi@gnu.org>
4691
4692 * w32.c (init_environment): Add a version-independent site-lisp
4693 directory to EMACSLOADPATH, after the version dependent one.
4694
0a949811
GM
46952001-01-19 Gerd Moellmann <gerd@gnu.org>
4696
8501998a
GM
4697 * editfns.c (Fbuffer_substring): Doc fix.
4698
52283633
SM
4699 * xdisp.c (message_dolog, message2, message2_nolog):
4700 Rename parameter LEN to NBYTES.
0a949811 4701
e6ebcbbe
KH
47022001-01-19 Kenichi Handa <handa@etl.go.jp>
4703
200ecca2
KH
4704 * charset.c (strwidth): Use c_string_width.
4705 (c_string_width): New function.
4706 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4707 Caller changed.
4708
4709 * charset.h (c_string_width, lisp_string_width): Extern them.
4710
52283633 4711 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4712
e6ebcbbe
KH
4713 * indent.c (check_composition): Check validity of composition.
4714
200ecca2
KH
4715 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4716 characters by calling c_string_width.
4717 (x_consider_frame_title): Get byte length of frame tile string
4718 correctly.
4719 (display_mode_element): Pay attention to width of non-ASCII
4720 characters by calling strwidth.
4721
8692ca92
GM
47222001-01-18 Gerd Moellmann <gerd@gnu.org>
4723
8962e303
GM
4724 * xfns.c (Qcancel_timer): New variable.
4725 (syms_of_xfns): Initialize and staticpro it.
4726 (Fx_hide_tip, Fx_show_tip): Use it.
4727 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4728 the timer.
4729 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4730
91523be9
GM
4731 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4732
4733 * window.h (WINDOW_LIVE_P): New macro.
4734
b0b7ed0e
GM
4735 * window.c (window_size_fixed): New variable.
4736 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4737 the doc string.
4738
06bccf8e
GM
4739 * eval.c (specbind): If binding a per-buffer variable which
4740 doesn't have a buffer-local value in the current buffer, change
4741 the global value by changing the value of the symbol bound in all
4742 buffers not having their own value, to make it consistent with
4743 what happens with other buffer-local variables.
4744
8692ca92
GM
4745 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4746
4747 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4748 when searching for a newline.
4749
bb3a3b50
KH
47502001-01-18 Kenichi Handa <handa@etl.go.jp>
4751
4752 * xdisp.c (display_string): Fix previous change.
4753
c2cc16fa
JR
47542001-01-18 Jason Rumney <jasonr@gnu.org>
4755
4756 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4757 GLYPH_DEBUG is defined.
4758 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4759 true for images with `:ascent 100'.
4760 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4761 meantime, use face MOUSE_FACE_ID.
4762 If first glyph isn't a character glyph, use the ASCII NUL
4763 character to determine the face.
4764 (expose_area): Do not treat left margin specially.
4765 (note_mode_line_highlight): If no local_map, check global keymap.
4766 (note_mouse_highlight): Initialize overlay.
52283633 4767 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4768 (show_scroll_bars): Remove unused function.
4769 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4770 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4771 Clip to row.
52283633 4772 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4773 (x_free_frame_resources): Unload relief colors.
4774
9c11f79e
GM
47752001-01-17 Gerd Moellmann <gerd@gnu.org>
4776
3aec8722 4777 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4778 get_next_display_element when the newline is already found.
4779 This may change the iterator's position, when its current position is
3aec8722
GM
4780 equal to the iterator's stop_charpos.
4781
f3ffc2c3
GM
4782 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4783 zero, use this method only at the end of a line.
4784
52283633 4785 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4786 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4787 if SCALABLE_FONTS_P is set.
52283633 4788
d26d6fd9
GM
4789 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4790 so that scalable fonts are included.
4791
9c11f79e
GM
4792 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4793 In the cache, use a key containing the information if scalable
4794 fonts are included.
4795 (x_load_font): Adapt to change of keys in the font cache.
4796
47972001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4798
d26d6fd9
GM
4799 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4800 XListFonts to take advantage of font caching.
4801
9c11f79e
GM
4802 * xterm.c (x_list_fonts): Ensure caching font information when
4803 called for a null frame, which is the case frequently when Emacs
4804 starts.
4805
51446987
GM
48062001-01-17 Gerd Moellmann <gerd@gnu.org>
4807
f864120f
GM
4808 * xfns.c (QCconversion): Replaces QCalgorithm.
4809
4810 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4811
4812 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4813 of :algorithm.
52283633 4814
e37d1417
GM
4815 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4816 not everything could be displayed.
4817
51446987
GM
4818 * line.h, x-list-font.c: Files removed because unused.
4819
9ad4f3e5
AI
48202001-01-17 Andrew Innes <andrewi@gnu.org>
4821
4822 * dired.c (directory_files_internal): Convert result from readdir
4823 to a unibyte string initially, to avoid possible misinterpretation
4824 of some bytes as the internal form of Emacs characters.
4825
2eda09b5
KH
48262001-01-17 Kenichi Handa <handa@etl.go.jp>
4827
4828 * fns.c (concat): Be sure to avoid putting the same `composition'
4829 property on the adjacent regions.
4830
826f3788
GM
48312001-01-16 Gerd Moellmann <gerd@gnu.org>
4832
52283633 4833 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4834 (Fscroll_right, Fscroll_left): Set it here instead, if called
4835 interactively.
4836
d57b83b3
GM
4837 * buffer.c (Fset_buffer_modified_p): Set buffer's
4838 prevent_redisplay_optimizations_p flag.
4839
826f3788 4840 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4841 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4842 with additional arg.
4843
4844 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4845 Change prototype.
826f3788 4846
826f3788
GM
4847 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4848 FROM_WHERE, for debugging.
4849
261d788b
KH
48502001-01-16 Kenichi Handa <handa@etl.go.jp>
4851
4852 * ccl.c (Fregister_ccl_program): Handle the return value of
4853 resolve_symbol_ccl_program correctly.
52283633 4854 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4855
bccee4f2
GM
48562001-01-15 Gerd Moellmann <gerd@gnu.org>
4857
e4ded23c
GM
4858 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4859 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4860
4861 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4862 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4863 the display; we didn't open it.
4864
bccee4f2
GM
4865 * dispnew.c (save_or_restore_current_matrices): Function removed.
4866 (save_current_matrix, restore_current_matrix): New functions.
4867 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4868 restore the frame's current matrix. Due to the glyph pointer
4869 setup done in adjust_glyph_matrix, there is no easy way to make
4870 saving the current matrix in the desired matrix generally correct,
4871 so don't try it.
4872
ebeccffa
KH
48732001-01-15 Kenichi Handa <handa@etl.go.jp>
4874
4875 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4876 truncation glyphs.
4877 (display_line): Optimize for wide characters.
e4ded23c 4878 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4879 partially. On ttys, produce more than one truncation glyph for
4880 multi-column characters that don't fit on the line.
4881
64388126
KH
48822001-01-13 Kenichi Handa <handa@etl.go.jp>
4883
52283633
SM
4884 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4885 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4886
8edb0a6f
JR
48872001-01-13 Jason Rumney <jasonr@gnu.org>
4888
4889 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4890 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4891 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4892 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4893
52283633
SM
4894 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4895 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4896 (x_draw_image_glyph_string): Adapt to change of image margins.
4897
4898 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4899 variables.
4900
4901 * w32bdf.c (search_file_line, get_cached_font_char)
4902 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4903
4904 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4905
4906 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4907 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4908 (Fw32_send_sys_command): Remove unused variables.
4909 (w32_msg_pump): Add parentheses.
4910
4911 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4912 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4913 Add parentheses.
4914
4956d1ef
GM
49152001-01-12 Gerd Moellmann <gerd@gnu.org>
4916
b30623be
GM
4917 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4918 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4919 being a pair of margins.
4920 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4921 to DEFVAR_LISP. Extend doc.
4922
4923 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4924 margins.
4925 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4926 pair of integers `(X . Y)', use X for the horizontal and Y for the
4927 vertical margin.
4928 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4929 (parse_image_spec): Check it.
52283633
SM
4930 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4931 (tiff_format, gif_format, gs_format):
4932 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4933
52283633
SM
4934 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4935 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4936 (x_draw_image_glyph_string): Adapt to the change of image margins.
4937
4938 * dispextern.h (struct image): Replace member `margin' with
4939 `hmargin' and `vmargin'.
4940
4554cc79
GM
4941 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4942 and GLYPHS.
4943
4944 * dispnew.c (update_text_area): Put code which decrements the
4945 stop position when the row's face extends to the end of the
3bffc665 4946 line in #if 0.
4554cc79 4947
3cccce8d
GM
4948 * xfns.c (x_set_mouse_color): Fix color allocation.
4949
4956d1ef
GM
4950 * keyboard.c: Call get_local_map with new argument list.
4951
4952 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4953
4954 * intervals.h (enum map_property): Removed.
4955 (get_local_map): Change prototype.
4956
4957 * keymap.c: Call get_local_map with new argument list.
4958 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4959
2c2ff7f2
GM
49602001-01-11 Gerd Moellmann <gerd@gnu.org>
4961
a23887b9
GM
4962 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4963 of the size needed for the tool bar string. For the last image,
4964 use a `display' property that reaches to the end of the string.
4965
a7ee2d2e
GM
4966 * xselect.c (selection_request_dpyinfo): New variable.
4967 (x_handle_selection_request): Set it.
4968 (x_selection_request_lisp_error): Don't call
4969 x_decline_selection_request if selection request's display has
4970 been closed.
4971
52283633
SM
4972 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4973 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4974
457b792c
GM
49752001-01-10 Dave Love <fx@gnu.org>
4976
4977 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4978 ${SOME_MACHINE_LISP}, not ${lisp}.
4979
c1efd260
GM
49802001-01-10 Gerd Moellmann <gerd@gnu.org>
4981
52283633
SM
4982 * xdisp.c (display_line): On ttys, produce more than one truncation
4983 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4984
ac95a621
GM
4985 * xselect.c (x_reply_selection_request): Add a comment.
4986
c1efd260
GM
4987 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4988 XkbGetNames instead of XkbGetKeyboard.
4989
1bfb1345
DL
49902001-01-10 Dave Love <fx@gnu.org>
4991
4992 * sysdep.c (random): Revert the declaration.
4993
38119822
GM
49942001-01-09 Gerd Moellmann <gerd@gnu.org>
4995
52283633
SM
4996 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4997 Call function string_bytes.
35f464a7
GM
4998 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4999
5000 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5001 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5002 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5003 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5004 the current sblock.
5005 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5006 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5007 after sweeping strings, and at the end.
5008 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5009
38119822
GM
5010 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5011 ensure that pop_message is called.
5012
5013 * keyboard.c (Fexecute_extended_command): Use a
5014 record_unwind_protect to ensure that pop_message is called.
5015
5016 * lisp.h (push_message_unwind): Add prototype.
5017
5018 * xdisp.c (push_message_unwind): New function.
5019
5020 * fileio.c (do_auto_save_unwind): Do the pop_message here
5021 instead of in Fdo_auto_save.
5022 (Fdo_auto_save): Don't call pop_message.
5023
f47a9ec4
KR
50242001-01-08 Ken Raeburn <raeburn@gnu.org>
5025
5026 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5027 in inner block.
5028
a758f97d
GM
50292001-01-08 Gerd Moellmann <gerd@gnu.org>
5030
6d0afc03
GM
5031 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5032 when increasing window's vscroll.
5033
a758f97d
GM
5034 * macros.c (Qkbd_macro_termination_hook): New variable.
5035 (syms_of_macros): Initialize and staticpro it.
5036 (pop_kbd_macro): Run kbd-macro-termination-hook.
5037
5038 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5039
1bfb1345 50402001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5041
5042 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5043 arglist, for documentation's sake.
5044
0dac6924
AI
50452001-01-06 Andrew Innes <andrewi@gnu.org>
5046
5047 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5048 of *.pdb.
5049
8182406a
AI
50502001-01-05 Andrew Innes <andrewi@gnu.org>
5051
5052 * term.c (update_end): Don't check updating_frame; for some reason
5053 this can be 0 sometimes, such as after dismissing a popup menu,
5054 and isn't necessary given the explicit frame argument.
5055
3828218c
GM
50562001-01-05 Gerd Moellmann <gerd@gnu.org>
5057
5058 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5059 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5060
2f5ded21
GM
50612001-01-04 Gerd Moellmann <gerd@gnu.org>
5062
52283633 5063 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5064
5065 * xfns.c (x_create_tip_frame): Preserve the value of
5066 face_change_count around the creation of the tip frame.
52283633 5067
2f5ded21
GM
5068 * xfns.c (last_show_tip_args): New variable.
5069 (compute_tip_xy): New function.
5070 (Fx_show_tip): Reuse an existing tip frame, if possible.
5071 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5072
dfad65fa
DL
50732001-01-04 Dave Love <fx@gnu.org>
5074
64d4ec0f
DL
5075 * editfns.c (Fformat): Doc fix.
5076
dfad65fa
DL
5077 * systime.h (set_file_times): Prototype.
5078
5079 * widget.h (EmacsFrameSetCharSize_): Prototype.
5080
5081 * sysdep.c (random, srandom): Declare explicitly.
5082
5083 * dispextern.h (move_it_vertically_backward): Declare.
5084
85fe3b5e
GM
50852001-01-04 Gerd Moellmann <gerd@gnu.org>
5086
0f2ac578
GM
5087 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5088 like in Fx_create_frame.
5089
482cca61
GM
5090 * xfaces.c (set_font_frame_param): Don't do anything for
5091 non-graphical frames.
5092
85fe3b5e
GM
5093 * window.c (Fdelete_other_windows): Set window's window_end_valid
5094 to nil when changing the window's start. Don't change the
5095 window's start when its top position hasn't changed. If we do,
5096 this will set the window's optional_new_start, which act's like a
5097 force_start during redisplay with C-x 1 M-> under particular
5098 circumstances (see report from Per Starback to emacs-pretest-bug
5099 from 2000-12-13.).
5100
3e99d3b4
GM
51012001-01-03 Gerd Moellmann <gerd@gnu.org>
5102
a77dc1ec
GM
5103 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5104 short cut at the start of the function. Add an assertion.
5105 (reseat_at_next_visible_line_start): Add an assertion.
5106
2f3cad6c
GM
5107 * window.c (Frecenter): When changing the window start, set the
5108 window's window_end_valid to nil.
5109 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5110
5111 * dispextern.h (move_it_past_eol): Add prototype.
5112
5113 * xdisp.c (move_it_past_eol): New function.
5114
3e99d3b4
GM
5115 * window.c (Fwindow_end): Doc fix.
5116
51172001-01-03 Dave Love <fx@gnu.org>
5118
52283633 5119 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5120
bafb434c
GM
51212001-01-03 Gerd Moellmann <gerd@gnu.org>
5122
5123 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5124 the enabled_p flag of the glyph row at window_end_vpos to 0.
5125 (handle_single_display_prop): Fix last change.
5126
5297fb00
RS
51272001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5128
5129 * window.c (Frecenter): Doc fix.
5130
13d6a61c
AI
51312001-01-02 Andrew Innes <andrewi@gnu.org>
5132
5133 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5134
5135 * frame.h (output_method): Add output_w32_console method.
5136 (FRAME_W32_CONSOLE_P): New macro.
5137
5138 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5139 use output_w32_console method.
5140 (Qw32_console): New Lisp_Object.
5141 (Fframep): Return it.
5142 (syms_of_frame): Init it.
52283633 5143 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5144
5145 * xfaces.c (realize_default_face): Set face foreground and
5146 background to unspecified for w32_console frames.
5147 (realize_face): Realize face cache for w32_console frames.
5148 (realize_tty_face): Accept w32_console frames.
5149
52283633 5150 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5151 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5152 necessary, even if running interactively.
5153
5154 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5155 w32_console frames.
5156
52283633
SM
5157 * w32term.c (x_update_begin):
5158 (x_update_end):
5159 (x_clear_frame):
5160 (x_ins_del_lines):
5161 (x_change_line_highlight):
5162 (x_delete_glyphs):
5163 (w32_ring_bell):
5164 (x_update_begin):
5165 (x_update_end):
5166 (w32_reassert_line_highlight):
5167 (w32_frame_rehighlight):
13d6a61c
AI
5168 (w32_frame_raise_lower): Do nothing if not w32 frame.
5169
5170 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5171
5172 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5173 system doesn't tell us directly.
5174 (Fx_display_visual_class): Implement properly.
5175
d6bb0c0d
GM
51762001-01-02 Gerd Moellmann <gerd@gnu.org>
5177
5178 * window.c (Frecenter): Handle centering in graphical frames
5179 specially. Centering on the basis of line counts doesn't work
5180 reliably with variable-height lines.
52283633 5181
315f5865
EZ
51822001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5183
5184 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5185 and al[].
5186
52283633 5187 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5188 (update_compositions): Remove unused variable `hook'.
5189
5190 * intervals.c (get_local_map): Remove unused variable `tem'.
5191
5192 * doprnt.c (doprnt1): Remove unused variable `size'.
5193
5194 * fns.c (Flength): Remove unused variable `tail'.
5195 (Fdelete): Remove unused variable `size'.
5196
5197 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5198 and `gcpro2'.
5199
52283633 5200 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5201
5202 * data.c (find_symbol_value): Remove extra 3rd argument in the
5203 call to swap_in_symval_forwarding.
5204
52283633 5205 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5206
5207 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5208 (trivial_regexp_p): Remove unused variable `c'.
5209 (boyer_moore): Remove unused variable `k'.
5210
5211 * indent.c (current_column): Remove unused variable `stopchar'.
5212 (Fcompute_motion): Remove unused variable `contin'.
5213
5214 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5215
5216 * dired.c (directory_files_internal): Fix a typo in a comment.
5217 Remove an unused variable `handler'.
52283633 5218 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5219 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5220 on BSD4_2.
5221
52283633 5222 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5223
5224 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5225 and `buf'.
5226 (Fmarker_insertion_type): Remove unused variable `buf'.
5227
5228 * insdel.c (make_gap): Remove unused variable `result'.
5229
52283633 5230 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5231 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5232 (menu_bar_items): Remove unused function-scope variable `tem'.
5233
5234 * fontset.c (fontset_ref): Remove unused variable `i'.
5235 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5236 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5237 (make_fontset_for_ascii_face): Remove unused variable `name'.
5238 (fs_load_font): Remove unused variable `font_idx'.
52283633 5239 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5240 (list_fontsets): Remove unused variable `tail'.
5241 (Fnew_fontset): Remove unused variables `family' and `registry'.
5242 (accumulate_font_info): Remove unused variable `tmp'.
5243 (Ffontset_font): Remove unused variable `id'.
5244 (syms_of_fontset): Remove unused variable `i'.
5245
5246 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5247 to x_term_init.
5248 (lookup_image): Remove unused variable `file'.
5249 (xbm_load): Remove unused variables `bitmap_data', `height', and
5250 `width'. Remove function-local variable `i', leave the
5251 block-local one.
5252 (gif_load): Remove unused variable `inc'.
5253
52283633 5254 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5255 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5256 leave only the one in the inner block.
5257
5258 * xfaces.c (face_fontset, realize_default_face): Remove unused
5259 variable `fontset'.
5260 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5261
5262 * term.c (encode_terminal_code): Remove unused variable `c'.
5263
5264 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5265 char *' instead of `char *'.
5266
5267 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5268 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5269 (Fchar_category_set): Remove unused variables `val', `charset',
5270 `c1' and `c2'.
5271
52283633
SM
5272 * coding.c (detect_coding_iso2022, setup_coding_system):
5273 Remove unused variable `i'.
315f5865
EZ
5274 (detect_coding_mask): Remove unused variable `idx'.
5275 (detect_coding): Remove unused variable `i'.
5276 (ccl_coding_driver): Remove unused variable `result'.
5277 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5278 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5279 (encode_coding_string): Remove unused variables `gcpro1' and
5280 `saved_coding_symbol'.
5281 (Ffind_coding_systems_region_internal): Remove function-local
5282 variable args[], leave only the block-local one.
5283 (code_convert_region1): Remove unused variable `len'.
5284
5285 * charset.c (char_printable_p): Remove unused variable `chars'.
5286 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5287 (str_to_multibyte): Remove unused variable `c'.
5288
5289 * window.c (size_window): Remove block-local variable `min_size'.
5290
5291 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5292 `header_line_height'.
5293 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5294 enum display_element_type.
5295
1a8a9daf
GM
52962001-01-02 Gerd Moellmann <gerd@gnu.org>
5297
6dde6abc 5298 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5299 statements that call X. Save away the error message in a local copy.
5300
1883b2c6
GM
5301 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5302 the start.
5303
a13be207
GM
5304 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5305 in or at the start of invisible text.
5306
1a8a9daf
GM
5307 * dispnew.c (update_window): Don't check_current_matrix_flags.
5308
3608c0f9
JR
53092001-01-01 Jason Rumney <jasonr@gnu.org>
5310
5311 * w32fns.c (x_figure_window_size): Do not allow new_height and
5312 new_width of frame to override specified values.
5313
abb1acc4
KH
53142000-12-30 Kenichi Handa <handa@etl.go.jp>
5315
52283633 5316 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5317
762a68ec
GM
53182000-12-29 Gerd Moellmann <gerd@gnu.org>
5319
52283633 5320 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5321 (update_window) [GLYPH_DEBUG]: Call it.
5322 (scrolling_window): Prevent including current rows which are below
5323 what's displayed in the window.
5324
5325 * xdisp.c (try_window_reusing_current_matrix)
5326 <new start <= old start>: Disable rows in the current matrix
5327 which are below the window after scrolling.
52283633 5328
762a68ec
GM
5329 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5330 is zero. It's not worth the complexity.
5331 (invisible_text_between_p): Put in #if 0 because unused.
5332
2d5912c1
GM
53332000-12-28 Gerd Moellmann <gerd@gnu.org>
5334
46f6a258
GM
5335 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5336 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5337
89f93679
GM
5338 * keyboard.c (echo_char): If C is an integer, always call
5339 push_key_description. Former code could signal an invalid
5340 character error.
5341
5342 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5343 If set, print multibyte text.
5344 (Fsingle_key_description): Call push_key_description with
5345 FORCE_MULTIBYTE set.
5346 (describe_buffer_bindings): Likewise.
5347
5348 * lisp.h (push_key_description): Add prototype.
5349
c06017fb
GM
5350 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5351 around the call to redisplay_internal.
5352
f1d2ce7f
GM
5353 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5354
2d5912c1
GM
5355 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5356
9371f831
KH
53572000-12-28 Kenichi Handa <handa@etl.go.jp>
5358
5359 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5360 (ccl_driver): New local variable `extra_bytes'.
5361
5362 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5363
52283633
SM
5364 * coding.c (setup_coding_system):
5365 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5366 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5367
0c80628a
KH
53682000-12-28 Kenichi Handa <handa@etl.go.jp>
5369
5370 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5371 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5372 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5373 (decode_composition_emacs_mule): New function.
5374 (decode_coding_emacs_mule): Decode composition sequence by calling
5375 decode_composition_emacs_mule.
5376 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5377 (encode_coding_emacs_mule): Changed from macro to function.
5378 If a text contains compositions, encode them correctly.
0c80628a
KH
5379 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5380 that decoding and encoding are required.
5381
3e32cc27
GM
53822000-12-27 Gerd Moellmann <gerd@gnu.org>
5383
5e25feee
GM
5384 * xfaces.c (PT_PER_INCH): New macro.
5385 (xlfd_point_size): Compute real point size from font's pixel size.
5386 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5387 instead of 72.
5388
892d8fcd
GM
5389 * .gdbinit: Comment out the line pointing to the Lesstif source
5390 directory.
5391
12c8b416
GM
5392 * window.c (Frecenter): Use displayed_window_lines instead
5393 of window_internal_height.
5394
6061fbf0
GM
5395 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5396 instead of x-toolkit-scroll-bars-p.
5397 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5398
5399 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5400 instead of x-toolkit-scroll-bars-p.
5401 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5402
3e32cc27
GM
5403 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5404 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5405 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5406 New variables.
5407 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5408 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5409 (build_frame_matrix_from_leaf_window): Remove unused code.
5410 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5411 redisplay history.
5412 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5413 (update_window) [GLYPH_DEBUG]: Likewise.
5414 (syms_of_display): Defsubr dump-redisplay-history.
5415
31798cfe
GM
54162000-12-23 Gerd Moellmann <gerd@gnu.org>
5417
f717c2ba
GM
5418 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5419 the end of the prompt. Set echo_after_prompt to the offset
5420 of echoptr in echobuf.
5421
aeb2b8fc
GM
5422 * xdisp.c (init_from_display_pos): Pop until the iterator's
5423 stack is empty; there may be frames for stretch or images
5424 on the stack.
5425
31798cfe
GM
5426 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5427 (save_or_restore_current_matrix): New function for the same
5428 purpose, but more efficient.
5429 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5430
f8156156
EZ
54312000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5432
5433 * xdisp.c (syms_of_xdisp): Fix last change.
5434
bdd6d4e8
GM
54352000-12-23 Gerd Moellmann <gerd@gnu.org>
5436
5437 * xdisp.c (syms_of_xdisp): Doc fix.
5438
5439 * xdisp.c (redisplay_window): Remove label restore_buffers;
5440 use finish_scroll_bars instead to make sure that scroll bars
5441 are redeemed. If we don't do this, flickering can result from
5442 scroll bars being destroyed and recreated.
5443
9436cdf9
JR
54442000-12-22 Jason Rumney <jasonr@gnu.org>
5445
5446 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5447 in the wrong colors when the foreground is not black.
5448 (expose_window): Don't redraw the window that's currently being
5449 updated.
5450
951f9df5
GM
54512000-12-22 Gerd Moellmann <gerd@gnu.org>
5452
856ff7a7
GM
5453 * window.c (size_window): When setting the window's too_small_ok
5454 flag, compare old size with minimum size depending on WIDTH_P,
5455 don't compare with window_min_width.
52283633 5456
951f9df5
GM
5457 * window.c (delete_window): Simplify somewhat.
5458 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5459 freeing window matrices. The flag windows_or_buffers_changed is
5460 set, so the next redisplay will consider all windows; this should
5461 suffice.
5462
886bc933
KH
54632000-12-22 Kenichi Handa <handa@etl.go.jp>
5464
5465 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5466
5467 * ccl.h (struct ccl_program): New member cr_consumed.
5468
5469 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5470 (CCL_READ_CHAR): Handle EOL conversion here.
5471 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5472
177f4e88
GM
54732000-12-21 Gerd Moellmann <gerd@gnu.org>
5474
52283633 5475 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5476
5477 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5478 otherwise tabs of different size compare equal.
5479
5480 * callint.c (Fcall_interactively): Prevent a compiler warning.
5481
5482 * print.c (print_unwind): Return nil.
5483 (PRINTDECLARE): Initialize all local variables.
5484 (print_preprocess): Add a default case.
5485
8e15274f
GM
5486 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5487
5488 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5489
52283633 5490 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5491 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5492
5493 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5494
5495 * dispnew.c (ensure_frame_matrix): Removed.
5496 (save_frame_matrix, restore_frame_matrix): New functions.
5497 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5498
5499 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5500 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5501
99012074
AI
55022000-12-21 Andrew Innes <andrewi@gnu.org>
5503
5504 * w32term.c (x_update_begin): Regenerate the palette here, rather
5505 than for each window.
5506
5507 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5508 palette is NULL, since this corrupts memory! Also get
5509 display_info reference from frame.
5510
29ef7d2d
JR
55112000-12-21 Jason Rumney <jasonr@gnu.org>
5512
5513 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5514
5515 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5516 to avoid returning without releasing it.
3e27fa1f 5517
3f9d67a6
KH
55182000-12-21 Kenichi Handa <handa@etl.go.jp>
5519
587fc3f9
KH
5520 * keymap.c (push_key_description): Don't convert eight-bit-control
5521 and eight-bit-graphic to multibyte character.
5522
3f9d67a6
KH
5523 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5524 generic character and CODE1 is nil, return the smallest character
5525 in CHARSET.
5526
774ba8c9
DL
55272000-12-20 Dave Love <fx@gnu.org>
5528
5529 * s/osf5-0.h (NSIG): Don't redefine.
5530
88416888
SM
55312000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5532
5533 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5534 excluding menu-bar and tool-bar.
5535 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5536 (menu_item_p): Remove.
5537 (where_is_internal_1): Don't ignore menu-items.
5538
a6426c6f
GM
55392000-12-20 Gerd Moellmann <gerd@gnu.org>
5540
03ff8aab
GM
5541 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5542 into account.
5543
5544 * window.c (make_window): Initialize window's min_hscroll.
5545 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5546 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5547 to zero.
5548 (struct saved_window): New member min_hscroll.
5549 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5550 (Fset_window_configuration): Set window's min_hscroll.
5551 (save_window_save): Save window's min_hscroll.
5552 (compare_window_configurations): Compare min_hscroll values.
5553
5554 * window.h (struct window): New member min_hscroll.
5555
5556 * keyboard.c (echo_prompt): Prevent a compiler warning.
5557
8de4aaf8
GM
5558 * xdisp.c (try_cursor_movement): Fix last change. The real
5559 condition is that PT is at the end of the row, and should
5560 be displayed at the start of the next row.
52283633 5561
3f7e3031
GM
5562 * xdisp.c (try_cursor_movement): If we end on a partially
5563 visible line, end we already decided to scroll, return -1.
5564
a6426c6f
GM
5565 * dispextern.h (ensure_frame_matrix): Add prototype.
5566
5567 * window.c (delete_window, Fsplit_window)
5568 (Fset_window_configuration): Call ensure_frame_matrix.
5569
52283633
SM
5570 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5571 New functions.
a6426c6f
GM
5572 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5573 completed, call fake_current_matrices instead of marking frame
5574 garbaged.
5575
57fa2774
JR
55762000-12-20 Jason Rumney <jasonr@gnu.org>
5577
5578 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5579
d925df90
EZ
55802000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5581
5582 * fns.c (Frequire): Doc fix.
5583
7b93a85b
GM
55842000-12-19 Gerd Moellmann <gerd@gnu.org>
5585
52283633 5586 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5587
c74e645b
GM
5588 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5589 currently displaying a message.
5590
7b93a85b
GM
5591 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5592 xterm.h.
5593 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5594
90d97e64
AI
55952000-12-18 Andrew Innes <andrewi@gnu.org>
5596
5597 * w32.c (w32_strerror): New function.
5598
5599 * w32.h (w32_strerror): New extern.
5600
5601 * w32fns.c (Fw32_shell_execute): Use it.
5602
91c9e6ce
GM
56032000-12-18 Gerd Moellmann <gerd@gnu.org>
5604
5605 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5606
6f4745e2
EZ
56072000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5608
5609 * msdos.c (IT_set_face): Obey inverse_video.
5610
c9e088ce
KH
56112000-12-18 Kenichi Handa <handa@etl.go.jp>
5612
5613 * dired.c (directory_files_internal): Always return decoded filenames.
5614
c3695f5f
GM
56152000-12-18 Gerd Moellmann <gerd@gnu.org>
5616
52d8e4ff
GM
5617 * xterm.c (x_connection_closed): Prevent being called recursively
5618 because of an error condition in XtCloseDisplay.
52283633 5619
62be9979
GM
5620 * xdisp.c (init_iterator): If noninteractive, and the frame's
5621 face cache is null, make one.
5622
52283633 5623 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5624
c3695f5f
GM
5625 * process.c (wait_reading_process_input): Check for pending
5626 input when running timers.
5627
78555fbe
EZ
56282000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5629
52283633 5630 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5631
b2b36264
KH
56322000-12-18 Kenichi Handa <handa@etl.go.jp>
5633
5634 * process.c (read_process_output): Don't run a filter if the code
5635 decoder produces nothing but carryover.
5636
9c543fbf
AI
56372000-12-17 Andrew Innes <andrewi@gnu.org>
5638
5639 * w32.c (sys_rename): Only check errno against EEXIST, and not
5640 EACCES, when determining whether rename failed because the target
5641 exists. This was resulting in indefinite looping on Windows 9x if
5642 the source file was locked by another process.
5643
5644 * w32fns.c (Ffile_system_info): New function.
5645 (syms_of_w32fns): Defsubr it.
5646
10c2b5a8
GM
56472000-12-17 Gerd Moellmann <gerd@gnu.org>
5648
b0228ace
GM
5649 * window.c (coordinates_in_window): Fix computation for
5650 position on vertical line between mode lines.
5651
10c2b5a8
GM
5652 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5653 Don't alter tip_frame or tip_window.
5654 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5655 was deleted.
5656
c844a81a
GM
5657 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5658 Don't alter tip_frame or tip_window.
5659 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5660 was deleted.
5661
6c825f8e
EZ
56622000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5663
5664 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5665 be consistent with the doc string. Reported by NAKAJIMA Mikio
5666 <minakaji@osaka.email.ne.jp>.
5667
af4bb4c8
KH
56682000-12-16 Kenichi Handa <handa@etl.go.jp>
5669
5670 * xfaces.c (Vface_ignored_fonts): New variable.
5671 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5672 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5673
8062e53a
GM
56742000-12-15 Gerd Moellmann <gerd@gnu.org>
5675
e87b8809
GM
5676 * dispnew.c (update_window): Detect pending input every nth line
5677 updated, i.e. do it depending on real work done, and not on the
5678 vpos of the line.
5679
5680 * xterm.c (expose_window): Don't redraw the window that's
5681 currently being updated.
5682
a6768cc5
GM
5683 * window.c (Fset_window_point): Remove test for
5684 cursor_in_non_selected_windows.
5685
4ea7fdca
GM
5686 * lread.c (read1): Recognize end of file after `\\'.
5687
8062e53a
GM
5688 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5689 not unwind_create_frame.
5690
bb7959c1
GM
56912000-12-15 Dave Love <fx@gnu.org>
5692
5693 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5694 bcopy & al.
5695
5696 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5697
ced04c42
KH
56982000-12-15 Kenichi Handa <handa@etl.go.jp>
5699
c5443913
KH
5700 * coding.c (setup_coding_system): Clear all members of the struct
5701 coding_system at first.
bc137305
KH
5702 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5703 argument.
5704 (code_convert_region): Don't override coding->src_multibyte and
5705 coding->dst_multibyte.
c5443913 5706
ced04c42
KH
5707 * fns.c (Fmd5): Docstring improved.
5708
c2d7f289
MB
57092000-12-15 Miles Bader <miles@gnu.org>
5710
5711 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5712 are actually marked as mode-lines; otherwise use
5713 estimate_mode_line_height.
5714
9d7d9263
GM
57152000-12-14 Gerd Moellmann <gerd@gnu.org>
5716
5717 * editfns.c (Fformat): Prevent a buffer overrun when the format
5718 specifies a precision.
5719
7cf0153a
EZ
57202000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5721
5722 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5723 argument is outside the range [2..3].
5724
1de0f662
AI
57252000-12-14 Andrew Innes <andrewi@gnu.org>
5726
5727 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5728 nothing to do. Bind inhibit-quit.
5729 (tip_frame): Make it a Lisp_Object.
5730 (x_create_tip_frame): Set tip_frame after it has been added to
5731 Vframe_list.
5732 (Fx_show_tip): Don't set tip_frame here.
52283633 5733 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5734 (unwind_create_frame, unwind_create_tip_frame): New functions.
5735 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5736 while a frame is only partially constructed.
5737
5738 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5739 (x_free_frame_resources): New function.
5740 (x_destroy_window): Use it.
5741
02387dcc
GM
57422000-12-14 Gerd Moellmann <gerd@gnu.org>
5743
5744 * xfns.c (Fx_backspace_delete_keys_p): New function.
5745 (syms_of_xfns): Defsubr it.
5746
5747 * config.in (HAVE_XKBGETKEYBOARD): Add.
5748
0544ef49
KH
57492000-12-14 Kenichi Handa <handa@etl.go.jp>
5750
98d62747
KH
5751 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5752 Always store string in multibyte representation in echobuf.
5753 (echo_char): Always store string in multibyte representation in
5754 echobuf.
5755 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5756 (read_key_sequence): Adjusted for the change of echo_prompt.
5757
a20193cd
KH
5758 * fns.c (Fmd5): Docstring improved.
5759
191b83b6
KH
5760 * lisp.h (detect_coding_system): Prototype adjusted.
5761
0544ef49
KH
5762 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5763 (detect_coding_emacs_mule, detect_coding_iso2022,)
5764 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5765 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5766 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5767 (detect_coding_mask, detect_coding_system): New argument
5768 MULTIBYTEP. Callers changed.
1da1bb05
KH
5769 (decode_coding_string): Set coding->src_multibyte and
5770 coding->dst_multibyte before calling detect_coding and detect_eol.
5771 Update them after some coding system is detected.
52283633 5772
d5b3eb1b
SM
57732000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5774
5775 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5776
5777 * keyboard.c (menu_bar_items, tool_bar_items):
5778 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5779
f7f8bb69
GM
57802000-12-13 Gerd Moellmann <gerd@gnu.org>
5781
52283633 5782 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5783 New variables.
5784 (unwind_create_frame, unwind_create_tip_frame): New functions.
5785 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5786 while a frame is only partially constructed.
5787
5788 * xterm.h (x_free_frame_resources): Declare.
5789
5790 * xterm.c (x_free_frame_resources): New function.
5791 (x_destroy_window): Use it.
5792
e10da507
GM
5793 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5794 don't interrupt the update for pending input initially, i.e.
5795 update at least some lines.
5796
5797 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5798
d5b3eb1b 5799 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5800
5801 * xfns.c (gray_bitmap_bits): Declare `char *'.
5802
90aa2856
GM
58032000-12-12 Gerd Moellmann <gerd@gnu.org>
5804
5805 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5806 lines start with a relief line.
5807
a308c9cd
DL
58082000-12-12 Dave Love <fx@gnu.org>
5809
5810 * window.c (Fdisplay_buffer): Doc fix.
5811 (Fwindow_list): Remove unused var.
5812
5813 * buffer.h (mmap_set_vars): Declare.
5814
5815 * window.h (Fset_window_point): Declare.
5816
d575011f
EZ
58172000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5818
bf6282d2 5819 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5820 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5821 variable `area'. When looking for a row under (X,Y), give up if some
5822 of the previous rows is not enabled.
d575011f 5823
ecf4d726
GM
58242000-12-12 Gerd Moellmann <gerd@gnu.org>
5825
2ebf6139
GM
5826 * window.c (Fset_window_point): If displaying cursors in windows
5827 other than the selected window, make sure redisplay updates
5828 other windows to show the new value of point in the window.
5829
5830 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5831
bfdb75ee
GM
5832 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5833 the buffer is the sole visible buffer when in the mini-buffer.
5834
52283633 5835 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5836 Bind `inhibit-read-only' to t.
5837 (unwind_with_echo_area_buffer): Use AREF.
5838
c0006262
GM
5839 * xfns.c (Fx_hide_tip): Simplified.
5840
52283633
SM
5841 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5842 instead of `1'.
e9a59cad 5843
ecf4d726
GM
5844 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5845
e5959a9a
GM
58462000-12-11 Gerd Moellmann <gerd@gnu.org>
5847
a3642e49 5848 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5849
44b5a125
GM
5850 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5851 nothing to do. Bind inhibit-quit.
5852 (tip_frame): Make it a Lisp_Object.
5853 (x_create_tip_frame): Set tip_frame after it has been added to
5854 Vframe_list.
5855 (Fx_show_tip): Don't set tip_frame here.
5856
5857 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5858
5859 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5860 Lisp_Object.
5861
5862 * dispextern.h: Change external declaration of tip_frame.
5863
d990421f
GM
5864 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5865 return an empty string.
5866
4db87380
GM
5867 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5868 of the window's update_mode_line flag, since the former is set by
5869 force-mode-line-update, not the latter. This makes
5870 column-number-mode slightly faster.
52283633 5871
e5959a9a
GM
5872 * xdisp.c (try_window_id) <all changes above window start>:
5873 Set the cursor.
5874
169fe44e
GM
58752000-12-11 Paul Eggert <eggert@twinsun.com>
5876
5877 * config.in (HAVE_FTELLO): Remove.
5878 (HAVE_FSEEKO): Add.
5879 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5880 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5881 HAVE_FTELLO.
5882 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5883 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5884
59ec59ae
MB
58852000-12-11 Miles Bader <miles@gnu.org>
5886
5887 * window.c (displayed_window_lines): Don't round up when
5888 converting empty space at bottom to lines.
ff904dd6
MB
5889 Handle non-newline-terminated final lines properly.
5890 (Fwindow_text_height): New function (used to be in lisp).
5891 (syms_of_window): Initialize it.
59ec59ae 5892
42ebfa31
SM
58932000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5894
5895 * syntax.c (scan_lists): Check that the right quote char has the
5896 right Sstring syntax when jumping over strings.
5897 (init_syntax_once): Use Smax rather than 13.
5898
5cdb3cf3
MB
58992000-12-09 Miles Bader <miles@gnu.org>
5900
5901 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5902 with PARTIALLY, inverting the sense.
5903 (window_scroll_pixel_based): Scroll partially visible lines into
5904 place if we hit the beginning or end of the buffer.
a12167c5
MB
5905 (displayed_window_lines): Don't include partially visible lines.
5906 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5907
842b2a94
GM
59082000-12-08 Gerd Moellmann <gerd@gnu.org>
5909
5910 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5911
5912 * tparam.c (tparam1): Change the way buffers are reallocated to be
5913 portable and less obfuscated.
5914
5915 * termcap.c (tgetent): Change the way buffers are reallocated to
5916 be portable and less obfuscated.
5917
5918 * macros.c (store_kbd_macro_char): Change the way buffers are
5919 reallocated to be portable and less obfuscated.
5920
5921 * lread.c (read1): Change the way buffers are reallocated to be
5922 portable and less obfuscated.
5923
5924 * doc.c (Fsubstitute_command_keys): Change the way buffers
5925 are reallocated so that it is portable.
5926
137cad7c
EZ
59272000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5928
5929 * dosfns.c (Ffile_system_info): New function.
5930 (syms_of_dosfns): Defsubr it.
5931
5c7f629c
SM
59322000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5933
5934 * alloc.c (gc_sweep): Add comment.
5935
959e647d
GM
59362000-12-07 Gerd Moellmann <gerd@gnu.org>
5937
52283633
SM
5938 * sound.c (vox_configure): Change order of ioctls.
5939 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5940 Ignore errors when changing volume.
5941 (vox_close): Don't reset the device.
5942
926b7e5e
GM
5943 * process.c (read_process_output): Make sure the process marker's
5944 position is valid when the process buffer is changed in
5945 after-change functions. W3 does that.
52283633 5946
959e647d
GM
5947 * xfns.c (x_free_gcs): New function.
5948
5949 * xterm.h (x_free_gcs): Add prototype.
5950
5951 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5952 freeing GCs here.
5953
5954 * xterm.c (x_destroy_window): Call x_free_gcs so that
5955 resources of non-toolkit X windows will be freed.
5956
478ea067
AI
59572000-12-07 Andrew Innes <andrewi@gnu.org>
5958
5959 * w32fns.c (xlfd_charset_of_font): Fix last change.
5960
fbee3231
DL
59612000-12-06 Dave Love <fx@gnu.org>
5962
67292061
DL
5963 * md5.h (__P): Don't define -- it comes from config.h.
5964
fbee3231
DL
5965 * strftime.c: Change some #if foo to #ifdef foo.
5966
4ee87dbb
AI
59672000-12-06 Andrew Innes <andrewi@gnu.org>
5968
5969 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5970
52283633 5971 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5972 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5973 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5974
9765b4a4
GM
59752000-12-06 Gerd Moellmann <gerd@gnu.org>
5976
d285b373
GM
5977 * alloc.c (gc_sweep): Prevent symbols read during loadup
5978 from being freed.
5979
384333ee
GM
5980 * xdisp.c (underlying_face_id): New function.
5981 (handle_face_prop, face_before_or_after_it_pos): Use it
5982 to determine the face ``under'' a string. Let strings inherit
5983 the face of the buffer under them.
5984
5985 * xfaces.c (face_at_string_position): Update function comment.
52283633 5986
d4b72d58
GM
5987 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5988 matrix if the window's left position has changed; we need to
5989 redraw it in this case.
5990
5991 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5992
e1d05387
GM
5993 * window.c (coordinates_in_window): Check mouse on mode-line or
5994 header-line first.
5995
eb1b0c74
GM
5996 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5997 advertized by the function documentation.
5998
d94d636f
GM
5999 * window.c (syms_of_window): Doc fix.
6000
3887b449
GM
6001 * sound.c (vox_configure): Set volume for left and right channel.
6002 (sound_cleanup): Return nil.
6003
efc8f57a
GM
6004 * xdisp.c (move_it_by_lines): Fix paren typo.
6005
9765b4a4
GM
6006 * xterm.c (x_load_font): Don't use the font's max_bounds for
6007 computing the height of the font. If max_bounds' ascent or
6008 descent are greater than the font's ascent or descent, this means
6009 glyphs overlap, which should be handled now by redisplay.
6010
6529ed87
GM
6011 * window.c (Veven_window_heights): New variable.
6012 (syms_of_window): DEFVAR_LISP it.
6013 (Fdisplay_buffer): Check Veven_window_heights before evening the
6014 window heights.
52283633 6015
0eb2ecde
MB
60162000-12-06 Miles Bader <miles@gnu.org>
6017
6018 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6019 update `default-frame-alist' instead of setting no frame parameters.
6020
03d7a167
KH
60212000-12-06 Kenichi Handa <handa@etl.go.jp>
6022
6023 * composite.c (update_compositions): Fix typo (use the correct
6024 variable).
6025
5f8803c2
JR
60262000-12-05 Jason Rumney <jasonr@gnu.org>
6027
6028 * md5.h: Remove underscores from function declarations.
6029 (__attribute__, __alignof__) [!__GNUC__]: Define.
6030
6031 * md5.c: Delay include of md5.h until after namespace cleaning.
6032
c28a075b
JR
6033 * makefile.w32-in (fns.o): Depend on md5.h
6034 (md5.o): New target.
6035 (sunfns.o): Remove.
6036
6037 * makefile.nt: Likewise.
6038
ff3c7056
JR
60392000-12-05 Jason Rumney <jasonr@altavista.net>
6040
6041 * w32term.c (expose_area): Complete last change.
6042
0c21eeeb
KR
60432000-12-05 Ken Raeburn <raeburn@gnu.org>
6044
6045 * minibuf.c: Include intervals.h.
6046
f201d732
JR
60472000-12-05 Jason Rumney <jasonr@gnu.org>
6048
6049 * w32term.c (x_produce_glyphs): If a font for a component of
6050 a composition is not found, use 1 pixel dot ascent and 0 dot
6051 descent value to avoid displaying terribly tall empty boxes.
6052 (expose_area): Pass x-coordinate relative to the exposed
6053 area to x_draw_glyphs instead of a window-relative coordinate.
6054
21999ab9
GM
60552000-12-05 Gerd Moellmann <gerd@gnu.org>
6056
4d2036e4
GM
6057 * xdisp.c (next_element_from_ellipsis): Save face before selective
6058 display in saved_face_id, and set face_before_selective_p.
6059 (reseat_1): Reset face_before_selective_p.
6060 (append_space, extend_face_to_end_of_line): If iterator's
6061 face_before_selective_p is set, use the face from saved_face_id.
6062 (extend_face_to_end_of_line): For tty frames, make sure to
6063 use the right face id when producing spaces at the end of
6064 the line.
6065
6066 * dispextern.h (struct it): Add face_before_selective_p.
6067
52be17cc
GM
6068 * keyboard.c (record_char): Don't record identical help-echo
6069 events in recent_keys.
6070
8a4f36cc
GM
6071 * xterm.c [USE_X_TOOLKIT]: Close the display.
6072 (xim_close_dpy): Handle case that the display has been closed.
6073
57d6e381
GM
6074 * xterm.c (x_destroy_window): Reset the frame's X window after
6075 destroying it.
6076
21999ab9
GM
6077 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6078 variable window_width.
6079 (line_draw_cost): Fix code skipping over spaces at the end of the
6080 line when must_write_spaces is not set.
6081 (scrolling_window): Fix code inserting runs in list of all runs.
6082
91372bb7
KH
60832000-12-05 Kenichi Handa <handa@etl.go.jp>
6084
6085 * coding.c (setup_coding_system): Be sure to initialize
6086 coding->category_idx.
6087
6c083b4c
GM
60882000-12-04 Gerd Moellmann <gerd@gnu.org>
6089
0c68ce6f 6090 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6091
6452929e
GM
6092 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6093 area to x_draw_glyphs instead of a window-relative coordinate.
6094
d7f31e22
GM
6095 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6096 error in the message.
6097
ae18aa3b
GM
6098 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6099 timer after having read a key. It's not good for code reading
6100 several keys in a loop, like an input method.
6101
caa15ef7
GM
6102 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6103 record undo information for format-decode.
6104
6105 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6106 current buffer is read-only, not if it isn't.
6107
6c083b4c
GM
6108 * keyboard.c (record_char): Record `help-echo' input events
6109 in recent_keys only if they display some help. Don't record
6110 `help-echo' events as macro char.
6111
caa15ef7
GM
61122000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6113
6114 * editfns.c (save_excursion_restore): Don't move point
6115 in another window if it is showing the wrong buffer.
6116 Avoid the call to Fwindow_live_p, for speed.
6117
5a13529b
KH
61182000-12-04 Kenichi Handa <handa@etl.go.jp>
6119
e225faa7
KH
6120 * xfaces.c (struct font_name): New member registry_priority.
6121 (split_font_name): Initialize the above member to zero.
6122 (concat_font_list): New function.
6123 (font_list): Include fonts of all alternative registries.
6124 (FONT_POINT_SIZE_QUANTUM): New macro.
6125 (better_font_p): Ignore point size difference less than
6126 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6127
e89648b4
KH
6128 * xterm.c (x_produce_glyphs): If a font for a component of
6129 a composition is not found, use 1 pixel dot ascent and 0 dot
6130 descent value to avoid displaying terribly tall empty boxes.
6131
5a13529b
KH
6132 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6133
d7935eb6
KR
61342000-12-03 Ken Raeburn <raeburn@gnu.org>
6135
6136 * coding.h (code_convert_string1): Declare.
6137
6138 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6139
52283633 6140 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6141
0dd5e255
JR
61422000-12-02 Jason Rumney <jasonr@gnu.org>
6143
6144 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6145 correctly for single byte character case.
6146 (w32_per_char_metric): Do not try to make any assumptions about
6147 the metrics of BDF fonts.
250cfece 6148 (x_estimate_mode_line_height): If `mode-line' face
52283633 6149 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6150 (note_mouse_highlight): Change the cursor shape on the vertical
6151 border between windows [not enabled].
6152
6153 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6154
6155 * w32fns.c (Fx_create_frame): Reintroduce the call to
6156 face-set-after-frame-defaults.
6157 (Vx_window_horizontal_drag_shape): New variable.
6158 (syms_of_xfns): DEFVAR_LISP it.
6159 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6160 enabled].
0dd5e255 6161
b5d8d2ca
GM
61622000-12-02 Simon Josefsson <simon@josefsson.org>
6163
6164 * fns.c (Fmd5): Use a different logic to decide the coding system
6165 to use.
6166
6167 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6168
fbb87147
EZ
61692000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6170
52283633 6171 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6172
447e9da0
GM
61732000-12-01 Gerd Moellmann <gerd@gnu.org>
6174
7708ced0
GM
6175 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6176 height for YNegative.
6177 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6178 height; also see comment there.
6179
447e9da0
GM
6180 * window.c (coordinates_in_window): Handle computations for
6181 positions on the vertical bar and fringes differently for
6182 window-system frames. Consider some pixels near the vertical bar
6183 as on the bar if the frame doesn't have vertical scroll bars.
6184 Associate positions between mode or header lines with the
6185 right window, the left one.
6186
86d1db20
JR
61872000-12-01 Jason Rumney <jasonr@gnu.org>
6188
6189 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6190
6191 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6192 invalid frame.
6193
a1d58e5b
GM
61942000-12-01 Gerd Moellmann <gerd@gnu.org>
6195
52283633 6196 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6197 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6198 (save_window_save, Fset_window_configuration): Save/restore
6199 window's orig_top and orig_height.
6200
89c609af
JR
62012000-12-01 Jason Rumney <jasonr@gnu.org>
6202
4d177746 6203 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6204
89c609af
JR
6205 * w32fns.c (x_set_cursor_color): Fix last change.
6206
eccc05db
GM
62072000-11-30 Gerd Moellmann <gerd@gnu.org>
6208
31b6671b
GM
6209 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6210 sure that the next redisplay displays the minibuffer, so that
6211 the cursor will be replaced with what the minibuffer wants.
6212
eccc05db
GM
6213 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6214 #ifndef instead of using #if.
6215 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6216 USE_TOOLKIT_SCROLL_BARS is defined.
6217
162de750
JR
62182000-11-30 Jason Rumney <jasonr@gnu.org>
6219
6220 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6221 x_display_cursor.
6222
693c4692
GM
62232000-11-30 Gerd Moellmann <gerd@gnu.org>
6224
6225 * fns.c (Fmd5): Doc fix.
6226
b5d8d2ca 62272000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6228
6229 * fns.c (Fmd5): New function.
6230 (syms_of_fns): Defsubr md5.
6231
6232 * Makefile.in (obj): Add md5.o
6233
b02cd40b
GM
62342000-11-30 Gerd Moellmann <gerd@gnu.org>
6235
edfb795e
GM
6236 * md5.h, md5.c: New files, taken from glibc.
6237
df3aedcf
GM
6238 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6239
b02cd40b 6240 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6241 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6242
8b5176cd
SM
62432000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6244
6245 * eval.c (Frun_hooks): Allow 0 arguments.
6246
346598f1
GM
62472000-11-29 Gerd Moellmann <gerd@gnu.org>
6248
f9396e03
GM
6249 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6250 is over the menu bar widget, say it's not on the frame.
6251
4a967a9b
GM
6252 * xfns.c (Fx_create_frame): Reintroduce the call to
6253 face-set-after-frame-defaults.
6254
346598f1
GM
6255 * eval.c (Fsignal): Reset handling_signal.
6256
222456a1
JR
62572000-11-28 Jason Rumney <jasonr@gnu.org>
6258
6259 * w32menu.c (add_menu_item): Reset menu item text when changing
6260 type to radio button.
6261
8049ddc0
GM
62622000-11-28 Gerd Moellmann <gerd@gnu.org>
6263
346598f1 6264 * xselect.c: Update copyright.
f4f4ee4d 6265
bebe4a2c
GM
6266 * window.c (coordinates_in_window): If on a mode or header line,
6267 but sufficiently close to its start, return ``on vertical
6268 border''. This gives us a way to drag windows horizontally when
6269 using toolkit scroll bars.
6270
6271 * xterm.c (note_mouse_highlight): Change the cursor shape
6272 on the vertical border between windows.
6273
6274 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6275
6276 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6277 (syms_of_xfns): DEFVAR_LISP it.
6278 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6279
8d2c2642
GM
6280 * textprop.c (text_read_only): New function.
6281 (verify_interval_modification): Use it instead of signaling
6282 `text-read-only'. This makes it easier to catch this error
52283633 6283 with a breakpoint.:
8d2c2642 6284
52283633 6285 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6286 not end of line, which includes CR.
6287
5a2bae6c
KH
62882000-11-28 Kenichi Handa <handa@etl.go.jp>
6289
6290 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6291 include no-conversion.
6292
ae31f84d
JR
62932000-11-27 Jason Rumney <jasonr@gnu.org>
6294
6295 * w32fns.c (w32_load_system_font): Always mark font as double byte
6296 if codepage is unicode.
6297
67f1cf4c
GM
62982000-11-27 Gerd Moellmann <gerd@gnu.org>
6299
4a74d071 6300 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6301 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6302
902ae620
GM
6303 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6304 `vertical-line', `mode-line' and `header-line' events.
6305
6306 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6307 of a character, a TAB for instance. This is easier than to set
6308 up the iterator exactly, and it's not a frequent case, so the
6309 additional effort wouldn't really pay off.
6310
c1e279c2
AC
63112000-11-26 Andrew Choi <akochoi@i-cable.com>
6312
67f1cf4c 6313 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6314 init_window_once.
6315
a609568a
JR
63162000-11-25 Jason Rumney <jasonr@gnu.org>
6317
52283633
SM
6318 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6319 Args to window_from_coordinates should be pixel coordinates.
48b21762 6320
a609568a
JR
6321 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6322 redisplay handles them properly.
6323
a658d039
MB
63242000-11-25 Miles Bader <miles@gnu.org>
6325
6326 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6327
d3416cca
JR
63282000-11-24 Jason Rumney <jasonr@gnu.org>
6329
6330 * w32.c (init_environment): Set LANG environment variable based on
6331 locale settings, if not set.
6332
6333 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6334 making tool bar smaller. When clearing the frame, also
6335 clear current matrices. Clear frame when tool bar disappears.
6336 Don't use more lines for the tool-bar than is available.
6337 (x_change_window_heights): New function.
6338
ba193890
GM
63392000-11-24 Gerd Moellmann <gerd@gnu.org>
6340
2be8f184
GM
6341 * xdisp.c (init_from_display_pos): If POS says we're already after
6342 an overlay string ending at POS, make sure to pop the iterator
6343 because it will be in front of that overlay string. When POS is
6344 ZV, we've thereby also ``processed'' overlay strings at ZV.
6345
ba193890
GM
6346 * xfaces.c (lface_from_face_name): Function comment fix.
6347
1862a24e
MB
63482000-11-24 Miles Bader <miles@gnu.org>
6349
6350 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6351 apply `mode-line-inverse-video' -- zero means force display using
6352 the default face, non-zero means display using the specialized face.
6353 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6354
f07fa1b8
KH
63552000-11-23 Kenichi Handa <handa@etl.go.jp>
6356
6357 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6358 hard coded `4'.
6359
2bcdf662
EZ
63602000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6361
6362 * coding.c (decode_coding_emacs_mule): Fix the case of
6363 CODING_EOL_LF, which used uninitialized value of c.
6364
ba8299ff
SM
63652000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6366
6367 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6368
f4117c4d
GM
63692000-11-22 Gerd Moellmann <gerd@gnu.org>
6370
03e757c1
GM
6371 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6372 buffer object.
6373
f4117c4d
GM
6374 * frame.h (struct frame): Replace desired_tool_bar_items,
6375 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6376 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6377
6378 * frame.c (make_frame): Change initialization of tool bar
6379 items accordingly.
6380
6381 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6382 Change references to members deleted from struct frame to use the
f4117c4d
GM
6383 new ones.
6384
6385 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6386 references to members deleted from struct frame to use the new ones.
f4117c4d 6387
52283633 6388 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6389
6390 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6391
6392 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6393 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6394 from struct frame to use the new ones.
6395
f8e2f3f2
MB
63962000-11-23 Miles Bader <miles@gnu.org>
6397
6398 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6399 the face's inverse-video attribute, rather than overriding it.
6400
60e8e0a5
GM
64012000-11-22 Gerd Moellmann <gerd@gnu.org>
6402
6403 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6404 making tool bar smaller.
6405
92dd1b29
DL
64062000-11-22 Dave Love <fx@gnu.org>
6407
6408 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6409
e672fdce
MB
64102000-11-22 Miles Bader <miles@gnu.org>
6411
3a17d6cc
MB
6412 * keyboard.c (Vminibuffer_message_timeout): New variable.
6413 (command_loop_1): Use it to determine message timeout.
6414 (syms_of_keyboard): Initialize it.
6415
60e8e0a5 6416 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6417
e9655d81
KH
64182000-11-22 Kenichi Handa <handa@etl.go.jp>
6419
6420 * sysdep.c: Move the code for declaring h_errno after #include
6421 <netdb.h>.
6422
77270fac
GM
64232000-11-21 Gerd Moellmann <gerd@gnu.org>
6424
cd913aae
GM
6425 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6426 the menu bar when the tooltip is unmapped.
6427
77270fac
GM
6428 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6429 sole visible buffer when we're currently in the mini-buffer, and
6430 give up if so.
52283633 6431
556635d6
JR
64322000-11-21 Jason Rumney <jasonr@gnu.org>
6433
6434 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6435 put on the clipboard.
6436 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6437 copy of what Emacs last put there. If they are the same, do not
52283633 6438 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6439
5b7bde64
MB
64402000-11-22 Miles Bader <miles@gnu.org>
6441
6442 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6443 (syms_of_minibuf): Initialize it.
6444 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6445 to prompt, don't make read-only.
6446
ff23e1dd
GM
64472000-11-21 Gerd Moellmann <gerd@gnu.org>
6448
52283633
SM
6449 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6450 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6451
7aaf4388
GM
6452 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6453
f5f47add 6454 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6455
ff23e1dd
GM
6456 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6457
37c35586
KH
64582000-11-21 Kenichi Handa <handa@etl.go.jp>
6459
6460 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6461 ... #endif scope.
6462
ff9ab414
GM
64632000-11-20 Gerd Moellmann <gerd@gnu.org>
6464
52283633 6465 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6466 screen supports it.
6467
29a01b72
GM
6468 * s/gnu-linux.h: Don't use `#cpu'.
6469
09dfdf85
GM
6470 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6471 not defined in mman.h.
6472
52283633 6473 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6474 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6475 and store an index in the XClientMessageEvent. Storing a
6476 Lisp_Object or pointer can fail on a 64 bit system, since X only
6477 transfers 32 bits.
52283633
SM
6478 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6479
81459ac9
DL
64802000-11-20 Dave Love <fx@gnu.org>
6481
6482 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6483
56c13ae6
GM
64842000-11-20 Gerd Moellmann <gerd@gnu.org>
6485
6486 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6487
495a6df3
KH
64882000-11-20 Kenichi Handa <handa@etl.go.jp>
6489
2bcf3714
KH
6490 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6491 by WIDTH.
6492
495a6df3
KH
6493 * alloc.c (make_string): Fix previous change. Be sure to make
6494 unibyte string correctly.
6495
6d950f4c
GM
64962000-11-19 Gerd Moellmann <gerd@gnu.org>
6497
39b39373
GM
6498 * window.c (Fwindow_list): Change parameter list to be XEmacs
6499 compatible.
6500 (window_list_1): New function.
6501 (window_loop): Use it instead of Fwindow_list.
6502
b95b34e5
GM
6503 * sysdep.c (emacs_ospeed): New variable.
6504 (toplevel): Don't declare ospeed extern.
6505 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6506
6507 * termcap.c (ospeed): Remove.
6508 (tputs) [!emacs]: Remove unused code.
6509 (tgetent): Avoid a compiler warning.
6510
e83dc917
GM
6511 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6512 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6513 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6514
6515 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6516 removed.
6517 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6518 Take the X display as additional argument.
6519 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6520 `Widget' is a pointer type that's not easily stored in Lisp_Object
6521 form in a portable way.
52283633 6522
6d950f4c
GM
6523 * dispnew.c (update_text_area): Fix last change.
6524
e47306e6
GM
65252000-11-18 Gerd Moellmann <gerd@gnu.org>
6526
fb3cd89b
GM
6527 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6528
6529 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6530 clear current matrices.
6531
edaa9aed
GM
6532 * buffer.c (mmap_enlarge): Don't print a message on stderr
6533 if mapping new memory at the end of the existing region fails.
6534
e47306e6
GM
6535 * dispnew.c (update_text_area): Don't skip over equal glyphs
6536 when the last current glyph overlaps the glyph to its right.
6537
509633e3
MB
65382000-11-18 Miles Bader <miles@gnu.org>
6539
6540 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6541 lines that *end* with "..." too (that's the most common case!).
6542
d392e9c5
GM
65432000-11-18 Gerd Moellmann <gerd@gnu.org>
6544
67988445
GM
6545 * xdisp.c (resize_mini_window): Temporarily change to the
6546 mini-window's buffer if necessary.
1bfdbe43 6547
d392e9c5
GM
6548 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6549 the tooltip obscures less text under it.
6550
65512000-11-17 Gerd Moellmann <gerd@gnu.org>
6552
6553 * puresize.h (BASE_PURESIZE): Increase to 700000.
6554
92bb977f
JR
65552000-11-18 Jason Rumney <jasonr@gnu.org>
6556
6557 * w32term.c (w32_draw_bitmap): Use face to set colors.
6558
26fbf20b
DL
65592000-11-17 Dave Love <fx@gnu.org>
6560
6561 * lread.c (Fload): Fix #ifdef for pcc.
6562
100b593b
GM
65632000-11-17 Gerd Moellmann <gerd@gnu.org>
6564
6565 * xdisp.c (pos_visible_p): Compute the default character height
6566 differently.
6567
a288d0d1
GM
65682000-11-16 Gerd Moellmann <gerd@gnu.org>
6569
cac94de6 6570 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6571 knowing the line's height; use the default font's height in that case.
cac94de6 6572
a288d0d1
GM
6573 * xfaces.c (weight_table): Add `demi' with the same meaning as
6574 `demibold'.
6575
981fb6f6
KH
65762000-11-16 Kenichi Handa <handa@etl.go.jp>
6577
2cca872d 6578 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6579 (clear_glyph_row): Delete local static variable null_row.
6580
e5fa381b
JR
65812000-11-15 Jason Rumney <jasonr@gnu.org>
6582
6583 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6584 (w32_alloc_lighter_color): Use new brightness calculations from
6585 xterm.c. Scale delta to be in the range expected by W32.
6586 (w32_draw_relief_rect): Use frame relief colors.
6587
8e42f043
GM
65882000-11-15 Gerd Moellmann <gerd@gnu.org>
6589
6d133d1f
GM
6590 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6591 (Qinhibit_default_face_x_resources): New variable.
6592 (syms_of_frame): Initialize it.
6593 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6594
6595 * xdisp.c (pos_visible_p): Improve function comment.
6596
6597 * lisp.h (BINDING_STACK_SIZE): New macro.
6598
8e42f043
GM
6599 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6600 reading the directory if readdir returns null and errno is EAGAIN
6601 or EINTR.
6602
e8c87124
SM
66032000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6604
6605 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6606 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6607 Set amount_to_scroll to max of dx and scroll_step so that
6608 scroll-conservatively doesn't defeat scroll-step>1.
6609 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6610 scroll-conservatively for line-at-a-time scrolling.
6611
5f0c971d
GM
66122000-11-14 Gerd Moellmann <gerd@gnu.org>
6613
6614 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6615 extra argument.
6616
6617 * xdisp.c (current_mode_line_height, current_header_line_height):
6618 New variables.
6619 (init_xdisp): Initialize them.
6620 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6621 and use exact mode line heights if it is set.
6622
6623 * lisp.h (pos_visible_p): Change prototype.
6624
6625 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6626 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6627 and current_header_line_height first.
52283633
SM
6628 (current_mode_line_height, current_header_line_height):
6629 Declare extern.
5f0c971d 6630
d7361edf
MB
66312000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6632
6633 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6634 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6635 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6636
ee5e440a
MB
66372000-11-14 Miles Bader <miles@gnu.org>
6638
6639 * xterm.c (x_alloc_lighter_color): Include an additive component
6640 too for dark colors, because FACTOR isn't enough.
6641 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6642 New macros.
6643
5ca020fc
GM
66442000-11-13 Gerd Moellmann <gerd@gnu.org>
6645
6646 * keyboard.c (show_help_echo): Call message3_nolog with number of
6647 bytes in the help string as 2nd parameter, instead of the number
6648 of characters.
6649
9d348294
MB
66502000-11-13 Miles Bader <miles@gnu.org>
6651
6652 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6653 (Fload): Use new openp return protocol.
6654 Don't try to use Vload_source_file_function to load .elc files.
6655 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6656 openp return protocol.
6657 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6658
1729bb9a
KH
66592000-11-11 Kenichi Handa <handa@etl.go.jp>
6660
4e677396
KH
6661 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6662
6663 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6664 Defined these macros.
6665 (NLIST_STRUCT): Avoid re-defining it.
6666
1729bb9a
KH
6667 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6668 -I/usr/contrib/X11R6/include.
6669 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6670
a82fe213
JR
66712000-11-10 Jason Rumney <jasonr@gnu.org>
6672
6673 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6674
6675 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6676 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6677
6678 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6679 (Qw32_charset_vietnamese): New symbol.
6680 (xlfd_charset_of_font): New function.
6681 (w32_load_system_font): Use it.
6682 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6683 when Vw32_charset_info_alist is nil to ensure default face always
6684 has font. Use Fcar and Fcdr for safety.
6685 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6686 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6687 pseudo-codepages for special cases.
6688 (w32_to_x_font): New parameter to allow charset portion to be
6689 specified where there is many to one mapping. Callers changed.
6690 (w32_list_fonts): Avoid listing fonts that won't display.
6691
52d89894
GM
66922000-11-10 Gerd Moellmann <gerd@gnu.org>
6693
6694 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6695 (font_list_1): Renamed from font_list.
6696 (font_list): New function, trying alternative registries from
6697 Vface_alternative_font_registry_alist.
6698 (Finternal_set_alternative_font_registry_alist): New function.
6699 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6700 Vface_alternative_font_registry_alist.
6701 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6702
651cd3da
KR
67032000-11-09 Ken Raeburn <raeburn@gnu.org>
6704
6705 * lisp.h (Flooking_at): Declare.
6706
388ac098
GM
67072000-11-09 Gerd Moellmann <gerd@gnu.org>
6708
778fbc46 6709 * dired.c (directory_files_internal): Fix a braino.
52283633 6710
388ac098
GM
6711 * dired.c (directory_files_internal): Add missing GCPRO's.
6712 Some cleanup.
6713
ecaedde1
GM
67142000-11-08 Gerd Moellmann <gerd@gnu.org>
6715
f7eb32aa
GM
6716 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6717 (resize_mini_window): Return quickly if Vresize_mini_window is
6718 nil. Don't return if Vmax_mini_window_height is nil.
6719
6720 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6721 (syms_of_xdisp): Initialize them.
6722 (resize_mini_window): Act according to the setting of
6723 Vresize_mini_window.
6724 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6725
ecaedde1
GM
6726 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6727 scroll bar widget after configuring it, so that it will appear at
6728 the right position from the start.
6729 (XTredeem_scroll_bar): Cleaned up.
6730
3747ef2c
KH
67312000-11-08 Kenichi Handa <handa@etl.go.jp>
6732
6733 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6734 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6735 division by two.
6736
6737 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6738
03391420
DL
67392000-11-07 Dave Love <fx@gnu.org>
6740
7758f1c1 6741 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6742
6743 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6744
b5de343d
GM
67452000-11-07 Gerd Moellmann <gerd@gnu.org>
6746
acad3c0b
GM
6747 * window.c (Fset_window_configuration): Don't try to preserve
6748 point in the current buffer, if that buffer is displayed in more
6749 than one window.
6750
b5de343d
GM
6751 * xfaces.c (lookup_named_face): If default face isn't realized,
6752 try to realize it. Return -1 if not successful.
6753 (Fx_list_fonts): Handle case that face cannot be determined.
6754 (Fface_font): Likewise.
6755
cdb1fe49
GM
67562000-11-06 Gerd Moellmann <gerd@gnu.org>
6757
6758 * window.c (displayed_window_lines): Detect partially
6759 visible lines at the bottom correctly.
6760
d3a67486
SM
67612000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6762
6763 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6764 when ensuring we don't do visit in indirect buffer.
6765
ff8dd5d5
KH
67662000-11-06 Kenichi Handa <handa@etl.go.jp>
6767
6768 * composite.h (compose_chars_in_text): Add prototype.
6769
6770 * composite.c (Vcomposition_function_table): New variable.
6771 (Qcomposition_function_table): New variable.
6772 (run_composition_function): Call
6773 Vcompose_chars_after_function with three arguments.
6774 (compose_chars_in_text): New function.
6775 (syms_of_composite): Modified the doc-string of
6776 Vcompose_chars_after_function. Declare composition-function-table
6777 as a lisp variable, and initialize it.
6778
6779 * xfns.c (x_encode_text): Suppress producing escape sequences for
6780 composition.
6781
6782 * xselect.c: Include composite.h.
6783 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6784
d1145f85
AI
67852000-11-05 Andrew Innes <andrewi@gnu.org>
6786
6787 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6788
6789 * sysdep.c (read_input_waiting): Remove extraneous argument to
6790 read_socket_hook.
6791
6792 * w32fns.c (Fx_server_version): Include w32_build_number in the
6793 return list.
6794
6795 * w32heap.c (w32_build_number): New variable.
6796 (cache_system_info): Set it.
6797
6798 * w32heap.h (w32_build_number): Add extern.
6799
6800 * emacs.c (syms_of_emacs): Update docstring for
6801 system-configuration, to reflect the actual usage on MS-Windows.
6802
e85ee976
GM
68032000-10-31 Gerd Moellmann <gerd@gnu.org>
6804
26dcb81b
GM
6805 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6806 process idle timers while waiting for another event.
6807
52283633 6808 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6809 the default face are colored.
6810
e85ee976
GM
6811 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6812 window height hasn't changed.
6813
01b220b6
JR
68142000-10-31 Jason Rumney <jasonr@gnu.org>
6815
6816 * w32term.c (x_produce_glyphs): Handle composite characters.
6817 (x_draw_glyph_string_foreground)
6818 (x_draw_composite_glyph_string_foreground): Restore old font.
6819
4e6b7204
MB
68202000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6821
6822 * minibuf.c (read_minibuf): Reset the undo history just before
6823 starting the recursive-edit.
6824
d4358b37
GM
68252000-10-30 Gerd Moellmann <gerd@gnu.org>
6826
563f68f1
GM
6827 * xfaces.c (menu_face_change_count): New variable.
6828 (Finternal_set_lisp_face_attribute): Increment it for changes
6829 of the `menu' face.
6830 (realize_basic_faces): Reflect changes in the `menu' faces
6831 in menu bars.
6832
82e274d1
GM
6833 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6834 dy obtained from the iterator's y-position after moving from
6835 scroll_margin_pos to PT; see comment there.
52283633 6836
0dbf9fd2
GM
6837 * xdisp.c (safe_eval_handler): Call add_to_log.
6838
906b3b14
GM
6839 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6840 is not a symbol or string.
6841
d4358b37
GM
6842 * xdisp.c (echo_area_display): Don't perform a display update from
6843 inside redisplay. The update will happen anyway at the end of
6844 redisplay, and it can confuse redisplay (GC messages while
6845 redisplaying, for instance.)
6846
70c825df
SM
68472000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6848
cf9b4b0b
SM
6849 * xrdb.c (x_load_resources): Use the class name in the defaults.
6850
70c825df
SM
6851 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6852 (regex_compile): Catch bogus \(\1\).
6853
a1d34b1e
GM
68542000-10-30 Gerd Moellmann <gerd@gnu.org>
6855
cae71efe
GM
6856 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6857 RGB values.
52283633 6858
35efe0a1
GM
6859 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6860 we have a color cache, check that the cached color equals the
6861 allocated color. If not, clear the color cache.
6862
1d3baf74
GM
6863 * window.c (displayed_window_lines): Change buffers if necessary.
6864 Fix computation of displayed lines.
6865
a1d34b1e
GM
6866 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6867 update_menu_bindings to DEFVAR_BOOL.
6868
70737ea9
KH
68692000-10-30 Kenichi Handa <handa@etl.go.jp>
6870
70c825df 6871 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6872
fa0cb51d
KH
6873 * puresize.h (BASE_PURESIZE): Increase to 680000.
6874
70737ea9
KH
6875 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6876
0e4c08e8
JR
68772000-10-29 Jason Rumney <jasonr@gnu.org>
6878
6879 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6880
6881 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6882 (w32_cache_char_metrics): Handle possibility that 'x' does not
6883 exist in a BDF font.
6884 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6885
6886 * w32bdf.h (bdffont): Add nchars.
6887
6888 * w32bdf.c (set_bdf_font_info): Set it.
6889 (w32_BDF_TextOut): Swap byte order of double byte characters.
6890 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6891
45b84006
EZ
68922000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6893
6894 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6895 don't override the colors in frame's param_alist, unless they are
6896 unspecified.
6897
6898 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6899 reverse the effect of the highlight flag.
6900
caf9deee
KR
69012000-10-27 Ken Raeburn <raeburn@gnu.org>
6902
6903 * window.h (Fwindow_live_p): Declare.
6904
ae0b9b46
KR
6905 * undo.c (record_delete): Check that last_undo_buffer is really a
6906 buffer before applying XBUFFER to it.
6907
6908 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6909 Faref.
6910
02067692
SM
69112000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6912
6913 * lisp.h (KEYMAPP): New macro.
6914 (get_keymap): Remove.
6915 (get_keymap_1): Rename get_keymap.
6916
6917 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6918
6919 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6920
6921 * xmenu.c (single_submenu): Use KEYMAPP.
6922 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6923 Use KEYMAPP rather than Fkeymapp.
6924
6925 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6926
6927 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6928 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6929 Use KEYMAPP rather than Fkeymapp.
6930 (single_submenu): Use KEYMAPP.
6931 (w32_menu_show, w32_dialog_show): Use TRUE.
6932
6933 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6934
6935 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6936 (Fkeymapp): Use KEYMAPP.
6937 (get_keymap): Rename from get_keymap_1. Remove old def.
6938 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6939 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6940 (Fminor_mode_key_binding): Don't raise an error if the binding
6941 is not a keymap.
6942 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6943 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6944
6945 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6946 Allow Vspecial_event_map to be autoloaded.
6947 (menu_bar_items): Fetch the keymap rather than using keymapp.
6948 (menu_bar_one_keymap): No need to follow func-indirect any more.
6949 (parse_menu_item): get_keymap_1 -> get_keymap.
6950 (tool_bar_items): Fetch the keymap rather than using keymapp.
6951 (read_key_sequence): Use KEYMAPP.
6952
6953 * intervals.c (get_local_map): Use get_keymap rather than following
6954 function-indirections explicitly.
6955
6956 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6957
f9d80af3
JR
69582000-10-27 Jason Rumney <jasonr@gnu.org>
6959
6960 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6961 point, as Windows has oversized fonts.
6962
6963 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6964
a3ba27da
GM
69652000-10-27 Gerd Moellmann <gerd@gnu.org>
6966
6967 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6968 (freehook, reallochook): Handle null pointer arguments.
6969 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6970
aa3b80cc
SM
69712000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6972
6973 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6974 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6975 Giving in to popular pressure to shut up the compiler with casts.
6976
e24e84cc
GM
69772000-10-27 Gerd Moellmann <gerd@gnu.org>
6978
6979 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6980 signed value, and use a default value computed from the font's
6981 maximum descent.
6982
05ea7ef2
MB
69832000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6984
6985 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6986 that specify a negative underline position can still use underlines.
6987
6988 * window.c (Fpos_visible_in_window_p): Make POS default to
6989 WINDOW's point, not the current buffer's point.
6990
0b95284b
DL
69912000-10-26 Dave Love <fx@gnu.org>
6992
6993 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6994 when it's necessary.
6995
6c5b90af
GM
69962000-10-26 Gerd Moellmann <gerd@gnu.org>
6997
8b6d9dc9
GM
6998 * window.c (size_window): Compute size difference from sum of old
6999 child window sizes instead of from parent's size.
7000
6bc92b2e
GM
7001 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7002 Handle obscured lines at the top of the window.
7003
7004 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7005 down after the last error condition check.
7006
6c5b90af
GM
7007 * frame.c (Fdelete_frame): Run delete-frame-hook.
7008
42f92d4d
KH
70092000-10-26 Kenichi Handa <handa@etl.go.jp>
7010
7011 * coding.c (decode_coding): Fix previous change (check also
7012 CODING_MODE_LAST_BLOCK).
7013
d97151cb
SM
70142000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7015
e7efc503
SM
7016 * regex.c: More `unsigned char' -> `re_char' changes.
7017 Also change several `int' into `re_wchar_t'.
7018 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7019 (PUSH_FAILURE_POINTER): Don't cast any more.
7020 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7021 We want GCC to complain, since this piece of code makes
7022 re_match non-reentrant, which *should* be fixed.
7023 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7024 (EXTEND_BUFFER): Use RETALLOC.
7025 (SET_LIST_BIT): Don't cast.
7026 (re_wchar_t): New type.
7027 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7028 that those two functions will always properly return.
7029 (IMMEDIATE_QUIT_CHECK): Cast to void.
7030 (analyse_first): Use recursion rather than an explicit stack.
7031 (re_compile_fastmap): Can't fail anymore.
7032 (re_search_2): Don't check re_compile_fastmap for failure.
7033 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7034 Now also sets the new value (passed in a new argument).
7035 (re_match_2_internal): Use it.
7036 Also, use a new var `reg' of type size_t when looping through regs
7037 rather than reuse the inappropriate `mcnt'.
7038
d97151cb
SM
7039 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7040 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7041 (where_is_internal): Renamed from Fwhere_is_internal.
7042 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7043 (Fwhere_is_internal): New function wrapping where_is_internal.
7044 (where_is_internal_1): Handle the case where we're filling the cache.
7045 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7046
d5789b65
MB
70472000-10-25 Miles Bader <miles@gnu.org>
7048
7049 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7050
4ecda532
GM
70512000-10-25 Gerd Moellmann <gerd@gnu.org>
7052
7053 * window.c (pos_fully_visible_p): Removed.
7054 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7055 if position is visible and/or fully visible.
7056
7057 * lisp.h (pos_visible_p): Add prototype.
7058
7059 * xdisp.c (pos_visible_p): New function.
7060
68c3a137
KH
70612000-10-25 Kenichi Handa <handa@etl.go.jp>
7062
7063 * process.c (send_process): If OBJECT is t, it means that the data
7064 is from C string, but we should encode it. Before calling
7065 setup_raw_text_coding_system, be sure to flush out data by the
7066 previous coding system.
7067
7ae1c032
MB
70682000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7069
ff4dcd4b
MB
7070 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7071 assignment of startpos to prev when startpos == pos.
7072
7ae1c032
MB
7073 * editfns.c (find_field): Set the field stickiness correctly from
7074 overlay fields. Use renamed `text_property_stickiness'.
7075 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7076 Only check text properties, not overlays.
7ae1c032
MB
7077 * textprop.c (get_char_property_and_overlay): New function.
7078 (Fget_char_property): Use it.
7079 * intervals.h (get_char_property_and_overlay): Add declaration.
7080
49801145
SM
70812000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7082
7083 * keymap.c: Use AREF, ASET and ASIZE macros.
7084 (Fmake_sparse_keymap): Docstring fix.
7085 (synkey): Remove.
7086 (shadow_lookup): Move up.
7087 Handle the case where lookup-key returns an integer.
7088 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7089 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7090 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7091 Simplify/rewrite the keymap-finding code.
7092 Add check for command shadowing, using shadow_lookup.
7093
39e776cd
SM
70942000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7095
7096 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7097 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7098 a symbol.
7099
2488aba5
AI
71002000-10-24 Andrew Innes <andrewi@gnu.org>
7101
7102 * dired.c (directory_files_internal_unwind): New function.
7103 (directory_files_internal): Use it to ensure closedir is called
7104 even if expand-file-name or file-attributes throw, eg. because of
7105 a user interrupt. Also enable immediate_quit while calling
7106 re_search, so that matching can be interrupted as well.
7107
b94fdf61
AI
71082000-10-24 Andrew Innes <andrewi@gnu.org>
7109
7110 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7111 NT-Emacs only.
7112 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7113 so that re_search functions only quit when callers expect them to.
7114
71152000-10-24 Kenichi Handa <handa@etl.go.jp>
7116
7117 * regex.c (regex_compile): Change the way of handling a range from
7118 a char less than 256 to a char not less than 256.
7119
1946f901
GM
71202000-10-24 Gerd Moellmann <gerd@gnu.org>
7121
7ae2f10f
GM
7122 * window.c (size_window): Prevent setting window's width or
7123 height to a negative value (esp. with XSETFASTINT).
7124
5dcab13e
GM
7125 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7126 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7127 (protect_malloc_state) [GC_MALLOC_CHECK &&
7128 GC_PROTECT_MALLOC_STATE]: New function.
7129 (PROTECT_MALLOC_STATE): New macro.
7130 (__malloc_initialize, morecore, _malloc_internal)
7131 (_free_internal) _realloc_internal): Use it to make _heapinfo
7132 read-only outside of gmalloc.
7133
63e1b552
GM
7134 * keymap.c: Update copyright.
7135
1946f901
GM
7136 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7137 a symbol.
7138
4fa09beb
GM
71392000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7140
7141 * filelock.c (unlock_all_files): Use unlock_file to expand each
7142 buffer's file_truename before trying remove its lock file.
7143
23afac01
EZ
71442000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7145
7146 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7147 or CRLF, decode EOLs.
7148
04448b95
KH
71492000-10-24 Kenichi Handa <handa@etl.go.jp>
7150
7151 * window.c (Fdisplay_buffer): Fix doc.
7152
3090a5a5
JR
71532000-10-23 Jason Rumney <jasonr@gnu.org>
7154
7155 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7156 ASCII font of default fontset on Windows.
7157
7158 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7159 xterm.c comment below).
7160
7161 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7162
a83fee2c
GM
71632000-10-23 Gerd Moellmann <gerd@gnu.org>
7164
7165 * xterm.c (x_connection_closed): Reset handling_signal.
7166
52283633 7167 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7168
6ffdb539
MB
71692000-10-23 Miles Bader <miles@gnu.org>
7170
7171 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7172 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7173 maintain old behavior.
7174 * minibuf.c (Fminibuffer_complete): Likewise.
7175
7f1c969b
MB
71762000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7177
7178 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7179 that when a font can't be exactly centered, it errs up rather than
7180 down.
7181
23afac01 71822000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7183
52283633 7184 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7185
1a578e9b
AC
71862000-10-23 Andrew Choi <akochoi@i-cable.com>
7187
7188 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7189
7190 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7191 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7192
7193 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7194 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7195 syms_of_search, x_term_init, and init_keyboard before calling
7196 init_window_once. Also, call syms_of_xmenu.
7197
7198 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7199 default fontset to Monaco.
7200
7201 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7202 NewMacWindow and DisposeMacWindow.
7203 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7204 instead of calling NewMacWindow and setting fields of
7205 f->output_data.mac directly. Call init_frame_faces.
7206 (Fdelete_frame) [macintosh]: Remove unused code.
7207 (Fmodify_frame_parameters) [macintosh]: Call
7208 x_set_frame_parameters instead of mac_set_frame_parameters.
7209
7210 * frame.h [macintosh]: Define menu_bar_lines field in struct
7211 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7212
7213 * keyboard.c [macintosh]: Include macterm.h.
7214 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7215 and menu_bar_activate_event type events as for X and NT.
7216 (make_lispy_event) [macintosh]: Construct lisp events of type
7217 MENU_BAR_EVENT as for X and NT.
7218
7219 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7220 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7221 (sys_subshell) [macintosh]: Remove definition entirely.
7222 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7223 Vwindow_system_version here. Remove initialization of
7224 Vx_bitmap_file_path.
7225 (read_input_waiting): Correct the number of parameters passed to
7226 read_socket_hook.
7227 Move all Macintosh functions to mac/mac.c.
7228
7229 * term.c [macintosh]: Include macterm.h.
7230
7231 * window.c [macintosh]: Include macterm.h.
7232
7233 * xdisp.c [macintosh]: Include macterm.h. Declare
7234 set_frame_menubar and pending_menu_activation.
7235 (echo_area_display) [macintosh]: Do not return if terminal frame
7236 is the selected frame.
7237 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7238 Allow only the selected frame to set menu bar.
7239 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7240 calling FRAME_EXTERNAL_MENU_BAR (f).
7241 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7242
7243 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7244 and check_x. Declare XCreateGC. Define x_create_gc and
7245 x_free_gc. Initialize font_sort_order.
7246 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7247 but call x_list_fonts instead of w32_list_fonts.
7248 (Finternal_face_x_get_resource) [macintosh]: Do not call
7249 display_x_get_resource.
7250 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7251 (realize_x_face) [macintosh]: Load the font if it is specified in
7252 ATTRS.
52283633 7253 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7254
1ffbabe3
SM
72552000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7256
7257 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7258 is nil: since we go to the end of submap anyway, we'd end up
7259 setting nil to nil.
7260 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7261 doesn't obey autoload.
7262
bed43f1d
EZ
72632000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7264
1ffbabe3 7265 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7266
ea4233a7
JR
72672000-10-21 Jason Rumney <jasonr@gnu.org>
7268
7269 * w32term.c (w32_cache_char_metrics): Double check that font is
7270 really fixed pitch before trusting tmPitchAndFamily.
7271
f3d3c491
AI
72722000-10-21 Andrew Innes <andrewi@gnu.org>
7273
7274 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7275
7276 * w32term.h: Extern decl for w32_cache_char_metrics.
7277
7278 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7279
7280 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7281 (w32_unload_font): Free per_char array if present.
7282
7283 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7284 cached information in emulated XFontStruct to handle common cases
7285 quickly. Do not allocate XCharStruct for return.
7286 (w32_native_per_char_metric): New function.
7287 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7288 allocating one.
7289 (x_produce_glyphs): Don't get an HDC. Change calls to
7290 w32_per_char_metric to match arg change above. Remove calls to
7291 free results.
7292 (w32_get_glyph_overhangs): Ditto.
7293 (w32_cache_char_metrics): New function.
7294
7295 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7296 ($(BLD)/casefiddle.$(O)): Remove compile command.
7297 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7298 ($(BLD)/dispnew.obj):
7299 ($(BLD)/keyboard.obj):
7300 ($(BLD)/w32inevt.obj):
7301 ($(BLD)/w32bdf.obj):
7302 ($(BLD)/alloc.obj):
7303 ($(BLD)/buffer.obj):
7304 ($(BLD)/editfns.obj):
7305 ($(BLD)/emacs.obj):
7306 ($(BLD)/fileio.obj):
7307 ($(BLD)/fns.obj):
7308 ($(BLD)/indent.obj):
7309 ($(BLD)/insdel.obj):
7310 ($(BLD)/intervals.obj):
7311 ($(BLD)/minibuf.obj):
7312 ($(BLD)/print.obj):
7313 ($(BLD)/scroll.obj):
7314 ($(BLD)/sysdep.obj):
7315 ($(BLD)/textprop.obj):
7316 ($(BLD)/widget.obj):
f3d3c491
AI
7317 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7318 ($(BLD)/term.obj): Add dependency on dispextern.h.
7319
52283633
SM
7320 * makefile.nt ($(BLD)\dispnew.obj):
7321 ($(BLD)\keyboard.obj):
7322 ($(BLD)\w32inevt.obj):
7323 ($(BLD)\w32bdf.obj):
7324 ($(BLD)\alloc.obj):
7325 ($(BLD)\buffer.obj):
7326 ($(BLD)\editfns.obj):
7327 ($(BLD)\emacs.obj):
7328 ($(BLD)\fileio.obj):
7329 ($(BLD)\fns.obj):
7330 ($(BLD)\indent.obj):
7331 ($(BLD)\insdel.obj):
7332 ($(BLD)\intervals.obj):
7333 ($(BLD)\minibuf.obj):
7334 ($(BLD)\print.obj):
7335 ($(BLD)\scroll.obj):
7336 ($(BLD)\sysdep.obj):
7337 ($(BLD)\textprop.obj):
7338 ($(BLD)\widget.obj):
f3d3c491
AI
7339 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7340 ($(BLD)\term.obj): Add dependency on dispextern.h
7341
18ad4821
EZ
73422000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7343
7344 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7345 with an additional argument of Qt.
7346
de54681a
MB
73472000-10-21 Miles Bader <miles@gnu.org>
7348
7349 * window.c (pos_fully_visible_in_window_p): New function.
7350 (Fpos_visible_in_window_p): Add FULLY argument.
7351 Use pos_fully_visible_in_window_p.
7352 (window_scroll_pixel_based, window_scroll_line_based): Update
7353 calls to Fpos_visible_in_window_p.
7354 * lisp.h (Fpos_visible_in_window_p): Update prototype
7355
13c844fb
GM
73562000-10-20 Gerd Moellmann <gerd@gnu.org>
7357
7358 * alloc.c (toplevel): Conditionalize compilation of mem_*
7359 functions differently.
52283633 7360
d9506268
JR
73612000-10-20 Jason Rumney <jasonr@gnu.org>
7362
7363 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7364 mem_init where it used to be. mem_z etc not defined otherwise.
7365
8094989b
GM
73662000-10-20 Gerd Moellmann <gerd@gnu.org>
7367
7368 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7369 GC_MALLOC_CHECK.
7370 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7371 structure definition and related variabled to the top of the file.
7372 Include this code when GC_MALLOC_CHECK is defined.
7373 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7374 register/unregister allocated region.
7375 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7376 which isn't allocated.
7377 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7378 something which is already in use.
7379 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7380 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7381 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7382 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7383
7384 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7385 _malloc_internal instead of malloc.
7386 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7387 of free.
7388
ea456eb4
AI
73892000-10-20 Andrew Innes <andrewi@gnu.org>
7390
7391 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7392 Windows.
7393 (my_strftime) <macro>: Don't use macro arg list when redefining as
7394 _strftime_copytm.
7395 (my_strftime) <function>: Supply 0 as ut argument.
7396
e64c3a75
JR
73972000-10-19 Jason Rumney <jasonr@altavista.net>
7398
7399 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7400 including dispextern.h, as it stops faces from working.
7401
7402 * w32fns.c (Fx_create_frame): Don't bother calling
7403 face-set-after-frame-default since the caller does it for us
7404 anyway. Clean up calls to x_get_arg to be consistent with X.
7405
7406 * w32term.c (x_produce_glyphs): Handle
7407 unibyte_display_via_language_environment correctly.
7408 (w32_draw_box_rect): Fix the calculation of width and height.
7409
7410 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7411 as it has stopped working.
7412 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7413 menu-bar.
7414
17401c97
GM
74152000-10-19 Gerd Moellmann <gerd@gnu.org>
7416
7417 * eval.c (skip_debugger): Prevent a compiler warning.
7418 (Fcondition_case): Likewise.
7419 (Fbacktrace_frame): Use a null interactive spec.
7420
773272d8
KH
74212000-10-19 Kenichi Handa <handa@etl.go.jp>
7422
7423 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7424
a42943e9
GM
74252000-10-18 Gerd Moellmann <gerd@gnu.org>
7426
e50517d9
GM
7427 * strftime.c: Sync with glibc, file version 1.78.
7428 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7429 should no longer be used according to ISO 8601.
7430
9035a35a
GM
7431 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7432 no map for meta_prefix_char, don't try to use it as a keymap.
7433 Instead, if T_OK is non-zero, look up a default binding, if any,
7434 otherwise, if T_OK is zero, return nil.
7435
a42943e9
GM
7436 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7437 (x_to_xcolors, png_load): Use x_query_color.
7438
52283633
SM
7439 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7440 New functions.
a42943e9
GM
7441 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7442 which can be slow.
7443 (x_copy_color, x_alloc_lighter_color): Likewise.
7444
7445 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7446 (x_query_color, x_query_colors): Add prototype.
7447
7448 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7449 check_string_bytes only if not noninteractive, increase count to 50.
7450
00de2987
MB
74512000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7452
7453 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7454 markers correctly.
7455
54918e2b
GM
74562000-10-17 Gerd Moellmann <gerd@gnu.org>
7457
1f0b3fd2
GM
7458 * alloc.c (pure_bytes_used): Renamed from pureptr.
7459 (ALIGN): New macro.
7460 (pure_alloc): New function.
7461 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7462 Use it.
7463 (Fpurecopy): Use PURE_POINTER_P.
7464
68c5d1db
GM
7465 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7466 PT has moved backward.
52283633 7467
9a038881
GM
7468 * xdisp.c (cursor_row_p): Take continued lines into account.
7469
361b097f
GM
7470 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7471 string's size_byte.
7472 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7473 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7474 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7475 string allocated.
7476
54918e2b
GM
7477 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7478 of selective display off while searching for the next line start.
7479
03ed0806
KH
74802000-10-17 Kenichi Handa <handa@etl.go.jp>
7481
7482 * Makefile.in (term.o): Depend on dispextern.h.
7483
7e05cdaf
SM
74842000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7485
7486 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7487
a6801fd1
GM
74882000-10-16 Gerd Moellmann <gerd@gnu.org>
7489
483de32b
GM
7490 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7491 the iterator at the beginning, so that they can be set later on,
7492 for instance in reseat_at_next_visible_line_start, without being
7493 overwritten.
7494
a6801fd1
GM
7495 * xfns.c (pbm_format): Add :foreground and :background keywords.
7496 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7497 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7498
dbf1fcc1
EZ
74992000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7500
7501 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7502
52283633 7503 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7504
7505 * msdos.c (IT_set_face): Compare highlighted face with the default
7506 face, and invert colors if these faces' colors are identical.
7507 (Fmsdos_remember_default_colors): Don't swap foreground and
7508 background colors in initial_colors[].
7509 (IT_set_frame_parameters): Don't swap frame's foreground and
7510 background pixels. If ALIST includes "(reverse . t)", swap
7511 foreground-color and background-color properties in frame's
7512 param_alist. If the original frame's param_alist doesn't specify
7513 the colors, store unspecified-fg and unspecified-bg, reversed if
7514 required.
7515
7516 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7517 the colors are unspecified and reversed, reverse fore- and back-
7518 ground in the returned value.
7519 (Fframe_parameter): Ditto.
7520
b41fe2c3 75212000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7522
3a6b59d9
GM
7523 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7524 get_last_unchanged_at_beg_row.
7525 (find_first_unchanged_at_end_row): Renamed from
7526 get_first_unchanged_at_end_row.
7527 (find_first_unchanged_at_end_row): Convert assertions to
7528 unconditional tests which abort. When looking for a row in
7529 unchanged text, don't go further back than first_text_row.
7530
b41fe2c3
GM
7531 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7532 Don't add in the last line's height when deciding if the new
7533 position is below the scroll margin.
9d1af64f 7534
b41fe2c3 75352000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7536
7537 * editfns.c (Fconstrain_to_field): Check carefully for field
7538 boundaries if either OLD_POS or NEW_POS has a non-nil field
7539 property, even if they're the same.
7540
c412cb7b
KH
75412000-10-16 Kenichi Handa <handa@etl.go.jp>
7542
7543 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7544 height for XFillRectangle.
7545
5586f3eb
SM
75462000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7547
7548 * syntax.c (Fstring_to_syntax): New function extracted from
7549 Fmodify_syntax_entry.
7550 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7551 (skip_chars, Fforward_comment): Remove unused variables.
7552 (syms_of_syntax): Add defsubr for string-to-syntax.
7553 (describe_syntax): Add code for comment and string fences.
7554
db785038
SM
75552000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7556
7557 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7558 Do the meta->esc mapping. Call get_keyelt before returning.
7559 Start scanning from the second element (the first is always `keymap')
7560 to make it easier to detect when we reach a parent map.
7561 Handle the case of inheriting from a symbol whose function is a map.
7562 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7563 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7564 (get_keyelt, Flookup_key): Update call to access_keymap.
7565 Remove the meta->esc mappings.
7566 (define_as_prefix): Delete old disabled code.
7567 (menu_item_p): New function.
7568 (where_is_internal_1): Skip over the few remaining menu items.
7569 * lisp.h (access_keymap): Update prototype.
7570 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7571 Update call to access_keymap.
7572 (follow_key, read_key_sequence): Update calls to access_keymap.
7573 Remove the meta->esc mappings.
7574
cafafe0b
GM
75752000-10-13 Gerd Moellmann <gerd@gnu.org>
7576
a2e2a7f6
GM
7577 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7578 with additional argument.
7579
cafafe0b
GM
7580 * xdisp.c (cursor_row_p): New function.
7581 (try_cursor_movement, display_line): Use it.
52283633 7582
cafafe0b
GM
7583 * xdisp.c (append_space): Also save/restore iterator's current
7584 character and its length.
7585
7586 * xdisp.c (init_from_display_pos): Add an assertion.
7587 (handle_stop): Don't set iterator's add_overlay_start.
7588 (handle_invisible_prop): Likewise.
7589 (load_overlay_strings): If text under an overlay is invisible,
7590 take both before- and after-strings into account when the iterator
7591 is positioned either at the start or at the end of the overlay.
7592 (forward_to_next_line_start): Rewritten.
7593 (reseat_at_next_visible_line_start): Rewritten.
7594 (set_iterator_to_next): Add parameter RESEAT_P.
7595
7596 * dispextern.h (struct it): Remove member add_overlay_start.
7597 (set_iterator_to_next): Change prototype.
7598
c744452b
KH
75992000-10-13 Kenichi Handa <handa@etl.go.jp>
7600
7601 * coding.c (code_convert_region): Be sure to initialize
7602 coding->category_idx.
e4a3f4e1
KH
7603 (decode_coding_string): Set coding->src_multibyte and
7604 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7605 (encode_coding_string): Set coding->src_multibyte and
7606 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7607
321fd26f
SM
76082000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7609
7610 * xfns.c (Fx_create_frame): Don't bother calling
7611 face-set-after-frame-default since the caller does it for us anyway.
7612
76832439
EZ
76132000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7614
7615 * window.c (coordinates_in_window): Fix detection of vertical line
7616 on character terminals.
7617
2483cf58
GM
76182000-10-12 Gerd Moellmann <gerd@gnu.org>
7619
7620 * editfns.c (save_excursion_save): Additionally record the
7621 selected window.
7622 (save_excursion_restore): If buffer was visible in a window, and a
7623 different window was selected, and the old selected window is
7624 still live, restore point in that window.
7625
eb991b25
KH
76262000-10-12 Kenichi Handa <handa@etl.go.jp>
7627
8a0eba09
KH
7628 * xterm.c (x_produce_glyphs): Handle
7629 unibyte_display_via_language_environment correctly.
7630
20401fcc
KH
7631 * regex.c (regex_compile): Change the way of handling a range from
7632 unibyte char to multibyte char.
7633
7634 * syntax.c (skip_chars): Change the way of handling a range from
7635 unibyte char to multibyte char.
7636
eb991b25
KH
7637 * process.c (read_process_output): Cancel previous change.
7638
365dd325
EZ
76392000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7640
c1b096cb
EZ
7641 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7642
365dd325
EZ
7643 * charset.c (Ffind_charset_string): Doc fix.
7644 (Ffind_charset_region): Doc fix.
7645
eb483c2b
KH
76462000-10-11 Kenichi Handa <handa@mule.m17n.org>
7647
7648 * process.c (read_process_output): Fix previous change. Adjust
7649 multibyteness of text to insert in a buffer by
52283633 7650 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7651
b40bfb99
AS
76522000-10-10 Andreas Schwab <schwab@suse.de>
7653
7654 * alloc.c (mark_object): Remove all workarounds installed on
7655 1993-08-08.
7656
caff31d4
KH
76572000-10-10 Kenichi Handa <handa@etl.go.jp>
7658
52283633 7659 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7660 (base64_encode_1): Make it work for a text of multibyte form.
7661 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7662 case. Don't call str_to_multibyte because base64_decode_1
7663 produces correct multibyte form for eight-bit codes.
52283633 7664 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7665 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7666 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7667 codes.
7668
7669 * charset.h (CHAR_STRING): Optimized for single byte characters.
7670
cba026ef
AS
76712000-10-09 Andreas Schwab <schwab@suse.de>
7672
7673 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7674 -1 after socket is closed, to fall through to error processing.
7675
1e21fe48
EZ
76762000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7677
7678 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7679 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7680 background-color, change also the colors of the default face for
7681 this frame.
7682
a640322e
EZ
76832000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7684
7685 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7686 them extern (they are defined on xfaces.c).
7687 (syms_of_msdos): Don't intern and don't staticpro
7688 Qbackground_color and Qforeground_color.
7689
a115794c
EZ
76902000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7691
7692 * frame.c (Fframe_parameter): For non-windowed frames, if
7693 f->param_alist says foreground or background color is unspecified,
7694 call tty_color_name to return the color name computed from the
7695 frame's current colors.
7696
f5533b63
DL
76972000-10-06 Dave Love <fx@gnu.org>
7698
7699 * terminfo.c (ospeed): Don't declare.
7700
7701 * sysdep.c: Don't include string.h.
7702 (h_errno): Declare conditional also on TRY_AGAIN.
7703
7704 * charset.c (Ffind_charset_string): Doc fix.
7705
52283633 7706 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7707 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7708 error messages.
7709
2b06561a
DL
77102000-10-05 Dave Love <fx@gnu.org>
7711
7712 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7713 position like menu-bar.
7714
ca839c85
GM
77152000-10-05 Gerd Moellmann <gerd@gnu.org>
7716
7717 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7718
7719 * xdisp.c (handle_single_display_prop): Use safe_call1.
7720 (safe_call): Renamed from call_function.
7721 (safe_call1): New function.
7722 (handle_fontified_prop): Use safe_call1 instead of call1.
7723 (safe_eval): Renamed from eval_form.
7724 (safe_eval_handler): Renamed from eval_handler.
7725 (handle_single_display_prop, display_mode_element): Use safe_eval
7726 instead of eval_form.
7727
7728 * xfaces.c (merge_face_heights): Use safe_call instead of
7729 call_function.
7730
7731 * keyboard.c (show_help_echo): Use safe_call instead of
7732 call_function; use safe_eval instead of eval_form.
7733
7734 * lisp.h (safe_call): Renamed from call_function.
7735 (safe_eval): Renamed from eval_form.
7736 (safe_call1): Add prototype.
7737
a3489ece
MB
77382000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7739
7740 * xfns.c (image_ascent): Rearrange ascent calculation for the
7741 has-a-font case.
7742
35810b6f
SM
77432000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7744
7745 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7746 (where_is_internal_1): Don't bother ignoring menu-items any more.
7747
3dc78168
GM
77482000-10-04 Gerd Moellmann <gerd@gnu.org>
7749
7750 * keyboard.c (update_menu_bindings): New variable.
7751 (parse_menu_item): Use AREF. If update_menu_bindings
7752 is 0, don't update menu bindings.
7753 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7754
1efc2bb9
EZ
77552000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7756
7757 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7758 to `mark_object'.
7759
3f679f55
SM
77602000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7761
7762 * syntax.c (forw_comment): Match nestedness of ender/starter.
7763 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7764 (prev_char_comstart_first): Remove.
7765 (back_comment): Check two-char comment markers more carefully
7766 to better handle overlapping cases like *//* or /* */* */ ...
7767 Match nestedness of ender/starter.
7768
2021ab61
DL
77692000-10-02 Dave Love <fx@gnu.org>
7770
7771 * config.in (HAVE_GAI_STRERROR): Add undef.
7772
7773 * process.c (Fopen_network_stream): Use it.
7774
7775 * m/alpha.h (NO_REMAP): Don't define.
7776
64e6cc18
GM
77772000-10-02 Gerd Moellmann <gerd@gnu.org>
7778
7779 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7780 return with a string converted to an integer or vice versa when
7781 Vmocklisp_arguments is t.
7782 (Fsignal): Likewise. The function can return for `quit'.
7783 (struct gcpro): Declare member `var' to point to a volatile
7784 Lisp_Object.
7785
7786 * eval.c (error): Prevent compiler warning.
7787
b1904cd9
SM
77882000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7789
7790 * keymap.c (keymap_memberp): New function.
7791 (Fset_keymap_parent): Use it.
7792 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7793 Use keymap_memberp to avoid creating cycles.
7794 (access_keymap): Use KEYMAPP.
7795
71c9ec51
GM
77962000-09-30 Gerd Moellmann <gerd@gnu.org>
7797
7798 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7799 gai_strerror. Make sure xerrno is set if connect fails. Improve
7800 error recovery.
71c9ec51 7801
c70c6b58
JR
78022000-09-29 Jason Rumney <jasonr@gnu.org>
7803
7804 * w32term.c (w32_char_font_type, w32_encode_char)
7805 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7806 (w32_bdf_per_char_metric): New function.
7807 (w32_per_char_metric): Use it.
7808 (x_draw_glyph_string_background): Always draw background for BDF
7809 glyphs.
7810
7811 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7812 GDI object which is a scarce resource.
7813
7814 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7815 (get_quoted_string): Fix limit on memchr search.
7816 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7817 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7818 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7819 (get_cached_font_char, cache_char_offset): Use macro
7820 BDF_CODEPOINT_RANGE_COVER_P.
7821 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7822 (clear_cached_bitmap_slots): New function.
7823 (GET_HEX_VALUE): G-Z, g-z are not hex.
7824 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7825 (get_bitmap_with_cache): Use new cache implementation.
7826 (create_offscreen_bitmap): New function.
7827 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7828
7829 * w32term.c (x_produce_glyphs): If the distance from the current
7830 position to the next tab stop is less than a canonical character
7831 width, use the tab stop after that.
7832 (x_draw_glyphs): Handle case START and END are out of bounds more
7833 carefully.
7834 (x_clear_mouse_face): Block/unblock input.
7835 (x_display_and_set_cursor): Don't show a hollow box cursor for
7836 buffers whose cursor_type is nil.
7837
fe01239f
GM
78382000-09-29 Gerd Moellmann <gerd@gnu.org>
7839
52283633 7840 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7841
7842 * dispextern.h (updating_frame): Declare extern.
7843
e7c52f1f
AS
78442000-09-29 Andreas Schwab <schwab@suse.de>
7845
7846 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7847
de6e1f7c
GM
78482000-09-29 Gerd Moellmann <gerd@gnu.org>
7849
25126faa
GM
7850 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7851 use its function definition.
7852 (tool_bar_items): Likewise.
7853
de6e1f7c 7854 * lisp.h (fatal): Declare NO_RETURN.
52283633 7855
454ee39b
KH
78562000-09-29 Kenichi Handa <handa@etl.go.jp>
7857
7858 * keymap.c: Remove the line "#undef NULL".
7859
96301c5f
GM
78602000-09-28 Gerd Moellmann <gerd@gnu.org>
7861
52283633 7862 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7863
efffeeb4
DL
78642000-09-28 Dave Love <fx@gnu.org>
7865
ecb8b666
DL
7866 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7867
dc3cd20f
DL
7868 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7869
7870 * .gdbinit (xreload): Note its need on GNU/Linux.
7871
efffeeb4
DL
7872 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7873 r_alloc, r_alloc_free.
7874
8610d903
KH
78752000-09-28 Kenichi Handa <handa@etl.go.jp>
7876
7877 * syntax.c (skip_chars): Handle negation correctly.
7878
8901d1ac
GM
78792000-09-27 Gerd Moellmann <gerd@gnu.org>
7880
6f22f1ad
GM
7881 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7882 with non-zero FORCE_P argument.
7883
52283633 7884 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7885 Add assertions.
7886
7887 * xdisp.c (window_box_height): Add an assertion.
7888
7889 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7890 tool-bar than is available.
7891 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7892
36f1966f
DL
78932000-09-27 Dave Love <fx@gnu.org>
7894
efffeeb4 7895 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7896
31d929e5
GM
78972000-09-26 Gerd Moellmann <gerd@gnu.org>
7898
c98863bf
GM
7899 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7900 instead of BITS_PER_INT.
7901 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7902 EMACS_UINT, respectively.
7903 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7904
7905 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7906
7907 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7908
77072ab1
GM
7909 * window.c (freeze_window_starts): Construct last argument for
7910 foreach_window differently.
7911
7912 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7913
7914 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7915 EMACS_UINT instead of `int' and `unsigned int'.
7916 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7917
7918 * frame.h (struct frame): Make the `nothing' member of union
7919 output_data an EMACS_INT.
7920
52283633 7921 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7922 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7923 size in the sdata structure.
7924 (SDATA_NBYTES, SDATA_DATA): New macros.
7925 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7926 differently for the different layout of the sdata structure.
7927 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7928 in sdata.
7929 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7930 Check that size recorded in the string size and size recorded in
7931 the sdata structure agree.
7932
3e60b029
DL
79332000-09-25 Dave Love <fx@gnu.org>
7934
7935 * buffer.c: Include stdio.h.
7936
7937 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7938
3e60b029
DL
7939 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7940
7941 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7942 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7943 (__malloc_extra_blocks): Declare as __malloc_size_t.
7944
8ff16b4e
GM
79452000-09-25 Gerd Moellmann <gerd@gnu.org>
7946
755a2ccd
GM
7947 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7948
d8b4516f
GM
7949 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7950 (read_char): If help-echo is showing, preserve the echo area
7951 when redisplaying.
7952
7953 * xdisp.c (help_echo_showing_p): New variable.
7954 (set_message): Reset it to 0.
7955 (init_xdisp): Initialize help_echo_showing_p.
7956
7957 * dispextern.h (help_echo_showing_p): Declare extern.
7958
7959 * config.in: Fix typo in __GNUC_MINOR__.
7960
7961 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7962
b11af2dd
GM
7963 * s/freebsd.h (POSIX_SIGNALS): Define.
7964
8ff16b4e
GM
7965 * xterm.c (x_clear_mouse_face): Block/unblock input.
7966
844eb643
DL
79672000-09-24 Dave Love <fx@gnu.org>
7968
7969 * fns.c (base64_encode_1): Fix last change.
7970
b30ab1b3
GM
79712000-09-22 Gerd Moellmann <gerd@gnu.org>
7972
7973 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7974
7975 * xdisp.c (try_window_reusing_current_matrix): More fixes
7976 for the case window has a header-line.
7977
c6cbe5f0
DL
79782000-09-22 Dave Love <fx@gnu.org>
7979
4c7c1f3f
DL
7980 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7981 a doc string.
7982
7983 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7984
c6cbe5f0
DL
7985 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7986
550a625e
GM
79872000-09-21 Gerd Moellmann <gerd@gnu.org>
7988
4c7c1f3f 7989 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7990 for GCC >= 2.5.
7991
52283633
SM
7992 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7993 Declare NO_RETURN.
fca99116 7994
80d26f99
GM
7995 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7996 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7997 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7998 warnings.
52283633 7999
80d26f99
GM
8000 * marker.c (byte_char_debug_check): Return void.
8001
623a0aae
GM
8002 * xfns.c (Fx_create_frame): Set default frame parameter value
8003 for tool-bar-lines to 1.
8004
8005 * dispnew.c (scrolling_window): Compare y-positions of rows
8006 equal at the start. Some simplification.
8007
8008 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8009 reused rows' y-position in the case window has a header-line, and
8010 new window start is greater than old window start.
8011
42ac0ae5
GM
8012 * process.c (process_sent_to): New variable.
8013 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8014 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8015 Declare more parameters volatile.
8016
550a625e
GM
8017 * lread.c (Vrecursive_load_depth_limit): New variable.
8018 (Fload): Check recursive loads whose recursion depth exceeds
8019 Vrecursive_load_depth_limit.
8020 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8021
8320414c
GM
80222000-09-20 Gerd Moellmann <gerd@gnu.org>
8023
f46c275e
GM
8024 * fileio.c (Fread_file_name): Doc fix.
8025
8026 * editfns.c (Fmessage_or_box): Doc fix.
8027
8028 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8029
b7e11c5b 8030 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8031
8320414c
GM
8032 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8033 symbols are specified, add color translations to the cache.
52283633 8034 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8035 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8036 xpm_cache_color.
8037 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8038 structures to xpm_init_color_cache.
8039
da1608d9
GM
80402000-09-19 Gerd Moellmann <gerd@gnu.org>
8041
52283633 8042 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8043
6badfa25
AI
80442000-09-19 Andrew Innes <andrewi@gnu.org>
8045
8046 * makefile.nt (bootstrap-emacs): Don't change directory.
8047
3a5f42bb
KH
80482000-09-19 Kenichi Handa <handa@etl.go.jp>
8049
1b7649bd
KH
8050 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8051
3a5f42bb
KH
8052 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8053 If output buffer is too small, signal an appropriated error.
8054
9f83cf0b
DL
80552000-09-18 Dave Love <fx@gnu.org>
8056
52283633 8057 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8058 (current_active_maps): Remove redundant get_local_map call.
8059
28c7826c
GM
80602000-09-18 Gerd Moellmann <gerd@gnu.org>
8061
5cefa566
GM
8062 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8063 cursor for buffers whose cursor_type is nil.
52283633 8064
6fed3546
GM
8065 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8066 a feature to implement that is already implemented.
8067 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8068 warnings.
8069
8070 * xfns.c (x_clear_image_1): New function.
8071 (x_clear_image): Use it.
52283633 8072 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8073
05b1f851
GM
8074 * dispnew.c (update_window): Move test for invisible lines
8075 at the top to update_window_line.
8076 (update_window_line): Handle invisible lines here.
8077
f4779de9
GM
8078 * xfns.c (clear_image_cache): Clear current matrices of all
8079 frames sharing an image cache. Block input while freeing
8080 images. Fix timestamp comparison.
8081 (x_clear_image): Also free the mask.
8082
28c7826c
GM
8083 * xfns.c (lookup_image): Block input while loading the image so
8084 that we won't get interrupted in a state where the image isn't yet
8085 set up completely.
8086 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8087 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8088 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8089 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8090
b7412313
GM
80912000-09-16 Gerd Moellmann <gerd@gnu.org>
8092
8093 * dispnew.c (update_window): Make sure to make desired rows
8094 current even if they are completely invisible at the top
8095 of a window.
8096
47e351a3
GM
80972000-09-15 Gerd Moellmann <gerd@gnu.org>
8098
7f8f1edc
GM
8099 * xfns.c (lookup_image): Build mask before applying an algorithm.
8100 Recognize algorithm `disabled'.
8101 (cross_disabled_images): New variable.
8102 (COLOR_INTENSITY): New macro.
8103 (x_detect_edges): Use COLOR_INTENSITY.
8104 (x_disable_image): New function.
8105 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8106
8107 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8108 disabled state, don't apply an image transformation algorithm if
8109 the user specified an image for the disabled state. Use
28c7826c 8110 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8111 user hasn't specified an image.
8112
ebb8f116
GM
8113 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8114 allocation functions with the XPM lib.
8115 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8116 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8117 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8118 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8119 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8120 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8121 functions, if possible, because these handle color allocation
8122 failure more gracefully.
8123 (Fimage_mask_p): New function.
8124
47e351a3
GM
8125 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8126 (Qedge_detection, Qheuristic): New symbols.
8127 (syms_of_xfns): Initialize new symbols.
8128 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8129 `algorithm (edge-detection ...)'.
8130 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8131 (tiff_format, gif_format, gs_format): Add `:mask'.
8132 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8133 (GIF_MASK, GS_MASK): New enumerators.
8134 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8135 (emboss_matrix, laplace_matrix): New variables.
8136 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8137 (x_edge_detection): New functions.
8138 (x_laplace): Rewritten in terms of x_detect_edges.
8139 (x_build_heuristic_mask): If image has a mask, free it.
8140
fe83b953
AI
81412000-09-14 Andrew Innes <andrewi@gnu.org>
8142
8143 * makefile.w32-in: Revert to Unix line endings.
8144
3021e816
AI
81452000-09-14 Andrew Innes <andrewi@gnu.org>
8146
8147 * makefile.w32-in: Standardize indentation somewhat.
8148 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8149 cater for differences between shells.
8150
8151 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8152
2a32b5ea
GM
81532000-09-14 Gerd Moellmann <gerd@gnu.org>
8154
8155 * xterm.c (x_produce_glyphs): If the distance from the current
8156 position to the next tab stop is less than a canonical character
8157 width, use the tab stop after that.
8158
b4331e96
DL
81592000-09-14 Dave Love <fx@gnu.org>
8160
8161 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8162
ef9e4345
GM
81632000-09-14 Gerd Moellmann <gerd@gnu.org>
8164
085536c2
GM
8165 * xdisp.c (handle_fontified_prop): While running fontification
8166 functions, bind `fontification-functions' and
8167 `after-change-functions' to nil.
8168
ef9e4345
GM
8169 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8170 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8171
8172 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8173
8174 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8175 USE_MMAP_FOR_BUFFERS.
8176
8177 * insdel.c (make_gap): Use enlarge_buffer_text.
8178
8179 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8180 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8181 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8182 from former r_alloc_* functions in ralloc.c.
52283633 8183 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8184 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8185 (mmap_init) [REL_ALLOC_MMAP]: New function.
8186 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8187 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8188 BUFFER_FREE.
8189
8190 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8191 (enlarge_buffer_text): Add prototype.
8192
8193 * ralloc.c: Remove everything having to do with the use of mmap.
8194
f8608968
GM
81952000-09-13 Gerd Moellmann <gerd@gnu.org>
8196
2a494b2d
GM
8197 * sound.c (Fplay_sound): Doc fix.
8198
8c907a56
GM
8199 * keyboard.c: Avoid some more compiler warnings.
8200 (parse_tool_bar_item): Ignore cached key bindings.
8201
f8608968
GM
8202 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8203 and allocation of Lisp data.
8204
6ab70e9a
GM
82052000-09-12 Gerd Moellmann <gerd@gnu.org>
8206
d12d0a9b
GM
8207 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8208 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8209 defaults first.
8210
6ab70e9a
GM
8211 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8212
63c36c3c
KH
82132000-09-12 Miyashita Hisashi <himi@meadowy.org>
8214
8215 * ccl.c: Comment fixed.
8216 (MAX_MAP_SET_LEVEL): Increased to 30.
8217 (PUSH_MAPPING_STACK): Enclose with do-while block.
8218 (POP_MAPPING_STACK): Likewise.
8219 (stack_idx_of_map_multiple): New variable.
8220 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8221 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8222 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8223 (ccl_driver) <CCL_MapSingle>: Likewise.
8224 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8225 with the case where looking up process reaches to the end of
8226 map-set, and call CCL programs as the above change.
8227
7ee3bd7b
GM
82282000-09-11 Gerd Moellmann <gerd@gnu.org>
8229
8ec8a5ec
GM
8230 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8231 that might be clobbered by longjmp.
8232 (check_x_display_info, x_decode_color, create_frame_xic)
8233 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8234 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8235
f74b0705
GM
8236 * lread.c (init_lread): Set Vloads_in_progress to nil.
8237 (Fload): Show list of recursively loaded files, when signaling an
8238 error.
8239
7ee3bd7b
GM
8240 * lread.c (Vloads_in_progress): New variable.
8241 (record_load_unwind): New function.
8242 (Fload): Check for recursive loads.
8243 (syms_of_lread): Initialize Vloads_in_progress.
8244 (read_integer, read1): Avoid some compiler warnings.
8245
8246 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8247 compiler warnings.
8248
974e1e5b
MB
82492000-09-11 Miles Bader <miles@gnu.org>
8250
8251 * editfns.c (Fbuffer_string): Doc fix.
8252
9824c4e3
GM
82532000-09-10 Gerd Moellmann <gerd@gnu.org>
8254
8255 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8256
6a72fdd1
KR
82572000-09-09 Ken Raeburn <raeburn@gnu.org>
8258
8259 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8260 whether to include other header files.
8261
28e6fb66
GM
82622000-09-09 Gerd Moellmann <gerd@gnu.org>
8263
52283633 8264 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8265 by Fmemq as a boolean.
28e6fb66 8266
7f8b6551
SM
82672000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8268
8269 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8270
a8710abf
GM
82712000-09-08 Gerd Moellmann <gerd@gnu.org>
8272
d1a02881
GM
8273 * ralloc.c (mmap_fd): Remove initializer which can make it
8274 read-only in a dumped Emacs.
8275 (mmap_fd_1): New variable.
8276 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8277 restore it from there.
8278 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8279 unconditionally so that mmap_fd can be initialized there.
8280 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8281 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8282 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8283
c454aac1
GM
8284 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8285
8286 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8287 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8288
fc653ef2
GM
8289 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8290
3015eec0
GM
8291 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8292 inheritance.
8293
bfe0ee88
GM
8294 * xdisp.c (try_window_id): When trying to locate cursor in
8295 unchanged rows at the top, handle the case that we can't find it.
8296
a8710abf
GM
8297 * xterm.c (x_draw_glyphs): Handle case START and END are out
8298 of bounds more carefully.
8299
6b7d4ae4
DL
83002000-09-08 Dave Love <fx@gnu.org>
8301
423193c5
DL
8302 * s/sol2.h (REL_ALLOC_MMAP): Define.
8303 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8304
8305 * ralloc.c: Don't include string.h (redundant).
8306 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8307 [!MAP_ANON]: Include fcntl.h.
8308 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8309 (r_alloc, r_re_alloc, r_alloc_free)
8310 (mmap_enlarge, mmap_set_vars): Use it.
8311 (r_alloc_init_fd): New function.
8312 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8313 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8314 malloc type.
8315
8316 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8317 Remove vm-limit.o.
8318
6b7d4ae4
DL
8319 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8320 change to __NetBSD__.
8321
44d31981
KH
83222000-09-08 Kenichi Handa <handa@etl.go.jp>
8323
8324 * search.c (compile_pattern): Check the multibyteness of cached
8325 string and PATTERN.
8326
aad40737
MB
83272000-09-08 Miles Bader <miles@gnu.org>
8328
8329 * xfaces.c (default_face_vector): Function removed.
8330 (Finternal_merge_in_global_face): Restore old global/local
8331 attribute override order. Use inline loop instead of calling
8332 default_face_vector.
8333
91a211b5
GM
83342000-09-07 Gerd Moellmann <gerd@gnu.org>
8335
8336 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8337 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8338 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8339 where necessary, in case POINTER_TYPE is `void'.
8340
03419440
EZ
83412000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8342
8343 * frame.c (make_terminal_frame): Initialize frame foreground and
8344 background colors to unspecified, for the initial instance of an
8345 MSDOS frame.
8346
f46f845b
GM
83472000-09-07 Gerd Moellmann <gerd@gnu.org>
8348
24f76fbf
GM
8349 * ralloc.c (mmap_find): Fix overlap computation.
8350 (mmap_enlarge): Compute nbytes before trying to find an
8351 overlapping region.
8352
f46f845b
GM
8353 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8354 instead of `!='.
8355
8356 * lread.c (syms_of_lread): Change value of regexp
8357 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8358
8359 * xmenu.c (xdialog_show): When looking up the selection in
8360 menu_items, take `quote' boundaries into account; this corresponds
8361 to a nil ITEM in x-popup-dialog.
8362
3c014385
KH
83632000-09-07 Kenichi Handa <handa@etl.go.jp>
8364
fd6f711b
KH
8365 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8366 not 0x81.
8367 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8368
3c014385 8369 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8370 encoding, not decoding. Fix the handling of latin-jisx0201.
8371 Check for the charset katakana-jisx0201 too.
3c014385 8372 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8373 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8374
0da3ecef
GM
83752000-09-07 Gerd Moellmann <gerd@gnu.org>
8376
ab0ee409
GM
8377 * xfaces.c (Vparam_value_alist): New variable.
8378 (syms_of_xfaces): Initialize it.
8379 (Finternal_set_lisp_face_attribute): Avoid more consing.
8380
8381 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8382 specially.
8383 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8384 (Qbackground_mode): New variable.
8385 (syms_of_frame_1): Initialize Qbackground_mode.
8386
8387 * lisp.h (Qdisplay): Declare extern.
1091dd67 8388
0da3ecef
GM
8389 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8390 change face on all frames, and change the default for new frames.
8391
b14654b9
DL
83922000-09-07 Dave Love <fx@gnu.org>
8393
8394 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8395
d24fd56f
KH
83962000-09-07 Kenichi Handa <handa@etl.go.jp>
8397
794f3670
KH
8398 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8399
0fddd0dc
KH
8400 * charset.c: Include composite.h
8401 (lisp_string_width): New function.
8402 (Fstring_width): Call lisp_string_width instead of strwidth.
8403
8404 * Makefile.in (charset.o): Depends on composite.h.
8405
d24fd56f
KH
8406 * process.c (read_process_output): Before inserting the decoded
8407 text in the buffer, adjust the multibyteness.
8408
fa0b693c
GM
84092000-09-06 Gerd Moellmann <gerd@gnu.org>
8410
52283633 8411 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8412 buffer's text buffer is null, map new memory.
8413
0a58f946
GM
8414 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8415 POINTER_TYPE and size_t.
8416 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8417 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8418 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8419 [REL_ALLOC_MMAP]: New macros.
8420 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8421 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8422 [REL_ALLOC_MMAP]: New functions.
8423
8424 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8425 before and after unexec.
8426
8427 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8428 text buffers if necessary.
8429
8430 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8431 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8432 in prototypes.
8433
fa0b693c
GM
8434 * config.in (HAVE_MMAP): Add #undef.
8435
877055f6
GM
84362000-09-05 Gerd Moellmann <gerd@gnu.org>
8437
08ba3862
GM
8438 * frame.c (Qdisplay_type): New variable.
8439 (syms_of_frame_1): Initialize it.
8440 (Fframe_parameter): New function that avoids consing.
8441 (syms_of_frame): Defsubr it.
8442
66ffe51c
GM
8443 * buffer.c (Fother_buffer): Consider buffers as invisible when
8444 they are displayed in a window on an invisible frame.
8445
877055f6
GM
8446 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8447 get-largest-window always return nil.
8448
bb970e67
GM
84492000-09-04 Gerd Moellmann <gerd@gnu.org>
8450
8451 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8452 variable; recognize Emacs 19 elc files.
8453
7a3d0e0e
MB
84542000-09-04 Miles Bader <miles@gnu.org>
8455
8456 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8457 before initially popping up the menu, so the menu doesn't flash
52283633 8458 when the face settings are significantly different from the defaults.
7a3d0e0e 8459
14473664
SM
84602000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8461
8462 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8463 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8464 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8465 (BIT_UNIBYTE): Remove.
8466 (re_match_2_internal): Delete corresponding code and streamline the
8467 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8468 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8469 (re_wctype_t): New type.
8470 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8471 (regex_compile): Use them and fix handling of overly long char classes.
8472
c1174479
AI
84732000-09-03 Andrew Innes <andrewi@gnu.org>
8474
f8803e97
AI
8475 * makefile.w32-in: Change to DOS line endings.
8476
c1174479
AI
8477 * s/ms-w32.h (ORDINARY_LINK): New define.
8478
8479 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8480 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8481
8482 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8483 (distclean): Delete them here instead.
8484
44ef7cf6
AI
8485 * w32proc.c (compare_env): Convert to uppercase for comparison,
8486 not lowercase, to match how the native Windows shell works.
8487
49b3bd82
JR
84882000-09-03 Jason Rumney <jasonr@gnu.org>
8489
8490 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8491 CVS changes the line-ends when checking in/out on DOS/Windows.
8492
8493 * makefile.nt (emacs): Do not change directory to run temacs, as
8494 the load-path is set relative to current directory.
8495
a3d35a39
MB
84962000-09-03 Miles Bader <miles@gnu.org>
8497
8498 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8499
d276b0cf
GM
85002000-09-02 Gerd Moellmann <gerd@gnu.org>
8501
715e84c9
GM
8502 * xdisp.c (redisplay_mode_lines): New function.
8503 (display_mode_lines): Return number of mode lines displayed.
8504 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8505 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8506
8892f40b
GM
8507 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8508 string.h and strings.h.
8509 (index) [HAVE_INDEX]: Add prototype.
8510
d276b0cf
GM
8511 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8512 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8513
8514 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8515 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8516
38404229
GM
85172000-09-01 Gerd Moellmann <gerd@gnu.org>
8518
8519 * lread.c (read1): Accept `?' as symbol constituent, for
8520 compatiblity with XEmacs.
8521
c0f9ea08
SM
85222000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8523
8524 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8525 (struct re_pattern_buffer): Remove newline_anchor.
8526 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8527 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8528 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8529 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8530 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8531 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8532 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8533 Get rid of references to newline_anchor.
8534 (regcomp): Allocate and precompute a fastmap.
8535
8c0f83fe
GM
85362000-08-31 Gerd Moellmann <gerd@gnu.org>
8537
8538 * lread.c (openp): GCPRO local variable `filename'.
8539
4bb91c68
SM
85402000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8541
8542 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8543
8544 * regex.c: Merge some changes from GNU libc. Add prototypes.
8545 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8546 Use memcmp and memcpy instead of bcopy and bcmp.
8547 (init_syntax_once): Use ISALNUM.
8548 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8549 (REG_UNSET_VALUE): Remove. Use NULL instead.
8550 (REG_UNSET, re_match_2_internal): Use NULL.
8551 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8552 New macros.
8553 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8554 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8555 (regex_compile): In handle_interval, return an error rather than try to
8556 unfetch the interval if we can't find the closing brace.
8557 Obey the RE_NO_GNU_OPS syntax bit.
8558 (TOLOWER): New macro.
8559 (regcomp): Use it.
8560 (regexec): Allocate regs.start and regs.end as one block.
8561
5226a931
GM
85622000-08-30 Gerd Moellmann <gerd@gnu.org>
8563
868dd24b
GM
8564 * xdisp.c (echo_area_display): Check display_completed instead
8565 of calling detect_input_pending.
8566
8567 * dispnew.c (update_frame): Only set display_completed here; move
8568 the update_begin and update_end calls here from update_frame_1.
8569 (update_frame_1): Don't set display_completed here, don't call
8570 update_begin/update_end.
8571
5226a931
GM
8572 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8573 instead of store_frame_param.
8574
2a8bd25f
GM
85752000-08-29 Gerd Moellmann <gerd@gnu.org>
8576
8577 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8578 desired window matrix hasn't been displayed, use the current row
8579 instead. Make sure that only those frame rows are updated for
8580 which there exists a corresponding enabled desired row.
52283633 8581
ba3478d9
MB
85822000-08-29 Miles Bader <miles@gnu.org>
8583
8584 * xfaces.c (default_face_vector): New function.
8585 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8586
87d0f685
GM
85872000-08-29 Gerd Moellmann <gerd@gnu.org>
8588
8589 * lread.c (openp): Prevent temporary string passed to
8590 Ffile_readable_p from being garbage collected.
8591
6fa86045
DL
85922000-08-28 Dave Love <fx@gnu.org>
8593
8594 * keymap.c (store_in_keymap): Add `static' to declaration.
8595
bb17930d
GM
85962000-08-28 Gerd Moellmann <gerd@gnu.org>
8597
8598 * emacs.c, callint.c, doc.c, editfns.c
8599 (toplevel) [HAVE_STRING_H]: Include string.h.
8600 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8601 (index): Remove prototypes which might conflict with non-standard
8602 definitions of index/strchr.
8603
8604 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8605 (rindex): Define only if !HAVE_RINDEX.
8606
8607 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8608
8609 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8610
87188200
MB
86112000-08-28 Miles Bader <miles@gnu.org>
8612
8613 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8614 made inconsistent by a font-related attribute in FROM.
8615 (merge_face_inheritance): Add function comment.
8616
41a68aef
KH
86172000-08-28 Kenichi Handa <handa@etl.go.jp>
8618
8619 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8620 the 4th arg (PREV_EVENT) Qt to suppress input method.
8621
f7c436c1
SM
86222000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8623
0b32bf0e
SM
8624 * regex.c: Indent cpp directives and remove parens after `defined'.
8625 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8626 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8627 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8628 (re_compile_pattern): Use size_t for length.
8629 (init_syntax_once): Move to a better place.
8630 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8631 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8632
f7c436c1
SM
8633 * syntax.c (back_comment): Detect cases where a comment-starter is
8634 actually inside another comment as in: /* a // b */ c // d \n.
8635 Make it clear that `comstart_pos' is unused for nested comments.
8636
8637 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8638 (KEYMAPP): New macro.
8639 (Fkeymap_parent, Fset_keymap_parent): Use it.
8640 (fix_submap_inheritance): Mark it static.
8641 (define_as_prefix, describe_buffer_bindings, describe_command)
8642 (describe_translation, describe_map): Complete prototypes.
8643
8644 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8645
8646 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8647 to better match the key-lookup behavior.
8648
6288c62f
GM
86492000-08-27 Gerd Moellmann <gerd@gnu.org>
8650
8651 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8652 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8653
e931344e
EZ
86542000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8655
8656 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8657 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8658 (xterm.o): Depend on coding.h
8659
d10dfeef
KH
86602000-08-26 Kenichi Handa <handa@etl.go.jp>
8661
8662 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8663 the corresponding '#endif'.
8664
2d73e8d3
MB
86652000-08-26 Miles Bader <miles@gnu.org>
8666
8667 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8668 * xfaces.c (QCinherit): New variable.
8669 (syms_of_xfaces): Initialize it.
8670 (LFACE_INHERIT): New macro.
8671 (Finternal_get_lisp_face_attribute)
52283633 8672 (merge_face_vector_with_property)
2d73e8d3
MB
8673 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8674 (check_lface_attrs): Allow new types of face height. Check
8675 inherit attribute.
8676 (CYCLE_CHECK): New macro.
8677 (merge_face_inheritance): New function.
8678 (merge_face_vectors): Merge inherited faces too. Add F and
8679 CYCLE_CHECK arguments.
8680 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8681 (lookup_named_face, lookup_derived_face, realize_named_face)
8682 (face_at_string_position, face_at_buffer_position): Supply
8683 new F and CYCLE_CHECK arguments to merge_face_vectors.
8684 (merge_face_heights): New function.
52283633 8685 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8686 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8687 handle relative face heights.
8688 (lface_same_font_attributes_p): Compare heights using EQ.
8689
6ce974d4
KH
86902000-08-26 Kenichi Handa <handa@etl.go.jp>
8691
8692 * charset.c (char_to_string): Check the character validity.
52283633 8693 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8694
dc1e502d
SM
86952000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8696
8697 * regex.c (PUSH_FAILURE_COUNT): New macro.
8698 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8699 Handle popping of a register's or a counter's data.
8700 (POP_FAILURE_POINT): Use the new name.
8701 (re_match_2_internal): Push counter data on the stack for succeed_n,
8702 jump_n and set_number_at and remove misleading dead code in succeed_n.
8703
bd9d0f3f
GM
87042000-08-25 Gerd Moellmann <gerd@gnu.org>
8705
8706 * xdisp.c (redisplay_internal): If considering all windows on all
8707 frames, update the display for each frame as soon as possible,
8708 instead of first building all desired matrices for all frames, and
8709 then updating them all.
8710 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8711
aa5b8e15
GM
87122000-08-24 Gerd Moellmann <gerd@gnu.org>
8713
17494071
GM
8714 * bytecode.c (mark_byte_stack): Add a comment.
8715
52283633
SM
8716 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8717 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8718 a graphical frame.
8719
c543db81
KH
87202000-08-24 Kenichi Handa <handa@etl.go.jp>
8721
d246d5f5
KH
8722 * minibuf.c (do_completion): Always use compare-string, not
8723 string-equal because the latter doesn't pay attention to
8724 multibyteness of strings.
8725
c543db81
KH
8726 * process.c (create_process): Don't setup raw-text coding here.
8727 (Fopen_network_stream): Don't set coding->src_multibyte and
8728 coding->dst_multibyte here.
8729 (read_process_output): For process filter, return unibyte string
8730 if default-enable-multibyte-characters is nil.
8731 (send_process): If OBJECT is multibyte text, be sure to encoded it
8732 by the specified coding system for the process. Otherwise, setup
8733 raw-text coding.
52283633 8734 (init_process): Don't initialize default-process-coding-system here.
c543db81 8735
9b47cfe0
EZ
87362000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8737
8738 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8739 <scroll-down-aggressively>: Likewise.
8740
f5a36960
KH
87412000-08-23 Kenichi Handa <handa@etl.go.jp>
8742
8743 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8744 zero. Set coding->produced_char correctly.
8745
69a7ffa7
AI
87462000-08-22 Andrew Innes <andrewi@gnu.org>
8747
8748 * makefile.w32-in: New file.
8749
8750 * unexw32.c (unexec): Ignore old_name, and use the actual location
8751 of the current executable instead. Base new_name on this.
8752
8753 * w32proc.c (create_child): Remove reference to security
8754 descriptor, which isn't needed and doesn't compile with mingw32.
8755
8756 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8757 up dllimport attributes.
8758 (x_update_window_end): Update prototype.
8759
8760 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8761 extern, which screws up dllimport attributes.
8762
8763 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8764 up dllimport attributes.
8765
8766 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8767 screws up dllimport attributes.
8768
8769 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8770 up dllimport attributes.
8771 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8772 screws up dllimport attributes.
8773
8774 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8775 up dllimport attributes.
8776
8777 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8778 screws up dllimport attributes.
8779
8780 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8781 screws up dllimport attributes.
8782
8783 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8784 up dllimport attributes.
8785
8786 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8787 unnecessary extern, which screws up dllimport attributes.
8788 (main): Ditto.
8789
8790 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8791 up dllimport attributes.
8792
8793 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8794 unnecessary extern, which screws up dllimport attributes.
8795
8796 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8797 screws up dllimport attributes.
8798
8799 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8800 up dllimport attributes.
8801
8802 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8803
52283633
SM
8804 * w32bdf.c (search_file_line):
8805 (set_bdf_font_info):
8806 (seek_char):
8807 (w32_get_bdf_glyph):
69a7ffa7
AI
8808 (w32_BDF_to_x_font): Fix compile warnings.
8809
52283633 8810 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8811
8812 * w32select.c: Include keyboard.h before frame.h.
8813
8814 * w32fns.c (max): Define macro.
8815 (JOHAB_CHARSET): Define if not known.
8816 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8817 (Fx_show_tip): Synch with X version.
8818
8819 * w32xfns.c: Include keyboard.h before frame.h.
8820
8821 * w32fns.c: Include keyboard.h before frame.h.
8822
8823 * w32term.c: Include keyboard.h before frame.h.
8824
8825 * fontset.c: Include keyboard.h before frame.h.
8826
8827 * w32inevt.c: Include keyboard.h before frame.h.
8828 (MOUSE_MOVED): Define if not known.
8829
8830 * minibuf.c: Include keyboard.h before frame.h.
8831
8832 * keyboard.c: Include keyboard.h before frame.h.
8833
8834 * indent.c: Include keyboard.h before frame.h.
8835
8836 * dispnew.c: Include keyboard.h before frame.h.
8837
8838 * buffer.c: Include keyboard.h before frame.h.
8839
8840 * alloc.c: Include keyboard.h before frame.h.
8841
8842 * print.c: Include keyboard.h before frame.h.
8843
8844 * process.c: Include keyboard.h before frame.h.
8845
8846 * scroll.c: Include keyboard.h before frame.h.
8847
8848 * sysdep.c: Include keyboard.h before frame.h.
8849
8850 * term.c: Include keyboard.h before frame.h.
8851
8852 * window.c: Include keyboard.h before frame.h.
8853
8854 * xdisp.c: Include keyboard.h before frame.h.
8855 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8856
8857 * frame.c: Include keyboard.h before frame.h.
8858
8859 * w32heap.h: Undefine min, max.
8860
8861 * w32gui.h: Undefine min, max.
8862
8863 * unexw32.c: Change PUCHAR to PCHAR.
8864 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8865 (relocate_offset):
8866 (get_section_info):
69a7ffa7
AI
8867 (copy_executable_and_dump_data): Remove unnecessary static defs.
8868 (copy_executable_and_dump_data): Fix compile warnings.
8869
8870 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8871
8872 * w32console.c (min): Define macro.
8873 (clear_frame, write_glyphs): Fix compile warning.
8874
52283633 8875 * w32proc.c (compare_env):
69a7ffa7
AI
8876 (find_child_console): Fix compile warning.
8877
8878 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8879 sys_errlist instead of _sys_errlist.
8880 (get_emacs_configuration_options): New function.
8881
8882 * s/ms-w32.h (sys_nerr): Provide default definition.
8883 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8884 name with _ prepended.
8885 (NSIG): Define if not known.
8886 (get_emacs_configuration): Provide extern declaration.
8887 (get_emacs_configuration_options): Provide extern declaration.
8888 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8889
8890 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8891 (map_w32_filename):
69a7ffa7
AI
8892 (read_unc_volume): Fix compile warning.
8893
8894 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8895 definitions from being used.
8896
8897 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8898
52283633 8899 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8900 (open_unc_volume): Make arg const.
8901
8902 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8903 (read_input_waiting): Remove excess parameter.
8904
8905 * w32.c (init_environment): Call _access.
8906 (check_windows_init_file): Call _close.
8907 (init_user_info): Call _putenv.
8908 (init_environment): Call _putenv and _strdup.
8909 (init_ntproc): Reset volume info cache on startup.
8910
8911 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8912 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8913 cannot override the CRT malloc.
8914
8915 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8916 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8917
8918 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8919 unless we are linking with a static CRT.
8920 (RVA_TO_PTR): Cast result to unsigned char*.
8921
8922 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8923 (add_volume_info): Use xstrdup.
8924
25060080
SM
89252000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8926
8927 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8928 (do_completion, Fminibuffer_complete_word): Use it.
8929 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8930 var so it can take non-boolean values.
8931
6917e6bb
GM
89322000-08-21 Gerd Moellmann <gerd@gnu.org>
8933
acb7cc89 8934 * editfns.c (find_field): Formatting changes.
52283633 8935 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8936 changed to prototypes, some new protypes added, some functions
8937 made static.
8938
8939 * lisp.h (set_time_zone_rule): Add prototype.
8940 (use_dialog_box): External declaration.
8941
0bbfdc25
GM
8942 * keyboard.c (gen_help_event): Add parameter SIZE.
8943 (kbd_buffer_events_waiting): Slightly rewritten.
8944 (clear_event): New function.
8945 (kbd_buffer_get_event): Use it, and clear the input_events of
8946 HELP_EVENTs.
8947 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8948 don't fill the newly created array with nils.
8949 (toplevel): Convert some old-style function forward declarations
8950 to prototypes.
8951
8952 * keyboard.h (gen_help_event): Change prototype.
8953
8954 * xterm.c (XTread_socket): Change calls to gen_help_event.
8955
8956 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8957
6917e6bb
GM
8958 * eval.c (Fmacroexpand): Doc fix.
8959
e5cd3d11
JR
89602000-08-20 Jason Rumney <jasonr@gnu.org>
8961
8962 * w32term.h (x_display_info_for_display): Remove as this function
8963 does not exist on W32.
8964
8965 * w32term.c (help_echo_window): New variable.
8966 (syms_of_w32term): staticpro it.
8967 (note_mode_line_highlight): Set it.
8968 (XTextExtents16): Removed as there is no equivalent on W32.
8969 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8970 the X way of doing this will not work for W32.
8971 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8972 (x_draw_image_foreground): Avoid drawing outside of the clip area
8973 when image doesn't have a mask.
8974 (note_mouse_highlight): Process overlays in the right order of
8975 priority. Set help_echo_window.
8976 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8977 because that's more visible for large images.
8978
8979 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8980 name to single_keymap_panes.
8981 (w32_menu_show): Set wv->title when dealing with titles.
8982 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8983
6e69ab8c
MB
89842000-08-21 Miles Bader <miles@gnu.org>
8985
8986 * minibuf.c (do_completion): Try again if we rewrite the input
8987 string, but no completion was done, so that any completion message
8988 will be correct.
8989
511bd4eb
GM
89902000-08-20 Gerd Moellmann <gerd@gnu.org>
8991
8992 * xfaces.c (lface_equal_p): Compare strings differently.
8993 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8994 (realize_tty_face): Use them.
8995 (syms_of_xfaces): Initialize new variables.
8996 (map_tty_color): New function, extracted from realize_tty_face.
8997 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8998 foreground or background color, store the new color name in the
8999 realized face; previous code trying to do this had no effect.
9000 (realize_tty_face): Use map_tty_color.
9001 (Fclear_face_cache): Set face_change_count and ensure thorough
9002 redisplay.
9003
1433385f
GM
90042000-08-19 Gerd Moellmann <gerd@gnu.org>
9005
511bd4eb
GM
9006 * undo.c (record_first_change, record_marker_adjustment): Don't
9007 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9008
419ac0a2
KH
90092000-08-18 Kenichi Handa <handa@etl.go.jp>
9010
9011 * coding.c (decode_coding_string): Set members consumed,
9012 consumed_char, produced, produced_char of *coding correctly. If
9013 decode_coding doesn't consume any byte, don't try anymore.
9014 (encode_coding_string): Likewise.
9015
7eb9e30d
GM
90162000-08-18 Gerd Moellmann <gerd@gnu.org>
9017
511bd4eb
GM
9018 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9019 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9020
9021 * xdisp.c (redisplay_internal): Compare windows for equality with
9022 EQ, instead of applying XWINDOW to something that might not
9023 be a window.
52283633 9024
dd34a735
KH
90252000-08-18 Kenichi Handa <handa@etl.go.jp>
9026
9027 * fontset.c (Finternal_char_font): Search only the selected frame
9028 for a window of the current buffer.
9029
385ff9e3
GM
90302000-08-18 Gerd Moellmann <gerd@gnu.org>
9031
511bd4eb 9032 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9033 Lisp_Objects.
9034
385ff9e3
GM
9035 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9036 second half of a HELP_EVENT is found at the start of kbd_buffer.
9037
d6abb4c7
MB
90382000-08-18 Miles Bader <miles@gnu.org>
9039
4618074a
MB
9040 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9041
d6abb4c7
MB
9042 * editfns.c (save_restriction_save): Rewrite to use markers.
9043 (save_restriction_restore): Rewrite to understand new form of data
9044 saved by save_restriction_save.
9045 (Fsave_restriction): Remove cautionary note in doc-string.
9046
a7b28523
GM
90472000-08-17 Gerd Moellmann <gerd@gnu.org>
9048
9049 * fileio.c (build_annotations): Add a comment explaining the
9050 return value of format-annotate-function. Replace a spurious call
9051 to Flength with a CONSP test. Call format-annotate-function with
9052 a fifth arg specifying how many times the function is been called
9053 in a row, to let it choose temporary buffers appropriately.
9054
03c9ed77
DL
90552000-08-17 Dave Love <fx@gnu.org>
9056
9057 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9058 declare make_temp_name twice.
9059
52283633 9060 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9061 (unreadpure): Give it an arg.
9062
9063 * unexalpha.c: Prototype fatal_unexec, mark_x,
9064 update_dynamic_symbols. Declare unexec as void.
9065
9066 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9067 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9068
9069 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9070 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9071
9072 * alloca.c: Use #error.
9073 [POINTER_TYPE]: Use it.
9074
9075 * eval.c (Fdefvar): Doc fix.
9076
9077 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9078 INITIALIZE_INTERVAL.
9079
9080 * buffer.h: Avoid DECLARE_INTERVALS.
9081
9082 * config.in: Add size_t.
9083
aae41d97
EZ
90842000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9085
9086 * w16select.c (set_clipboard_data): If there's not enough memory
9087 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9088 expects. In case of other failures, return 3.
9089 (system_error_msg): New error message.
9090 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9091 system_error_msg.
9092
65aa5e85
GM
90932000-08-16 Gerd Moellmann <gerd@gnu.org>
9094
9095 * term.c (write_glyphs): Also turn off inverse video after turning
9096 off other appearances in case TS_exit_attribute_mode is not equal
9097 to TS_end_standout_mode.
9098 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9099 with the same face.
9100 (turn_off_face): Reset standout_mode only if
9101 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9102 is equal to TS_end_standout_mode.
9103
ece23901
KH
91042000-08-16 Kenichi Handa <handa@etl.go.jp>
9105
9d7bcb2e
KH
9106 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9107 sequence at the end of the source block.
9108
ece23901
KH
9109 * ccl.c (Fccl_program_p): Docstring modified.
9110 (Fccl_execute): Likewise.
9111 (Fccl_execute_on_string): Likewise.
9112
5e30eaa2
EZ
91132000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9114
9115 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9116
290602fd
KH
91172000-08-16 Kenichi Handa <handa@etl.go.jp>
9118
9119 The following changes are mainly to fix bugs of
9120 encode/decode-coding-string failing if encoding/decoding return
9121 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9122 variable conversion_buffer.
9123
9124 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9125 decrement dst_end to avoid buffer overflow in the later call of
9126 string_as_multibyte
9127
9128 * coding.h (conversion_buffer_size, conversion_buffer)
9129 (get_conversion_buffer): Extern deleted.
9130
9131 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9132 (conversion_buffer, conversion_buffer_size): Variables deleted.
9133 (get_conversion_buffer): Function deleted.
9134 (struct conversion_buffer): New structure.
9135 (MAX_ALLOCA): New macro.
9136 (allocate_conversion_buffer): New macro.
9137 (extend_conversion_buffer, free_conversion_buffer): New functions.
9138 (ccl_coding_driver): Set coding->result.
9139 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9140 this is the last block of source.
9141 (encode_coding): Likewise. Handle the source block as the last
9142 one only when the whole source text is consumed.
9143 (decode_coding_string): Handle the case that the output buffer is
9144 too small to decode the whole source text. Use
9145 allocate_conversion_buffer, extend_conversion_buffer and
9146 free_conversion_buffer, not get_conversion_buffer.
9147 (encode_coding_string): Likewise.
9148 (init_coding): Function deleted.
52283633 9149 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9150
9151 * emacs.c (main): Don't call init_coding.
9152
52283633 9153 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9154
9155 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9156 (insert_glyphs): Likewise.
9157
9158 * w32console.c (write_glyphs): Use a locally declared
9159 conversion_buffer.
9160
b9f80d41
EZ
91612000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9162
9163 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9164 member of display_info is NULL.
9165
32dc52f7
GM
91662000-08-15 Gerd Moellmann <gerd@gnu.org>
9167
52283633 9168 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9169
32dc52f7 9170 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9171 appearances with capability `me'.
32dc52f7
GM
9172 (write_glyphs): Switch on inverse video before each face change.
9173
4eb22d33
DL
91742000-08-14 Dave Love <fx@gnu.org>
9175
9176 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9177 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9178 (lisp_free): Declare and make static.
9179
9180 * window.c: Fix embedded comment.
9181 (syms_of_window): Fix doc string.
9182
90cbf47e
GM
91832000-08-14 Gerd Moellmann <gerd@gnu.org>
9184
52283633 9185 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9186 make sure to print `C-' before `M-', like in the manual.
9187
440fc135
GM
91882000-08-11 Gerd Moellmann <gerd@gnu.org>
9189
9190 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9191 since they aren't relocated anymore.
52283633 9192 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9193
9194 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9195 partially visible line which is smaller than the window's height.
440fc135 9196
6e264fad
KH
91972000-08-11 Kenichi Handa <handa@etl.go.jp>
9198
9199 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9200 the multibyte form of eight-bit-control characters.
6e264fad
KH
9201 (Fccl_execute_on_string): Initialize ccl->multibyte.
9202
9203 * ccl.h (struct ccl_program): New member multibyte.
9204
9205 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9206
c371f69a
KH
92072000-08-11 Kenichi Handa <handa@etl.go.jp>
9208
9209 * regex.c (regex_compile) <normal_char>: Pay attention to
9210 multibyteness.
9211 (analyse_first) <exactn>: Setup fastmap correctly for
9212 eight-bit-control characters.
9213
92142000-08-11 Kenichi Handa <handa@etl.go.jp>
9215
52283633 9216 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9217
9218 * keyboard.c (make_lispy_event): Handle the new event type
9219 multibyte_char_keystroke.
9220
9221 * xterm.c: Include coding.h.
9222 (XTread_socket): Work around a bug of XmbLookupString. If the
9223 input is from XIM, decode it according to the current locale. In
9224 that case, generate multibyte_char_keystroke events.
9225
b8ddbe71
KH
92262000-08-11 Kenichi Handa <handa@etl.go.jp>
9227
9228 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9229 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9230
47589c8c
GM
92312000-08-10 Gerd Moellmann <gerd@gnu.org>
9232
9233 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9234 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9235 (move_it_in_display_line_to): Record iterator's ascent and descent
9236 before producing glyphs, and restore them when we know the glyph
9237 doesn't fit on the line.
9238 (move_it_to): Restructured so that it's easier to debug. If
9239 moving to a vpos, and not moving to an x or character position,
9240 stop as soon as the specified vpos is reached; don't move further
9241 into that line because that might change the computed line height.
9242 (try_cursor_movement): New function, extracted from the cursor
9243 movement branch of redisplay_window. If ending on a partially
9244 visible line, don't try to scroll if the cursor line is taller
9245 than the window.
9246 (redisplay_window): Use try_cursor_movement.
9247
9248 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9249 because that function doesn't cope with variable-height lines.
9250
9251 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9252 box cursor because that's better visible for large images.
52283633 9253
c51bacd6
MB
92542000-08-10 Miles Bader <miles@gnu.org>
9255
9256 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9257
bea56df7
GM
92582000-08-10 Gerd Moellmann <gerd@gnu.org>
9259
9260 * xdisp.c (Vmessages_buffer_name): New variable.
9261 (message_dolog): Use it.
9262 (syms_of_xdisp): Initialize it.
9263
99cd7364
EZ
92642000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9265
52283633 9266 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9267 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9268 redundant now that keyboard.h is included.
9269
7d093d56
EZ
92702000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9271
9272 * keyboard.c (kbd_buffer_events_waiting): New function.
9273
9274 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9275
9276 * msdos.c: Include keyboard.h.
9277 (XMenuActivate): Empty no_event events from the event buffer. If
9278 no events are left after that, call clear_input_pending.
9279 (mouse_clear_clicks): New function, code moved from mouse_init.
9280 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9281 mouse driver to ``forget'' any past clicks.
9282
9283 * Makefile.in (msdos.o): Depend on keyboard.h.
9284
41e757a6
GM
92852000-08-09 Gerd Moellmann <gerd@gnu.org>
9286
8e7bd231
GM
9287 * lisp.h (input_pending): External declaration.
9288
9289 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9290
8e7bd231
GM
9291 * xdisp.c (echo_area_display): Display thoroughly if input is
9292 pending. Bind redisplay-dont-pause to t during the redisplay.
9293 in case input is pending.
9294
9295 * dispnew.c (Qredisplay_dont_pause): New variable.
9296 (syms_of_display): Initialize and staticpro it.
9297 (update_frame_1): Don't interrupt the display for pending input if
9298 redisplay_dont_pause is set.
52283633 9299
43028b7e
GM
9300 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9301
41e757a6
GM
9302 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9303
2f2174fa
KH
93042000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9305
9306 * callproc.c (Fcall_process): Terminate the unwind-protect around
9307 the post-read-conversion of coding system.
9308
0a6fd67e
MB
9309 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9310 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9311 * buffer.h (overlays_at): Update prototype.
9312 * xdisp.c (next_overlay_change): Update call to overlays_at.
9313 * xfaces.c (face_at_buffer_position): Likewise.
9314 * textprop.c (Fget_char_property): Likewise.
9315 * xterm.c (note_mouse_highlight): Likewise.
9316
0c80756e
MB
9317 * minibuf.c (do_completion): Don't consider a simple change of
9318 case as `completion'.
9319
975f250a
KR
93202000-08-08 Ken Raeburn <raeburn@gnu.org>
9321
52283633 9322 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9323 * undo.c (record_delete): Make sure last_point_position_buffer is
9324 a buffer before comparing pointers.
9325
9326 * coding.h (decode_coding_string): Declare.
9327
9328 * intervals.h (Fprevious_single_char_property_change): Declare.
9329
9330 * textprop.c (Fprevious_single_char_property_change): Don't do
9331 arithmetic directly on lisp objects.
9332
52283633 9333 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9334
9335 * keyboard.h (menu_item_eval_property): Declare.
9336
9337 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9338 reuse as buffer name, instead of recreating (and discarding) every
9339 time a message is logged.
9340 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9341 (current_message_1, truncate_message_1, set_message_1)
9342 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9343 (current_message, truncate_echo_area, display_echo_area)
9344 (resize_echo_area_axactly): Changed calls.
b347b3fd 9345
975f250a 9346 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9347 Lisp object.
975f250a 9348 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9349 must be an integer, not a Lisp object.
975f250a 9350
46dc9912
KH
93512000-08-08 Kenichi Handa <handa@etl.go.jp>
9352
9353 * charset.c (Fchar_width): Doc fix.
9354
9f6d1a6c
GM
93552000-08-08 Gerd Moellmann <gerd@gnu.org>
9356
9357 * charset.c (Fstring_width): Doc fix.
9358
ff3d9573
GM
93592000-08-07 Gerd Moellmann <gerd@gnu.org>
9360
41e757a6 9361 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9362 line, clear ascent and descent members of the iterator structure;
9363 the height of the continued line does not affect the height of the
9364 continuation line.
9365 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9366 line taller than the window.
9367 (redisplay_window) <forced window start>: Handle case that the
9368 middle of the window is not found in any row.
9369 (dump_glyph_row): Show more information.
9370 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9371 first text line in a glyph matrix.
9372
9373 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9374 of the clip area when image doesn't have a mask.
9375
70fc58b3
GM
9376 * fns.c (sweep_weak_table): Fix survival conditions for
9377 key-or-value and key-and-value weakness.
9378
9379 * .gdbinit (xhashtable): New command.
9380
ac0e96ee
GM
9381 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9382 tables out of the list of all weak hash tables.
9383
ff3d9573
GM
9384 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9385 a new buffer is created, make sure echo_area_buffer[] references
9386 the new buffer.
9387
e0d8827b
EZ
93882000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9389
9390 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9391 the doc string.
9392
c6f35378
KH
93932000-08-07 Kenichi Handa <handa@etl.go.jp>
9394
9395 * syntax.c (skip_chars): Fix previous change. Make the handling
9396 of unibyte string consistent with that of regex search.
9397
1fd4c450
GM
93982000-08-05 Gerd Moellmann <gerd@gnu.org>
9399
e49aa397
GM
9400 * xmenu.c (popup_get_selection): Use xfree instead of free.
9401
9402 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9403
9404 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9405
9406 * callproc.c (child_setup): Use xfree instead of free.
9407
9408 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9409 instead of malloc.
9410 (run_mac_command, closedir): Use `xfree' instead of `free'.
9411
9412 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9413
9414 * eval.c (error): Use xfree instead of free.
9415
1fd4c450
GM
9416 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9417
9418 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9419 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9420
82d497fc
KH
94212000-08-05 Kenichi Handa <handa@etl.go.jp>
9422
9423 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9424 conversion.
9425
59f953a2
NF
94262000-08-04 Noah Friedman <friedman@splode.com>
9427
9428 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9429 docstring.
9430
688351f2
GM
94312000-08-04 Gerd Moellmann <gerd@gnu.org>
9432
9433 * syntax.c (skip_chars): Fix typo in error message.
9434
2dad51cc
AS
94352000-08-04 Andreas Schwab <schwab@suse.de>
9436
9437 * m/ia64.h: Moved from s/ia64.h.
9438
99bb2c60
KH
94392000-08-04 Kenichi Handa <handa@etl.go.jp>
9440
082a1df2
KH
9441 * process.c (read_process_output): Big simplification. Handle
9442 composition and post-read-conversion of coding system correctly.
9443 (send_process): Handle composition correctly.
9444
9445 * callproc.c (Fcall_process): Handle post-read-conversion of
9446 coding system if any.
9447
99bb2c60
KH
9448 * coding.c (decode_coding_iso2022): More strict check for handling
9449 single shifting.
082a1df2
KH
9450 (coding_restore_composition): Pay attention to the case that
9451 cmp_data is not set properly (because of invalid code in the
9452 source text).
9453 (run_pre_post_conversion_on_str): Include text properties in the
9454 resulting string.
9455 (decode_coding_string): Set members of coding correctly.
99bb2c60 9456
f4988be7
GM
94572000-08-03 Gerd Moellmann <gerd@gnu.org>
9458
9459 * s/ia64.h: New file.
9460
9461 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9462 Use NULL instead of 0 at the end of variable argument list of
9463 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9464 sizeof (int) < sizeof (void *).
9465
9466 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9467 of variable argument lists of XtVaGetValues and XtVaSetValues.
9468
9469 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9470 variable argument lists of XtVaGetValues and XtVaSetValues.
9471
ead53494
GM
94722000-08-02 Gerd Moellmann <gerd@gnu.org>
9473
9474 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9475 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9476
9477 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9478 prototype.
9479
9480 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9481 in call to Fsingle_key_description.
9482
9483 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9484 Callers changed.
9485
94862000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9487
9488 * window.c (display_buffer_reuse_frames): New variable.
9489 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9490 frames displaying BUFFER.
52283633 9491 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9492
10b0f752
MB
94932000-08-01 Miles Bader <miles@gnu.org>
9494
9495 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9496 when to constrain NEW_POS (they were pretty screwed up before).
9497
16425c4a
EZ
94982000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9499
9500 * msdos.c (run_msdos_command): Save and restore the master
9501 environment, for the case that child_setup signals an error.
9502 When mirroring slashes in DOS shell commands, don't fail when
9503 argv[2] has embedded blanks.
da288c14
EZ
9504 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9505 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9506 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9507
9508 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9509 using alloca; free it after run_msdos_command returns.
9510
27f73852
DL
95112000-07-27 Dave Love <fx@gnu.org>
9512
52283633
SM
9513 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9514 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9515
9516 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9517
c0261b5e
EZ
95182000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9519
9520 * editfns.c (lisp_time_argument): Fix last change.
9521
b548072f
GM
95222000-07-27 Gerd Moellmann <gerd@gnu.org>
9523
3ab82477
GM
9524 * fns.c (Fdelete): Make it work on vectors and strings in addition
9525 to lists.
9526
b548072f
GM
9527 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9528 (syms_of_fns): Initialize new variables.
52283633 9529 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9530 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9531 weakness, with t meaning the same as `key-and-value'.
9532
91ae8751
KH
95332000-07-27 Kenichi Handa <handa@etl.go.jp>
9534
9535 * coding.h (struct coding_system): Member safe_charset deleted.
9536
9537 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9538 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9539 New variables.
91ae8751
KH
9540 (coding_safe_chars): New function.
9541 (CODING_SAFE_CHAR_P): New macro.
9542 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9543 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9544 (detect_coding_iso2022): New local variable safe_chars.
9545 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9546 safe_charsets member of the coding system.
9547 (decode_coding_iso2022): New local variable safe_chars.
9548 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9549 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9550 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9551 (ENCODE_UNSAFE_CHARACTER): New macro.
9552 (encode_coding_iso2022): New local variable safe_chars. Check
9553 unsafe chars.
9554 (setup_coding_system): Delete the code to initialize
9555 coding->safe_charses
9556 (intersection, find_safe_codings): New functions.
9557 (Ffind_coding_systems_region_internal): New function.
9558 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9559 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9560 variable and initialize it.
9561
9562 * fns.c (char_table_ref_and_index): New function.
9563
9564 * lisp.h (char_table_ref_and_index): Add prototype.
9565
34a7a267
SS
95662000-07-26 Sam Steingold <sds@gnu.org>
9567
9568 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9569 (Ffloat_time): New built-in Lisp function.
34a7a267 9570
a95cb10a
GM
95712000-07-26 Gerd Moellmann <gerd@gnu.org>
9572
3353ef5a
GM
9573 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9574 for the character code.
9575
9576 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9577 GNU/Linux.
9578
a95cb10a
GM
9579 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9580 if called for a popup menu.
9581 (xmenu_show): Store help string in widget values.
9582
b4a12321
DL
95832000-07-26 Dave Love <fx@gnu.org>
9584
9585 * syswait.h: Move some definitions.
9586 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9587 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9588 perspicuous definitions.
9589 (WTERMSIG): Fix bit pattern used.
9590
13f5ad37
KH
95912000-07-26 Kenichi Handa <handa@etl.go.jp>
9592
9593 * print.c (print_object): If vector printing is truncated, print
9594 "..." to indicate it as well as the case of list printing.
9595
070fe99c
GM
95962000-07-25 Gerd Moellmann <gerd@gnu.org>
9597
969065c3
GM
9598 * xdisp.c (next_element_from_display_vector): Improve comments.
9599
9600 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9601 for the character code, and the rest for the face id as in 20.x.
9602 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9603
9604 * window.c (window_display_table): Cleaned up.
9605
070fe99c
GM
9606 * syntax.c (Fforward_word): Add last arg nil in call of
9607 Fconstrain_to_field.
9608
bad77ef7
EZ
96092000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9610
969065c3 9611 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9612 identical but for the letter-case, don't call
9613 barf_or_query_if_file_exists.
bad77ef7 9614
c28da489
MB
96152000-07-25 Miles Bader <miles@gnu.org>
9616
9617 * editfns.c (find_field): Honor special `boundary' fields.
9618 (Qboundary): New variables.
9619 (syms_of_editfns): Initialize Qboundary.
9620 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9621 Use scan_buffer instead of find_before_next_newline, because it
9622 allows us to detect the boundary case where there's a newline at
9623 the search limit.
9624 * lisp.h (Fconstrain_to_field): Update external declaration.
9625
e3c31fd5
GM
96262000-07-24 Gerd Moellmann <gerd@gnu.org>
9627
9628 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9629 if that is nil.
c28da489 9630
c66c29a2
DL
96312000-07-24 Dave Love <fx@gnu.org>
9632
9633 * s/sunos4-0.h, s/sol2.h:
9634 (LIBS_TERMCAP): Move from m/sparc.h.
9635
9636 * m/sparc.h (TERMINFO): Moved to system files (probably only
9637 relevant for sunos4 judging by its vintage).
9638 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9639 __arch64__.
9640
fbe0a958
EZ
96412000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9642
9643 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9644 name to single_keymap_panes.
9645
7d88e5c9
AS
96462000-07-24 Andreas Schwab <schwab@suse.de>
9647
9648 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9649
e024b101
GM
96502000-07-24 Gerd Moellmann <gerd@gnu.org>
9651
9652 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9653 parameters instead of using int parameters. Expect FN to accept
9654 EMACS_INT parameters.
9655 (display_echo_area, resize_echo_area_axactly, current_message)
9656 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9657 with new argument list.
9658 (resize_mini_window_1): New callback function.
9659 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9660 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9661
25c1a9ce
KH
96622000-07-24 Kenichi Handa <handa@etl.go.jp>
9663
9664 * fontset.c (fontset_ref): Remove INLINE declaration.
9665 (fontset_ref_via_base): Likewise.
9666 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9667 to downcase.
9668
7f987ac0
EZ
96692000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9670
9671 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9672 correct order of priority. If help echo was found in an overlay,
9673 use that overlay as the object in which the help echo was found.
9674
e2db3069
MB
96752000-07-22 Miles Bader <miles@gnu.org>
9676
9677 * textprop.c (Fprevious_single_char_property_change): The initial
9678 property value should be from the position preceding POSITION, not
9679 following it.
9680
5e3203e4
EZ
96812000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9682
9683 * coding.c (syms_of_coding): Doc fix for
9684 inhibit-iso-escape-detection.
9685
62145073
GM
96862000-07-21 Gerd Moellmann <gerd@gnu.org>
9687
c20aeb83
GM
9688 * xterm.c (note_mouse_highlight): Process overlays in the right
9689 order of priority.
34a7a267 9690
743934db
GM
9691 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9692
9693 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9694 overlay, use that overlay as the object in which the help was found.
743934db 9695
d1dc7e43 9696 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9697
62145073
GM
9698 * window.c (foreach_window): Instead of a fake variable argument
9699 list, take one USER_DATA argument.
9700 (foreach_window_1): Likewise, and call callback functions with two
9701 args, the window and USER_DATA.
9702 (struct check_window_data): New struct.
9703 (check_window_containing): Use it.
9704 (window_from_coordinates): Set up a struct check_window_data for
9705 foreach_window.
9706 (add_window_to_list, freeze_window_start): Change parameters
9707 according to new calling convention.
9708
9709 * window.h (foreach_window): Change prototype.
9710
9711 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9712
97132000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9714
9715 * xmenu.c (menu_help_callback): Call show_help_echo with
9716 additional arguments OBJECT and POS.
9717
11270583
KH
97182000-07-21 Kenichi Handa <handa@etl.go.jp>
9719
07b14857
KH
9720 * data.c (Faset): Allow storing any multibyte character in a
9721 string. Convert unibyte string to multibyte if necessary.
9722
11270583
KH
9723 * xfns.c (x_encode_text): New function.
9724 (x_set_name): Use x_encode_text.
9725 (x_set_title): Likewise.
9726
9727 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9728
9729 * xterm.h (x_encode_text): Add prototype.
9730
bc75b4fd
DL
97312000-07-20 Dave Love <fx@gnu.org>
9732
9733 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9734 xfree, not free.
9735
48c14970
EZ
97362000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9737
9738 * msdos.c (help_echo_window): New variable.
9739 (syms_of_msdos): Initialize and staticpro it.
9740 (IT_note_mode_line_highlight): Set help_echo_window.
9741 (IT_note_mouse_highlight): Ditto.
9742 (dos_rawgetc): Store help_echo_window in the second event produced
9743 for HELP_EVENTs.
9744
9745 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9746 Record the object that generated the help echo and the position of
9747 that object in help_echo_object and help_echo_pos. Record that
9748 some glyphs in a row are displayed in mouse-face.
9749 (IT_update_begin): Don't clear mouse highlight unless one of the
9750 enabled glyph rows is marked as being displayed in mouse-face.
9751 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9752 and position recorded in help_echo_object and help_echo_pos to the
9753 event queue.
9754 (IT_menu_display): Accept a new argument PN: the pane number of
9755 the current menu pane. Record the pane number and the item
9756 number of the item which has associated help string.
9757 (XMenuActivate): Update the prototype for help_callback in
9758 function declaration. Call IT_menu_display with the current menu
9759 pane number as an additional argument. Call help_callback with
9760 two additional arguments: the pane number and the item number of
9761 the menu item associated with the help text.
9762 (help_echo_object, help_echo_pos): New variables.
9763 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9764
9765 * msdos.h (XMenuActivate): Update prototype.
9766
4279296d
GM
97672000-07-19 Gerd Moellmann <gerd@gnu.org>
9768
47db06aa
GM
9769 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9770 Add some more prototypes.
9771
9772 * xterm.c, xterm.h: Add some more prototypes.
9773
9774 * lisp.h (Fnext_single_char_property_change): Add prototype.
9775
9776 * dispnew.c (direct_output_for_insert): Remove confusing
9777 outer local variable mouse_face_overwritten_p.
9778 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9779
4279296d
GM
9780 * alloc.c (allocate_string_data): Don't copy old string contents.
9781
670acd62
KH
97822000-07-19 Kenichi Handa <handa@etl.go.jp>
9783
9784 * coding.c (code_convert_region): Delete text properties before
9785 shrinking the conversion region.
9786
7cea38bc
GM
97872000-07-18 Gerd Moellmann <gerd@gnu.org>
9788
dc1cac59
GM
9789 * dispnew.c (update_text_area): Write the whole row if it
9790 has mouse-face in it.
9791
85a8aca9
GM
9792 * xfaces.c (face-alternative-font-family-alist): Remove
9793 DEFVAR_LISP; staticpro instead.
9794
34a7a267 9795 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9796 new arguments.
9797
9798 * keyboard.c (show_help_echo): Add parameter WINDOW.
9799 (read_char): Call show_help_echo with window extracted from Lisp
9800 help event.
9801 (gen_help_event): Add parameter WINDOW.
9802
9803 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9804
9805 * xterm.c (help_echo_window): New variable.
52283633 9806 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9807 (XTread_socket): Pass help_echo_window to gen_help_event.
9808 (syms_of_xterm): Initialize and staticpro help_echo_window.
9809
f8276b77
DL
98102000-07-18 Dave Love <fx@gnu.org>
9811
52283633 9812 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9813
088831a6
GM
98142000-07-18 Gerd Moellmann <gerd@gnu.org>
9815
3d6cd763
GM
9816 * alloc.c (allocate_string_data): If string had already data
9817 assigned, copy old contents to new string data.
9818
9819 * coding.c (syms_of_coding): Fix typo in spelling of variable
9820 `inhibit-iso-escape-detection'.
9821
088831a6
GM
9822 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9823
9824 * Makefile.in: Add dependencies on dispextern.h.
9825 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9826 `free'; both can conflict with system header files.
9827
bc8a8d55
KH
98282000-07-18 Kenichi Handa <handa@etl.go.jp>
9829
9830 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9831 undefined.
9832
069f5950
DL
98332000-07-18 Dave Love <fx@gnu.org>
9834
9835 * window.c (Fwindow_list): Declare arg `window'.
9836
aa96c820
KH
98372000-07-18 Kenichi Handa <handa@etl.go.jp>
9838
9839 * coding.c (setup_coding_system): Don't override the explicitly
9840 specified designations.
9841
06be8d32
MB
98422000-07-15 Miles Bader <miles@gnu.org>
9843
9844 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9845 from `text_property_eq' and `text_property_stickiness', respectively.
9846 (find_field, Fconstrain_to_field, char_property_eq)
9847 (char_property_stickiness): Changed to call char-property functions
9848 instead of text-property-only ones.
9849
9850 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9851 `next_single_char_property_change'). Do more error checking, and
9852 cleanup limit behavior.
9853 (Fprevious_single_char_property_change): New function.
9854 (syms_of_textprop): Initialize new subrs.
9855
9856 * xdisp.c (display_prop_end, invisible_text_between_p):
9857 Call Fnext_single_char_property_change instead of
9858 next_single_char_property_change.
9859
3fddcdc3
JR
98602000-07-15 Jason Rumney <jasonr@gnu.org>
9861
9862 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9863 after menu is finished with.
9864 (add_menu_item): Only consider wv->title as a menu title.
9865 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9866
9867 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9868 null title.
9869 (FONT_REGEXP): Remove unused macro, and its sub-components.
9870 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9871
9872 * w32term.c (help_echo_object, help_echo_pos): New variables.
9873 (note_mode_line_highlight): Store additional information about the
9874 help-echo in help_echo_object and help_echo_pos. Check both
9875 `local-map' and `keymap' properties for changing the cursor
9876 (note_mouse_highlight): Store additional information about the
9877 help-echo in help_echo_object and help_echo_pos.
9878 (note_tool_bar_highlight): Set help_echo_object to nil and
9879 help_echo_pos to -1.
9880 (w32_read_socket): Use gen_help_event instead of filling
9881 input_events manually.
9882 (syms_of_w32term): Staticpro help_echo_object.
9883 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9884 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9885 (x_clear_mouse_face): New function.
9886 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9887 (x_update_window_begin): No need to turn off the mouse
9888 highlight here.
9889 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9890 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9891 (x_fill_stretch_glyph_string): Consume runs of stretch
9892 glyphs instead of a single one.
9893 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9894 with new argument list.
9895 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9896 (x_append_glyph, x_append_composite_glyph)
9897 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9898 changes in struct glyph starting 1999-12-27. See comments for
9899 xterm.c on 2000-07-05.
9900
178c5d9c
SS
99012000-07-14 Sam Steingold <sds@gnu.org>
9902
9903 * xfaces.c (realize_x_face): Fix the last patch:
9904 check `default_face' before dereferencing.
9905
6fe533f6
DL
99062000-07-14 Dave Love <fx@gnu.org>
9907
069f5950 9908 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9909
dd7b81cf
KH
99102000-07-14 Kenichi Handa <handa@etl.go.jp>
9911
0693904a 9912 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9913 default_face's fontset, not using the default fontset.
0693904a 9914
dd7b81cf
KH
9915 * coding.c (inhibit_iso_escape_detection): New variable.
9916 (syms_of_coding): Make it a Lisp variable.
9917 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9918 nonzero, ignore ISO2022's escape sequence.
9919
d5aa31d8
GM
99202000-07-14 Gerd Moellmann <gerd@gnu.org>
9921
e5acf0ca
GM
9922 * alloca.c (malloc) [emacs]: Define as xmalloc.
9923
bd23a692
GM
9924 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9925 use that instead of the mouse position. Add parameters DX and DY.
9926
9927 * dispextern.h (Fx_show_tip): Adjust number of parameters
9928 in prototype.
9929
9662da0b
GM
9930 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9931 if HELP is a function, call it with OBJECT and POS as parameters
9932 to get the help to display.
9933 (gen_help_event, kbd_buffer_store_help_event): New functions.
9934 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9935 (read_char): Call show_help_echo with new parameters.
9936
178c5d9c 9937 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9938 Add prototypes.
9939
9940 * xterm.c (help_echo_object, help_echo_pos): New variables.
9941 (note_mode_line_highlight): Store additional information about the
9942 help-echo in help_echo_object and help_echo_pos. Check both
9943 `local-map' and `keymap' properties for changing the cursor
9944 (note_mouse_highlight): Store additional information about the
9945 help-echo in help_echo_object and help_echo_pos.
9946 (note_tool_bar_highlight): Set help_echo_object to nil and
9947 help_echo_pos to -1.
9948 (XTread_socket): Use gen_help_event instead of filling
9949 input_events manually.
9950 (syms_of_xterm): Staticpro help_echo_object.
9951
9952 * xmenu.c (menu_highlight_callback): Use
9953 kbd_buffer_store_help_event instead of setting up and input_event
9954 structure manually.
9955
9956 * xdisp.c (eval_form): GCPRO argument sexpr.
9957 (call_function): New function.
9958 (handle_single_display_prop): Use call_function and FUNCTIONP
9959 instead of checking whether if font_height is a symbol and
9960 using eval_form.
9961
9962 * eval.c (internal_condition_case_2): New function.
9963
9964 * lisp.h (FUNCTIONP): New macro.
9965 (internal_condition_case_2, call_function): Add prototypes.
9966
d5aa31d8
GM
9967 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9968 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9969 Always set `arg' member of input_events.
9970 (construct_menu_click): Unused function removed.
9971
9972 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9973
9974 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9975 (construct_drag_n_drop, x_scroll_bar_handle_click)
9976 (w32_read_socket): Always set `arg' member of input_events.
9977
9978 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9979
9980 * lisp.h (eval_form): Add prototype.
9981
9982 * xdisp.c (eval_form): Make it externally visible.
9983
0f1a9b23
GM
99842000-07-13 Gerd Moellmann <gerd@gnu.org>
9985
9986 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9987 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9988 consing. For prefix events, store the frame in the `arg' slot of
9989 the event, otherwise store the key there.
9990 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9991 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9992
9993 * xmenu.c (menu_highlight_callback): Store help string in the
9994 `arg' member of the input event; don't cons.
9995 (menubar_selection_callback): Use the `arg' slot of input events
9996 to queue additional information, instead of consing.
9997
9998 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9999
10000 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10001 TOOL_BAR_EVENTs.
10002 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10003
10004 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10005 input events to queue additional information, instead of consing.
10006
10007 * keyboard.c (kbd_buffer_gcpro): Renamed from
10008 kbd_buffer_frame_or_window. Now used for all Lisp objects
10009 referenced from the input queue.
10010 (kbd_buffer_store_event): Always use structure assignment for
10011 copying input events. Record all Lisp objects referenced from
10012 events in kbd_buffer_gcpro.
10013 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10014 differently from input events. Test for prefix menu_bar_events
10015 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10016 event in kbd_buffer_gcpro to nil.
10017 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10018 frame_or_window is equal to its arg member as prefix events.
10019 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10020 used by an input event to nil.
10021 (init_keyboard): Use two times the size of the input queue
10022 for kbd_buffer_gcpro.
10023 (syms_of_keyboard): Likewise.
10024
52283633
SM
10025 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10026 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10027
10028 * termhooks.h (struct input_event): Add member `arg'.
10029 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10030 (USER_SIGNAL_EVENT): Renamed from user_signal.
10031
10032 * xfaces.c (ASET): Remove definition.
10033
10034 * lisp.h (AREF, ASET, ASIZE): New macros.
10035
10036 * fontset.c (AREF, ASIZE): Remove definitions.
10037
10038 * fns.c (AREF): Remove definition.
178c5d9c 10039
0f1a9b23
GM
10040 * composite.c (AREF): Remove definition.
10041
712eaef2
GM
100422000-07-12 Gerd Moellmann <gerd@gnu.org>
10043
d8ee7803
GM
10044 * dispnew.c (redraw_overlapped_rows): Add missing local.
10045 (scrolling_window): Remove debug code.
10046
712eaef2
GM
10047 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10048 Before scrolling, turn off a mouse-highlight in the window
10049 being scrolled.
10050
10051 * xterm.c (x_update_window_end): Add parameter
10052 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10053 redisplay in XTframe_up_to_date.
10054 (x_clear_mouse_face): New function.
10055 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10056
10057 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10058 current glyph row.
10059 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10060 it when any row is written to that contains glyphs highlighted in
10061 mouse-face.
10062 (update_window): Call the window update end hook with new
10063 parameter MOUSE_FACE_OVERWRITTEN_P.
10064 (direct_output_for_insert): Give up if row contains mouse-face.
10065
10066 * dispextern.h (struct redisplay_interface): Add parameter
10067 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10068 (clear_mouse_face): New function pointer member.
10069
02010917
SM
100702000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10071
10072 * syntax.c (back_comment): Use one switch rather than a few `if's.
10073 Obey open_paren_in_column_0_is_defun_start.
10074 When reverting to the `slow' method, try to nicely handle the case
10075 of nested comments by checking that the comment-starter we found
10076 does indeed match the comment-ender.
10077 (scan_sexps_forward, scan_sexps_forward):
10078 Ignore excessive opening parenthesis rather than throwing an error.
10079
d76c03ea
GM
100802000-07-11 Gerd Moellmann <gerd@gnu.org>
10081
10082 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10083 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10084
10085 * dispnew.c (direct_output_forward_char): Give up if currently
10086 displaying a message instead of the minibuffer contents.
10087
10088 * xterm.c (x_update_window_begin): No need to turn off the mouse
10089 highlight here.
10090 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10091 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10092
10093 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10094 compare the mouse_face_p flags of both rows.
10095
10096 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10097
d55ead18
EZ
100982000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10099
10100 * keyboard.c (show_help_echo): Accept additional parameter
10101 ok_to_overwrite_keystroke_echo.
10102 (read_char): Call show_help_echo with a zero
10103 ok_to_overwrite_keystroke_echo argument.
52283633 10104 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10105 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10106 ok_to_overwrite_keystroke_echo argument.
10107 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10108 non-zero ok_to_overwrite_keystroke_echo argument.
10109
df75b1a3
GM
101102000-07-10 Gerd Moellmann <gerd@gnu.org>
10111
4b92c49a
GM
10112 * xdisp.c (try_window_id): If changes are all below what is
10113 displayed in the window, and point is in the window, we still
10114 might have to find point on the display.
10115
10116 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10117 glyphs instead of a single one.
10118 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10119 with new argument list.
10120 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10121
df75b1a3
GM
10122 * keymap.c (get_keymap_1): Add comment that this function can GC.
10123 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10124 comment that functions can GC.
10125 (Fset_keymap_parent): GCPRO arg KEYMAP.
10126
4314cf3e
EZ
101272000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10128
10129 * msdos.c (XMenuActivate): After exiting the menu, restore the
10130 echo area message and erase it.
10131
ab49ce15
KH
101322000-07-10 Kenichi Handa <handa@etl.go.jp>
10133
10134 * fontset.c (Ffontset_info): Make the return value more compatible
10135 with that of Emacs 20.
10136
090a072f
GM
101372000-07-07 Gerd Moellmann <gerd@gnu.org>
10138
10139 * eval.c (Fsignal): Handle case that backtrace_list is null.
10140
f92de4a6
KH
101412000-07-07 Kenichi Handa <handa@etl.go.jp>
10142
10143 * ccl.c (Fccl_execute): Typo fixed.
10144
dd8888a1
GM
101452000-07-06 Gerd Moellmann <gerd@gnu.org>
10146
e5c81191 10147 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10148
dd8888a1
GM
10149 * window.c (Fwindow_list): Reverse list at the end.
10150 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10151 means allow windows on OWINDOW's frame, only.
10152 (window_loop): Simplified; use Fwindow_list.
10153
10154 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10155
485266d0
GM
101562000-07-05 Gerd Moellmann <gerd@gnu.org>
10157
10158 * xterm.c (XTread_socket): Increment handling_signal at the start,
10159 decrement it at the end.
10160
10161 * eval.c (handling_signal): New variable.
10162 (Fsignal): Abort if handling_signal is non-zero.
10163
10164 * lisp.h (handling_signal): External declaration.
178c5d9c 10165
485266d0
GM
10166 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10167
80fcd514
KR
101682000-07-05 Ken Raeburn <raeburn@gnu.org>
10169
10170 Sound support for NetBSD through "Linux emulation" support:
10171 * config.in (HAVE_SOUNDCARD_H): Undef.
10172 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10173 * Makefile.in (LIBSOUND): New variable.
10174 (LIBES): Include it.
52283633
SM
10175 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10176 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10177 (vox_open): Use DEFAULT_SOUND_DEVICE.
10178 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10179
d5c5cddd
GM
101802000-07-05 Gerd Moellmann <gerd@gnu.org>
10181
10182 * print.c (print_error_message): If Vsignaling_function is set,
10183 show it in *Messages*.
10184
10185 * lisp.h (Vsignaling_function): External declaration.
10186
10187 * eval.c (Vsignaling_function): New variable.
10188 (Fsignal): Compute it.
10189 (syms_of_eval): Staticpro it.
10190
65171e3a
DL
101912000-07-05 Dave Love <fx@gnu.org>
10192
10193 * syswait.h: Use the autoconf recommended approach. Old code
10194 #if'd out in case we need to revert.
10195
178c5d9c 10196 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10197
e2c46326
AI
101982000-07-05 Andrew Innes <andrewi@gnu.org>
10199
10200 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10201 when non-NULL instead of __morecore, to take account of buffer
10202 memory. This also solves a problem with spurious memory warnings
10203 on Windows.
10204
10205 * ralloc.c: Make real_morecore non-static.
10206
10207 * eval.c (internal_condition_case): Comment out abort if
10208 interrupt_input_blocked is not zero.
10209
10210 * makefile.nt: Add support for `bootstrap' and related targets.
10211 Include minimal debug info in emacs.exe in release build.
10212 Remove all dependencies on lisp.h, and fixup some others.
10213
10214 * w32.c (init_environment): Install code from 20.7 for providing
10215 default values for environment variables, based on the
10216 executable's own location.
52283633 10217 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10218 (sys_socket): Install socket inheritance bug fix from 20.7.
10219
10220 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10221 here via blockinput.h).
10222
a027a91b
SM
102232000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10224
e4b31601
SM
10225 * w32menu.c (w32_menu_display_help):
10226 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10227
10228 * keyboard.h (show_help_echo): Declare.
10229
10230 * keyboard.c (show_help_echo): New function, extracted from read_char.
10231 Feval its `msg' argument if it's a cons cell.
10232 (read_char): Use it.
4cf8d9d5 10233 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10234
178c5d9c 10235 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10236 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10237 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10238 (dos_rawgetc):
10239 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10240 (note_tool_bar_highlight, w32_read_socket):
10241 Do not gratuitously ignore non-string `help-echo' properties.
10242
88d75730
GM
102432000-07-05 Gerd Moellmann <gerd@gnu.org>
10244
969f7e79
GM
10245 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10246
71201b00
GM
10247 * window.c (delete_all_subwindows): Reset Vwindow_list.
10248
88d75730
GM
10249 * xterm.c (x_append_glyph, x_append_composite_glyph)
10250 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10251 changes in struct glyph starting 1999-12-27. Some bit-fields of
10252 struct glyph were not set, which made glyphs unequal when compared
10253 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10254 effects were the result. This also depended on the contents of
10255 memory returned by xmalloc. If flickering happens again, activate
10256 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10257 gone with that, chances are that it is caused by something similar.
88d75730
GM
10258
10259 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10260
88d75730
GM
10261 * dispextern.h: Add some comments.
10262
10263 * window.c (add_window_to_list): Add parameter LIST.
10264 (window_list): Order list so that, for each frame, windows are
10265 in canonical order, and so that frames appear in the list in
10266 the order given by Vframe_list.
10267 (next_window): Reverse the handling of NEXT_P.
10268
53654733
GM
102692000-07-04 Gerd Moellmann <gerd@gnu.org>
10270
87efd256
GM
10271 * window.c (Vwindow_list): New variable.
10272 (make_window, delete_window): Set Vwindow_list to nil.
10273 (check_window_containing): New function.
10274 (window_from_coordinates): Rewritten.
10275 (add_window_to_list, window_list, candidate_window_p)
10276 (decode_next_window_args, next_window): New functions.
52283633 10277 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10278 (Fwindow_list): New function.
10279 (Fother_window): Cleaned up.
10280 (foreach_window): Add a longer "variable argument list". Let
10281 callback function return 0 to indicate that cycling over windows
10282 should stop.
10283 (foreach_window_1): Likewise.
10284 (freeze_window_start): Return int.
10285 (init_window): New function.
10286 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10287
10288 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10289 input_event with bzero.
10290 (main): Call init_window.
10291
53654733
GM
10292 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10293 a menu filter.
10294
4a8c194f
KH
102952000-07-04 Kenichi Handa <handa@etl.go.jp>
10296
10297 * composite.h (make_composition_value_copy): Extern it.
10298
10299 * composite.c (make_composition_value_copy): New function.
10300
10301 * editfns.c (Fformat): While copying text properties, make each
10302 composition property value a copy.
10303
10304 * fns.c (concat): While copying text properties, make each
10305 composition property value a copy.
10306
831a6cb0
GM
103072000-07-03 Gerd Moellmann <gerd@gnu.org>
10308
2f516940
GM
10309 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10310
178c5d9c 10311 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10312 marked already.
10313
831a6cb0
GM
10314 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10315 include those frames as candidates which have their focus
10316 redirected to the minibuffer frame.
10317
d9c4f922
SM
103182000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10319
10320 * fns.c (Fputhash): Return `value' rather than nil.
10321
3780bc22
GM
103222000-06-30 Gerd Moellmann <gerd@gnu.org>
10323
97d176db
GM
10324 * frame.c (next_frame): Don't check focus redirection in case
10325 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10326 unless their focus is redirected, which contradicts the
10327 specification of next-frame, and leads to infinite loops in
10328 certain situations when cycling through windows with next-window.
10329
dca9961d
KH
103302000-06-30 Kenichi Handa <handa@etl.go.jp>
10331
10332 * coding.c (code_convert_region): Even if the length of text is
10333 zero, try to convert it if coding->type is coding_type_ccl.
10334 (decode_coding_string, encode_coding_string): Likewise.
10335
d5483ab1
GM
103362000-06-28 Gerd Moellmann <gerd@gnu.org>
10337
af5c25e1 10338 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10339 the display if windows_or_buffers_changed.
af5c25e1
GM
10340
10341 * dispnew.c (struct row_entry): New structure.
10342 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10343 (row_table_size, old_lines, new_lines, old_lines_size)
10344 (new_lines_size, run_pool, runs_size, runs): New variables.
10345 (add_row_entry): New function.
10346 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10347 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10348 holding them in local variables. Use a larger hash table whose
10349 size depends on glyph matrix sizes. Don't use bzero to clear the
10350 hash table; instead, clear used slots only.
10351
10352 * fns.c (next_almost_prime): Make it externally visible.
10353
10354 * lisp.h (next_almost_prime): Add prototype.
10355
d5483ab1
GM
10356 * s/isc4-0.h (sigunblock): Define.
10357
10358 * s/sco5.h (sigunblock): Define.
10359
93e40f40
DL
103602000-06-27 Dave Love <fx@gnu.org>
10361
10362 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10363 (moved to osf5-0.h).
10364 [!NOT_C_CODE]: Protect string.h stuff.
10365
10366 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10367 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10368
3c4b7685
GM
103692000-06-27 Gerd Moellmann <gerd@gnu.org>
10370
97d176db 10371 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10372 below the last line from the needed window height.
10373
32cad0aa
SM
103742000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10375
10376 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10377 (Fwidget_get): Use it.
10378 (syms_of_fns): Defsubr it.
10379
2c69ced2
GM
103802000-06-26 Gerd Moellmann <gerd@gnu.org>
10381
178c5d9c 10382 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10383 display info for XIM.
10384 (xim_open_dpy): Likewise.
10385 (xim_close_dpy): Don't free the display info's XIM.
10386
10387 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10388
10389 * config.in (USE_XIM): New define.
10390
3fc720e4
GM
10391 * keymap.c (get_keyelt): For menu-items containing a `:filter
10392 FILTER', apply FILTER to the menu-item's definition to get the
10393 real definition to use.
10394
10395 * lisp.h (QCfilter): External declaration.
10396
2c69ced2
GM
10397 * xfns.c (Fimage_size): New function.
10398 (syms_of_xfns): Defsubr it.
10399
f978b2a2
AS
104002000-06-26 Andreas Schwab <schwab@suse.de>
10401
10402 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10403 Fstring_as_unibyte.
10404
94cc7892
DL
104052000-06-25 Dave Love <fx@gnu.org>
10406
52283633 10407 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10408
10409 * Makefile.in (blockinput.h): Depend on atimer.h.
10410 (atimer.h): Depend on systime.h.
10411
52283633 10412 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10413
52283633 10414 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10415
10416 * lisp.h (swap_in_global_binding): Declare.
10417
b8c24556
KR
104182000-06-24 Ken Raeburn <raeburn@gnu.org>
10419
10420 * process.c (Fopen_network_stream): Turn off atimers for duration
10421 of call to connect. (Patch from Gerd.)
10422
8cf8560b
DL
104232000-06-23 Dave Love <fx@gnu.org>
10424
511c7541
DL
10425 * ralloc.c: Maybe include unistd.h
10426
8cf8560b
DL
10427 * emacs.c (setgrp): Undefine before defining.
10428 (malloc_warning, set_time_zone_rule, index): Prototype.
10429
10430 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10431 HAVE_STRUCT_TIMEZONE.
10432
10433 * s/osf1.h: Move string.h hack here from alpha.h and make it
10434 conditional.
10435 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10436 _XOPEN_SOURCE.
10437 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10438 (SOCKLEN_TYPE): Don't define.
10439
10440 * m/alpha.h: Remove string.h hack.
10441
10442 * s/osf5-0.h: New file.
10443
10444 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10445 include time.h, done by systime.h.
10446 [__FreeBSD__]: Remove redundant includes.
10447
3fc720e4 10448 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10449 (delete_temp_file): Return Qnil to avoid warning.
10450
10451 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10452
10453 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10454 HAVE_X_WINDOWS.
10455
10456 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10457
10458 * composite.h (compose_text): Declare.
10459
10460 * xterm.c: Don't include sys/types.h unconditionally. Don't
10461 protect its inclusion with !USG (following xmenu.c).
10462
ea055732
GM
104632000-06-23 Gerd Moellmann <gerd@gnu.org>
10464
10465 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10466 in x_create_frame.
10467
74b01b80
EZ
104682000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10469
10470 * coding.c (decode_eol_post_ccl): Special handling for undecided
10471 and inconsistent EOL types.
10472
64f3a166
GM
104732000-06-22 Gerd Moellmann <gerd@gnu.org>
10474
16cf31f7
GM
10475 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10476 trough color and main window's background color.
10477
52283633 10478 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10479
10480 * xterm.h (Xt_app_con): External declaration.
10481
10482 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10483
486a103d
GM
10484 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10485
64f3a166
GM
10486 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10487 (handle_invisible_prop): Record the start of invisible text in
10488 it->add_overlay_start.
10489 (struct overlay_entry): Add member `overlay'.
10490 (handle_overlay_change): Simplify.
10491 (next_overlay_string): After having processed overlay strings at the
10492 end of the buffer, record that fact in
10493 it->overlay_strings_at_end_processed_p.
10494 (compare_overlay_entries): If before- and after-strings come
10495 from the same overlay, let before-strings come first.
10496 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10497 (load_overlay_strings): Take it->add_overlay_start into account
10498 when adding overlay strings.
10499
10500 * dispextern.h (struct it): Add member add_overlay_start.
10501
bb746ea6
DL
105022000-06-22 Dave Love <fx@gnu.org>
10503
10504 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10505
10506 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10507
a8f573f3
KH
105082000-06-22 Kenichi Handa <handa@etl.go.jp>
10509
10510 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10511 is greater than 0.
10512
9f2bbc92
DL
105132000-06-21 Dave Love <fx@gnu.org>
10514
178c5d9c 10515 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10516
3ee5041c
SM
105172000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10518
10519 * syntax.c (back_comment): Simplify string-parity counting (with
10520 the added benefit of handling multiple string-styles as long as
10521 they are not intertwined).
10522 Jump to the slow code as soon as a comment starter is found in
10523 a "string_lossage" position. Fixes the case: " /* " /* " */.
10524
4c343001
DL
105252000-06-21 Dave Love <fx@gnu.org>
10526
10527 * Makefile.in: Use GETLOADAVG_LIBS.
10528
10529 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10530 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10531
e6365855
SM
105322000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10533
10534 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10535 (Fforward_comment, scan_lists):
10536 Check the comstyle of single-char comment-starters.
10537 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10538 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10539 Check the comstyle of single-char comment-starters.
10540 Clarify control-flow around the Scomment case.
e6365855 10541
5700d2cc
DL
105422000-06-20 Dave Love <fx@gnu.org>
10543
d355bd8a
SM
10544 * fns.c (make_hash_table, maybe_resize_hash_table):
10545 Cast arg of next_almost_prime.
5700d2cc 10546
178c5d9c 10547 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10548
10549 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10550 and unistd.h.
10551
4a27bdfb
GM
105522000-06-20 Gerd Moellmann <gerd@gnu.org>
10553
a61d762c 10554 * keyboard.c (adjust_point_for_property): Check if display
52283633 10555 property should be treated as intangible by looking at its value.
a61d762c 10556
178c5d9c 10557 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10558 (display_prop_intangible_p): New functions.
10559
10560 * dispextern.h (display_prop_intangible_p): Add prototype.
10561
10562 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10563
4a27bdfb
GM
10564 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10565 argument to sigprocmask.
10566
10567 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10568 argument to sigprocmask.
10569
10570 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10571 sigprocmask_set, and pass a pointer to it to sigprocmask.
10572
10573 * sysdep.c (sigprocmask_set): New variable.
10574
10575 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10576 report_file_error.
10577
427ec082
SS
105782000-06-20 Sam Steingold <sds@gnu.org>
10579
10580 * xrdb.c: Don't declare xmalloc, xrealloc.
10581
8972fe79 105822000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10583
10584 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10585 (re_comp): Cast gettext return value to avoid complaints when
10586 !HAVE_LIBINTL.
10587
074b6efe
DL
105882000-06-20 Dave Love <fx@gnu.org>
10589
52283633 10590 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10591
5700d2cc 10592 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10593
d355bd8a 10594 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10595
10596 * m/alpha.h: Don't declare xmalloc, xrealloc.
10597
0af4f205
DL
10598 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10599
10600 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10601
10602 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10603
10604 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10605 HAVE_GETWD.
10606
074b6efe
DL
10607 * keyboard.h (poll_for_input_1): Declare.
10608
10609 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10610
10611 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10612
10613 * doprnt.c: Don't declare xmalloc, xrealloc.
10614
10615 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10616 (getenv, ctime, getwd): Removed.
10617 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10618
10619 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10620 x_set_tool_bar_lines.
10621
10622 * config.in: Add HAVE_GETWD. Move some definitions above
10623 machine/system includes.
10624
68a5e97b
KH
106252000-06-20 Kenichi Handa <handa@etl.go.jp>
10626
95417e1e
KH
10627 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10628
68a5e97b
KH
10629 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10630 contain information about ENCODING.
10631
10632 * fontset.c (FONTSET_ASCII): Use the first element of char table
10633 for an ASCII font, not defalt slot.
10634 (fontset_ref_via_base): If FONTSET doesn't contain information for
10635 C, try the default fontset.
10636 (make_fontset): Don't copy the default fontset.
10637 (fontset_font_pattern): Likewise.
10638 (accumulate_font_info): If ELT is nil, use the corresponding
10639 element in the default fontset.
10640
3b4fa1b2
DL
106412000-06-19 Dave Love <fx@gnu.org>
10642
943e731c
DL
10643 * syntax.c (Fparse_partial_sexp): Doc fix.
10644
10645 * regex.h: Test PROTOTYPES as well as __STDC__.
10646
3b4fa1b2
DL
10647 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10648 errno, strerror. Put text after #endif in comment.
10649
52283633 10650 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10651
10652 * xterm.c (x_frame_of_widget): Likewise.
10653
cdf0357b
GM
106542000-06-19 Gerd Moellmann <gerd@gnu.org>
10655
10656 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10657 to Vfundamental_mode_abbrev_table.
10658
10659 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10660 bogus objects are marked. This slows down GC by ~80 percent, but
10661 it might be worth trying when debugging GC-related problems.
10662 This feature requires conservative stack marking to be enabled.
10663
10664 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10665 returns XLookupChars, reset `modifiers' to zero.
10666
998e9f8c
DL
106672000-06-19 Dave Love <fx@gnu.org>
10668
10669 * mktime.c: Unprotoized.
10670
18e21ce8 106712000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10672
10673 * data.c (set_internal): If variable is frame-local,
10674 store the new value immediately into the frame parameter alist.
10675
140c4ac6
KR
106762000-06-19 Ken Raeburn <raeburn@gnu.org>
10677
14358466
KR
10678 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10679 in the custom handler pointer.
10680
140c4ac6
KR
10681 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10682 value, or checks for CHAR_META can fail when Lisp_Object is a
10683 union type.
10684 * keymap.c (get_keyelt): Likewise.
10685
10d7bf84
KH
106862000-06-19 Kenichi Handa <handa@etl.go.jp>
10687
10688 * ccl.h (struct ccl_program): New member eol_type.
10689 (struct ccl_spec): New member cr_carryover.
10690
10691 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10692 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10693
10694 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10695 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10696 (decode_eol_post_ccl): New function.
10697 (decode_coding): Don't detect EOL format here for CCL based coding
10698 systems.
10699 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10700 decode_eol_post_ccl after running the CCL program.
10701 (code_convert_region): Don't detect EOL format here for CCL based
10702 coding systems.
10703 (decode_coding_string): Likewise.
10704
52e386c2
KR
107052000-06-18 Ken Raeburn <raeburn@gnu.org>
10706
10707 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10708 when treating it as an integer.
10709
10710 * coding.h (encode_coding_string): Declare.
10711
10712 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10713 it as an integer.
10714
10715 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10716 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10717 to be passed to get_local_map.
10718
10719 * sound.c (Fplay_sound): Don't call make_number on
10720 Frun_hook_with_args count argument.
10721
10722 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10723 for lisp objects in X event structure data field, when lisp
10724 objects are represented with unions.
10725 (x_scroll_bar_to_input_event): Ditto.
10726
b357b9d4
KR
107272000-06-16 Ken Raeburn <raeburn@gnu.org>
10728
10729 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10730 termination of string. Fix sense of test whether
10731 Vline_number_display_limit is an integer.
b357b9d4 10732
a871441d
GM
107332000-06-16 Gerd Moellmann <gerd@gnu.org>
10734
a9021acd
GM
10735 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10736 only if HAVE_X_WINDOWS.
10737
6344985d
GM
10738 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10739 of titles.
10740
427ec082 10741 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10742 out of bounds.
10743
228b083e
EZ
107442000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10745
10746 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10747 of its headers.
10748
c25b53a2
KH
107492000-06-15 Kenichi Handa <handa@etl.go.jp>
10750
10751 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10752 start of the while loop.
10753
a6981b11
GM
107542000-06-15 Gerd Moellmann <gerd@gnu.org>
10755
e9924e52
GM
10756 * atimer.c (alarm_signal_handler): Add forward declaration.
10757
a6981b11
GM
10758 * data.c (set_internal): Remove debug code.
10759
25fa6deb
GM
107602000-06-14 Gerd Moellmann <gerd@gnu.org>
10761
dce6b995
GM
10762 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10763
9f817ea4
GM
10764 * unexec.c (toplevel) [COFF]: Include coff.h.
10765
10766 * s/lynxos.h: New file.
10767
10768 * keymap.c (Fsingle_key_description): Enclose function key and
10769 event symbol names in angle brackets.
10770
8a4e3c0c
GM
10771 * xdisp.c (setup_echo_area_for_printing): Call
10772 message_log_maybe_newline if message_buf_print is not set.
10773
10774 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10775 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10776 function does something useful even when message_buf_print is
10777 already set.
10778
52283633
SM
10779 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10780 New variables.
25fa6deb
GM
10781 (ensure_echo_area_buffers): Initialize echo buffer's
10782 truncate lines setting to nil.
10783 (with_echo_area_buffer): Don't set the echo buffer's truncate
10784 lines setting here.
8a4e3c0c 10785 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10786 of message_truncate_lines.
10787 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10788 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10789 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10790
10791 * keyboard.c (read_char): Bind message-truncate-lines to t
10792 while displaying a help-echo.
10793
10794 * lisp.h (Qmessage_truncate_lines): External declaration.
10795
163dcff3
GM
107962000-06-13 Gerd Moellmann <gerd@gnu.org>
10797
1681ead6
GM
10798 * xdisp.c (Vline_number_display_limit): Renamed from
10799 line_number_display_limit.
10800 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10801 Extend documentation string. Initialize
10802 Vline_number_display_limit to nil meaning no limit.
10803 (decode_mode_spec): Use Vline_number_display_limit with its new
10804 meaning.
10805
163dcff3
GM
10806 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10807
18e21ce8 108082000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10809
10810 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10811
163dcff3
GM
10812 * xfns.c (x_set_frame_parameters): Comment fix.
10813
10814 * frame.c (store_frame_param): Call swap_in_global_binding if the
10815 variable's current binding was chosen based on this frame.
10816
10817 * data.c (swap_in_global_binding): New function.
10818
a704139d
EZ
108192000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10820
10821 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10822 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10823
9b6610db
EZ
108242000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10825
10826 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10827
c68833d2
JR
108282000-06-12 Jason Rumney <jasonr@gnu.org>
10829
10830 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10831
10832 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10833
10834 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10835
10836 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10837
ed1056b3
GM
108382000-06-12 Gerd Moellmann <gerd@gnu.org>
10839
10840 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10841 (syms_of_xfaces): Defsubr Sdump_colors.
10842 (x_free_colors): Don't treat b&w specially on default visual.
10843 (x_free_dpy_colors): New function.
10844 (free_face_colors): Don't check visual class; it's done
10845 in x_free_colors.
10846
10847 * xterm.c (x_frame_of_widget): New function.
10848 (x_alloc_nearest_color_for_widget): Use it.
10849 (x_copy_dpy_color): New function.
10850 (x_destroy_window): Free various colors.
10851
5050a2ef
KH
108522000-06-12 Kenichi Handa <handa@etl.go.jp>
10853
10854 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10855
10856 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10857
10858 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10859
10860 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10861
10862 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10863
fb1b041d
DL
108642000-06-11 Dave Love <fx@gnu.org>
10865
10866 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10867
ff96b5f4
EZ
108682000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10869
10870 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10871
db8eeecd
GM
108722000-06-11 Gerd Moellmann <gerd@gnu.org>
10873
ed1056b3 10874 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10875 to `XEvent *'.
10876
49b71c5f
KH
108772000-06-10 Kenichi Handa <handa@etl.go.jp>
10878
c479bd55
KH
10879 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10880 (regex_compile): Fix the code for handling the case of single byte
10881 char and multibyte char being mixed in a range within [...].
10882
ff6a65c2
KH
10883 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10884 and dst_multibyte members of coding.
10885
49b71c5f
KH
10886 * charset.c (update_charset_table): Update the table
10887 bytes_by_char_head.
10888 (init_charset_once): Initialize elements of bytes_by_char_head to
10889 1 except for leading codes for private charases.
10890
10891 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10892 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10893
9e80b57d
KR
108942000-06-09 Ken Raeburn <raeburn@gnu.org>
10895
10896 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10897 access the data it doesn't point to.
10898
f83fe4b4
GM
108992000-06-08 Gerd Moellmann <gerd@gnu.org>
10900
10901 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10902 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10903 event queue. This is necessary because Emacs otherwise won't
10904 perform a switch-frame to a new frame until some other event, for
10905 example a keystroke event, forces it to do so. This has various
10906 effects, one visible being that the cursor of a frame created with
10907 C-x 5 2 or switched to with a window manager key binding like
10908 A-TAB stays hollow because selected_window isn't on the newly
10909 focused frame until the switch-frame is performed.
10910
10911 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10912 generating a switch-frame event if necessary.
10913
10914 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10915
10916 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10917 it's an integer.
10918
0890801b
KH
109192000-06-08 Kenichi Handa <handa@etl.go.jp>
10920
52283633 10921 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10922
173cbca8
GM
109232000-06-07 Gerd Moellmann <gerd@gnu.org>
10924
3091c2a6
GM
10925 * window.c (displayed_window_lines): Take empty lines at
10926 the bottom of a window into account.
427ec082 10927
f38952fe
GM
10928 * window.c (displayed_window_lines): New function.
10929 (Fmove_to_window_line): Use displayed_window_lines to determine
10930 the number of lines to move, instead of using the window's height.
10931
10932 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10933 to stop reading, even if the form read sets point to a different
10934 value when evaluated.
10935
427ec082 10936 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10937 put the cursor.
10938
6ba6c818
KH
109392000-06-07 Kenichi Handa <handa@etl.go.jp>
10940
10941 * fileio.c (e_write): Free composition data if stored in
10942 coding->cmp_data.
10943
5f1aea9a
GM
109442000-06-06 Gerd Moellmann <gerd@gnu.org>
10945
666852af
GM
10946 * xdisp.c (display_line): Set row's and iterator's
10947 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10948 Set cursor even if row ends in the middle of a character.
10949 (dump_glyph_row): Print values of new flags.
10950 (redisplay_window) <cursor movement in unchanged window>: When
10951 point has been moved forward, and PT is at the end of the cursor
10952 row, don't place the cursor in the next row if the cursor row ends
10953 in the middle of a character or at ZV.
10954
10955 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10956 (struct glyph_row): Add starts_in_middle_of_char_p and
10957 ends_in_middle_of_char_p.
10958 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10959 ends_in_middle_of_char_p flag.
10960 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10961
d13f3e2e
GM
10962 * term.c (append_glyph): Revert change of 2000-06-06.
10963
10964 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10965 padding glyph not fitting on line as whole character not
10966 fitting on line.
10967
5f1aea9a
GM
10968 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10969 this isn't true for images with `:ascent 100'.
10970
10cda9b0
KH
109712000-06-06 Kenichi Handa <handa@etl.go.jp>
10972
ed00559d
KH
10973 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10974 as modified if it is originally unmodified.
10975
10cda9b0
KH
10976 * term.c (encode_terminal_code): Change the way to check if
10977 terminal coding does any conversion.
10978 (append_glyph): Set glyph->pixel_width correctly.
10979
10980 * xdisp.c (display_line): While checking line continuation, pay
10981 attention to a padding glyph.
10982
1969fae2
GM
109832000-06-05 Gerd Moellmann <gerd@gnu.org>
10984
10985 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10986
162ccef4
DL
109872000-06-05 Dave Love <fx@gnu.org>
10988
f19f32dd
DL
10989 * xdisp.c: Include fontset.h.
10990
10991 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10992
10993 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10994
10995 * dispnew.c: Conditionally include term.h.
10996
10997 * coding.h: Declare code_convert_string_norecord.
10998
10999 * frame.h (struct frame): Use volatile unconditionally.
11000
11001 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11002
11003 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11004
11005 * systime.h: Protect against multiple inclusion.
11006 (timezone) [USG5_4]: Define as time_t.
11007
11008 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11009 (Foptimize_char_table, make_temp_name): Declare.
11010
11011 * Makefile.in (xdisp.o): Depend on fontset.h.
11012
11013 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11014
11015 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11016 (Foptimize_char_table, make_temp_name): Declare.
11017
427ec082 11018 * s/irix4-0.h:
162ccef4
DL
11019 * s/irix5-0.h:
11020 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11021
2082fe81
DL
110222000-06-02 Dave Love <fx@gnu.org>
11023
11024 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11025
dcf671d2
GM
110262000-06-02 Gerd Moellmann <gerd@gnu.org>
11027
11028 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11029 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11030 be freed.
11031
11032 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11033 glyph, use the ASCII NUL character to determine the face.
11034
d42122a3
DL
110352000-06-02 Dave Love <fx@gnu.org>
11036
11037 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11038 (VFORK_RETURN_TYPE): Remove.
427ec082 11039
d42122a3
DL
11040 * config.in: Add NO_MATHERR.
11041
dd432f16
DL
110422000-06-01 Dave Love <fx@gnu.org>
11043
90aa4ea8
DL
11044 * cmds.c (internal_self_insert): Don't check
11045 Vbefore_change_function, Vafter_change_function.
11046
11047 * insdel.c (signal_before_change, signal_after_change): Likewise.
11048
11049 * buffer.c (Vbefore_change_function, Vafter_change_function):
11050 Variables and their initializations deleted.
11051
2330c9d4
DL
11052 * callint.c (Fcall_interactively): Doc fix.
11053
dd432f16
DL
11054 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11055
bf9e8804
DL
110562000-05-31 Dave Love <fx@gnu.org>
11057
11058 * textprop.c: Revert last change -- duplicated.
11059
3694b4ab
GM
110602000-05-31 Gerd Moellmann <gerd@gnu.org>
11061
11062 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11063 in #if 0.
11064
11065 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11066
f14156cd
JR
110672000-05-31 Jason Rumney <jasonr@gnu.org>
11068
8119aab8
JR
11069 * search.c (Fre_search_forward, Fre_search_backward)
11070 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11071
f14156cd
JR
11072 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11073
4aab9be3
JR
110742000-05-30 Jason Rumney <jasonr@gnu.org>
11075
11076 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11077 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11078
52283633 11079 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11080
11081 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11082 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11083 expand a nil default_filename.
11084
11085 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11086 pointer to glyph_to_pixel_coords, not a frame.
11087
11088 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11089 coding.h to dependencies.
11090
11091 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11092
11093 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11094 window pointer to be consistent with w32term.c and xterm.c.
11095
11096 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11097 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11098 (Qline_spacing, Qcenter): New variables.
11099 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11100 (x_set_line_spacing): New function.
52283633 11101 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11102 (x_specified_cursor_type): New function.
11103 (x_set_cursor_type): Use it.
11104 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11105 and icon strings.
11106 (validate_x_resource_name, x_get_resource_string): Measure lengths
11107 of external strings in bytes.
11108 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11109 GetTextExtentPoint32 with NULL title.
11110 (Fx_create_frame): Initialize Qline_spacing.
11111 (w32_load_system_font): Initialize font->double_byte_p.
11112 (x_to_w32_charset): Use Vw32_charset_info_alist.
11113 (Image, busy cursor, tooltip functions): Merged changes from
11114 xfns.c. Not yet functional on Windows.
11115
11116 * w32gui.h (W32FontStruct): Add double_byte_p member.
11117
11118 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11119 (emacs_button_translation): Use it.
11120 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11121 in `mask' to be set.
11122
11123 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11124 menu strings.
11125
11126 * w32term.c: Format and doc changes to bring closer to xterm.c.
11127 (w32_char_font_type): New enum.
11128 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11129 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11130 (w32_encode_char): New function.
11131 (x_encode_char): Removed.
11132 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11133 x_encode_char and w32_font_is_double_byte.
11134 (x_produce_image_glyph): Use image_ascent.
11135 (x_produce_glyphs): Use new version of w32_per_char_metric and
11136 handle NULL return value. Allow extra line spacing.
11137 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11138 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11139 w32_font_type member of glyph instead.
11140 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11141 (fast_find_position): Make sure not to consider rows not visible
11142 in the window.
11143 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11144 w32_menu_display_help with input blocked, as it can abort.
11145 (x_display_and_set_cursor): Choose cursor depending
11146 on buffer-local value of cursor_type.
11147 (x_draw_bar_cursor): Add parameter WIDTH.
11148
11149 * w32term.h (CP_DEFAULT): Define.
11150 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11151
10fc3187
GM
111522000-05-30 Gerd Moellmann <gerd@gnu.org>
11153
11154 * search.c (Fre_search_forward, Fre_search_backward)
11155 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11156
d0555360
KH
111572000-05-30 Kenichi Handa <handa@etl.go.jp>
11158
11159 * coding.c (detect_coding_iso2022): Fix code for checking
11160 CODING_CATEGORY_MASK_ISO_8_2.
11161
f1ad044f
SM
111622000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11163
11164 * regex.c (PREFETCH_NOLIMIT): New function.
11165 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11166
84ec3b4b
GM
111672000-05-29 Gerd Moellmann <gerd@gnu.org>
11168
66254a13
GM
11169 * syntax.c (find_defun_start): Move test for
11170 open_paren_in_column_0_is_defun_start outside of the loop.
11171
49e70dec
GM
11172 * xdisp.c (redisplay_window): Really switch buffers when
11173 displaying mode lines, and temporarily set selected_frame to the
11174 frame of the window that's redisplayed.
11175
84ec3b4b
GM
11176 * xfaces.c (free_realized_faces): Block/unblock input.
11177 (free_realized_multibyte_face): Ditto.
11178
869a3a14
DL
111792000-05-29 Dave Love <fx@gnu.org>
11180
11181 * textprop.c (Qkeymap): New variable.
11182 (syms_of_textprop): Intern it.
11183
11184 * keymap.c: Include intervals.h.
11185 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11186
11187 * Makefile.in (keymap.o): Depend on intervals.h.
11188
11189 * keyboard.c (menu_bar_items, tool_bar_items)
11190 (Fexecute_extended_command): Deal with `keymap' property.
11191 (read_key_sequence): Track map from `keymap' property as well as
11192 `local_map'.
11193
11194 * intervals.c (get_local_map): Extra arg to allow looking for
11195 `keymap' too.
11196
11197 * intervals.h (map_property): New enum.
11198 (get_local_map): Extra arg using it.
11199 (Qkeymap): Declare.
11200
84ec3b4b 11201 * lisp.h (get_local_map): Don't declare here.
869a3a14 11202
89d0c844
KH
112032000-05-29 Kenichi Handa <handa@etl.go.jp>
11204
11205 * Makefile.in (callproc.o): Depend on composite.h.
11206
11207 * callproc.c: Include composite.h.
11208 (Fcall_process): Handle composition correctly.
11209
11210 * coding.h (coding_allocate_composition_data): Extern it.
11211 (coding_restore_composition): Likewise.
11212
11213 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11214 yet allocated, finish decoding with result
11215 CODING_FINISH_INSUFFICIENT_CMP.
11216 (coding_allocate_composition_data): Make it non-static.
11217 (coding_restore_composition): Likewise.
11218
797a084a
EZ
112192000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11220
11221 * charset.c (syms_of_charset): Revert last change.
11222
cf872af5
EZ
112232000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11224
11225 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11226 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11227 Handa.
cf872af5 11228
5b1ae051
EZ
112292000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11230
11231 * charset.c (syms_of_charset): Set width of character sets
11232 eight-bit-control and eight-bit-graphic to 1 column.
11233
34ec9ebe
GM
112342000-05-26 Gerd Moellmann <gerd@gnu.org>
11235
11236 * config.in (HAVE_SPEED_T): New define.
11237
11238 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11239 `extern speed_t'.
11240
dd854dc2
DL
112412000-05-26 Dave Love <fx@gnu.org>
11242
11243 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11244
11245 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11246 (Fsubr_arity): New function.
11247 (syms_of_data): Install them.
11248
ba9f8f95
KH
112492000-05-26 Kenichi Handa <handa@etl.go.jp>
11250
0f3e0672
KH
11251 * charset.c (init_charset_once): Set the table bytes_by_char_head
11252 correctly.
11253
cebefb44
KH
11254 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11255 the default fontset to what Emacs uses by default.
0f3e0672
KH
11256 (check_registry_encoding): This function deleted.
11257 (Fset_fontset_font): Remove the adhoc condition for the default
11258 fontset. Allow cons in FONTNAME.
cebefb44 11259
0f3e0672
KH
11260 * fns.c (map_char_table): Ignore char-table entries for
11261 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11262
7a18af49
KR
112632000-05-25 Ken Raeburn <raeburn@gnu.org>
11264
11265 * emacs.c (main): Initialize keyboard syms before initializing
11266 window code, so face names are available.
11267
d2af47df
SM
112682000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11269
11270 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11271 of an anchor at the beginning of a shy-group.
11272
fc6a6a4e
GM
112732000-05-25 Gerd Moellmann <gerd@gnu.org>
11274
11275 * xdisp.c (handle_invisible_prop): Don't try to skip over
11276 invisible text if end of text is already reached.
11277
005f0d35
DL
112782000-05-25 Dave Love <fx@gnu.org>
11279
02513cdd
DL
11280 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11281
005f0d35
DL
11282 * coding.c (encode_eol): Add null statement after label.
11283
89f6ca4e
EZ
112842000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11285
11286 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11287 2000-05-20.
11288
a4e1759e
KH
112892000-05-25 Kenichi Handa <handa@etl.go.jp>
11290
11291 * ccl.c (ccl_driver): Fix previous change.
11292
eacfd7fe
KH
112932000-05-25 Kenichi Handa <handa@etl.go.jp>
11294
46ab33a9
KH
11295 * coding.c (run_pre_post_conversion_on_str): Set point to the
11296 beginning of buffer before calling coding->post_read_conversion.
11297 (decode_coding_string): Give correct args to
11298 run_pre_post_conversion_on_str.
11299 (encode_coding_string): Likewise.
11300
eacfd7fe
KH
11301 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11302 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11303 eight-bit-graphic correctly.
11304
f8569325
DL
113052000-05-24 Kenichi HANDA <handa@etl.go.jp>
11306
11307 * fileio.c (Finsert_file_contents): Even if a file is not found,
11308 execute codes for setting up coding system. Call
11309 after-insert-file-functions unconditionally.
11310
04545643
GM
113112000-05-24 Gerd Moellmann <gerd@gnu.org>
11312
11313 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11314 BSD_PGRPS are not defined.
11315
747d90ea
KH
113162000-05-24 Kenichi Handa <handa@etl.go.jp>
11317
11318 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11319 DESCRIPTION.
11320 (syms_of_charset): Avoid building same strings.
11321
716e3b88
GM
113222000-05-23 Gerd Moellmann <gerd@gnu.org>
11323
11324 * lread.c (Fload): Add a comment about the meaning of
11325 Vuser_init_file being t.
11326
11327 * puresize.h (BASE_PURESIZE): Increase to 675000.
11328
11329 * s/gnu-linux.h (setpgrp): Don't define it here because this
11330 prevents compilation on GNU/Linux systems with glib 2.2.
11331
11332 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11333 as setpgid.
427ec082 11334
9aeb39fa
EZ
113352000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11336
11337 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11338 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11339 version.
11340 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11341
29ced61b
KH
113422000-05-23 Kenichi Handa <handa@etl.go.jp>
11343
52283633 11344 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11345
3d80f24d
KH
11346 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11347
52283633 11348 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11349
29ced61b
KH
11350 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11351
d7e00792
KH
113522000-05-22 Kenichi Handa <handa@etl.go.jp>
11353
c9d80d38
KH
11354 * keyboard.c (read_char): Allow character codes 128..255 to be
11355 handled by input-method-function.
11356
d7e00792
KH
11357 * insdel.c (adjust_markers_for_replace): Fix previous change.
11358 (adjust_after_replace): If PREV_TEXT is nil, call
11359 adjust_markers_for_insert, not adjust_markers_for_replace.
11360
087121cc 113612000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11362
087121cc
GM
11363 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11364 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11365 [HAVE_GRANDPT]: Define.
11366 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11367
11368 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11369 like SYSV_PTYS.
11370
11371 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11372
11373 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11374
c9671f81
KH
113752000-05-20 Kenichi Handa <handa@etl.go.jp>
11376
11377 The following changes are to handle 8-bit characters in a
11378 multibyte buffer/string without facing with byte combining
11379 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11380 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11381
11382 * Makefile.in (fns.o): Depend on charset.h.
11383
11384 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11385 convert it to unibyte.
11386 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11387
11388 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11389 apparent char boundary.
11390 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11391 0x80..0x9F to/from multibyte form.
11392
11393 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11394 to unibyte.
11395
11396 * callproc.c (Fcall_process): Always encode an argument string if
11397 it is multibyte. Setup src_multibyte and dst_multibyte members of
11398 process_coding properly.
ce75fd23 11399
c9671f81
KH
11400 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11401 SPLIT_NON_ASCII_CHAR.
11402
11403 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11404 as is.
11405 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11406
52283633 11407 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11408 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11409 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11410 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11411 and eight-bit-graphic.
11412 (char_to_string): Likewise. Signal an error for too large
11413 character code.
11414 (char_printable_p): Return 0 for 8-bit characters.
11415 (update_charset_table): Update iso_charset_table only when a final
11416 character is non-negative.
11417 (find_charset_in_text): Renamed from find_charset_in_str.
11418 Arguments and return value changed. Callers changed.
11419 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11420 be -1 if CHARSET is used only internally.
11421 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11422 eight-bit-graphic.
11423 (Fcharset_after): Simplified.
11424 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11425 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11426 (multibyte_chars_in_text): Simplified by assuming there's no
11427 invalid multibyte sequence.
52283633
SM
11428 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11429 (str_as_unibyte): New functions.
11430 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11431 (init_charset_once): Initialization for
11432 LEADING_CODE_8_BIT_CONTROL.
11433 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11434 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11435 eight-bit-control and eight-bit-graphic.
11436
52283633
SM
11437 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11438 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11439 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11440 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11441 (CHARSET_REVERSE_CHARSET): Likewise.
11442 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11443 eight-bit-graphic.
11444 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11445 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11446 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11447 encounter an invalid multibyte sequence.
11448 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11449 sequence is always valid.
11450 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11451 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11452 (CHAR_STRING): For 8-bit characters, call char_to_string.
11453 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11454 multibyte sequence is always valid.
11455 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11456 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11457 (str_as_unibyte): Extern them.
c9671f81 11458 (BCOPY_SHORT): Fix a bug.
52283633 11459 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11460 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11461 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11462 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11463
bd4bde7f 11464 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11465 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11466 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11467 (EMIT_BYTES): New macros.
11468 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11469 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11470 macros deleted.
11471 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11472 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11473 check the validity of multibyte sequence.
11474 (decode_coding_emacs_mule): New function.
11475 (encode_coding_emacs_mule): New macro.
11476 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11477 the source.
11478 (DECODE_ISO_CHARACTER): Just return a character code.
11479 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11480 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11481 EMIT_CHAR to produced decoded characters. Exit the loop only by
11482 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11483 block here.
11484 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11485 only position codes for an invalid character.
11486 (encode_designation_at_bol): Return new destination pointer. 5th
11487 arg DSTP is changed to DST.
11488 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11489 from the source by ONE_MORE_CHAR. Don't handle the case of last
11490 block here.
11491 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11492 macros deleted.
52283633
SM
11493 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11494 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11495 TWO_MORE_BYTES to fetch a byte from the source.
11496 (encode_eol): Pay attention to coding->src_multibyte.
11497 (detect_coding, detect_eol): Preserve members src_multibyte and
11498 dst_multibyte.
11499 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11500 (encoding_buffer_size): Set magnification to 3 for all coding
11501 systems that require encoding.
11502 (ccl_coding_driver): For decoding, be sure that the result is
11503 valid multibyte sequence.
11504 (decode_coding): Initialize coding->errors and coding->result.
11505 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11506 and raw-text, always call decode_eol. Handle the case of last
11507 block here. If not coding->dst_multibyte, convert the resulting
11508 sequence to unibyte.
11509 (encode_coding): Initialize coding->errors and coding->result.
11510 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11511 and raw-text, always call encode_eol. Handle the case of last
11512 block here.
11513 (shrink_decoding_region, shrink_encoding_region): Detect cases
11514 that we can't skip data more rigidly.
11515 (code_convert_region): Setup src_multibyte and dst_multibyte
11516 members of coding. For decoding, if the buffer is multibyte,
11517 convert the source sequence to unibyte in advance. For encoding,
11518 if the buffer is multibyte, convert the resulting sequence to
11519 multibyte afterward.
11520 (run_pre_post_conversion_on_str): New function.
11521 (code_convert_string): Deleted and divided into the following two.
11522 (decode_coding_string, encode_coding_string): New functions.
11523 (code_convert_string1, code_convert_string_norecord): Call one of
11524 above.
11525 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11526 MAKE_NON_ASCII_CHAR.
52283633
SM
11527 (Fset_terminal_coding_system_internal)
11528 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11529 and dst_multibyte members.
11530 (init_coding_once): Initialize iso_code_class with new enum
11531 ISO_control_0 and ISO_control_1.
11532
11533 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11534 devided into ISO_control_0 and ISO_control_1.
11535 (struct coding_system): New members src_multibyte, dst_multibyte,
11536 errors, and result. Delete member fake_multibyte.
11537 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11538 nonzero.
11539 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11540 nonzero.
11541
11542 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11543 (Faset): Likewise.
11544
11545 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11546 multibyte form.
11547 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11548 combining occurs.
11549 (Ftranspose_region): Delete codes for handling byte combining.
11550
11551 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11552 dst_multibyte members of coding. On handling REPLACE on unibyte
11553 buffer, convert the result of decode_coding to unibyte. On
11554 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11555 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11556 multibyteness of the source (buffer or string).
11557
11558 * fns.c (concat): Handle 8-bit characters correctly.
11559 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11560 unibyte in the result.
11561 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11562 valid multibyte form in the result.
11563 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11564 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11565 return -1, signal an error.
11566 (base64_encode_1): New arg MULTIBYTE. Get each character by
11567 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11568 character is found, return -1.
11569 (Fbase64_decode_region): Delete codes for handling byte-combining.
11570 Treat each decoded byte as a unibyte character.
11571 (Fbase64_decode_string): Return unibyte string.
11572 (Fcompare_strings, concat, string_byte_to_char): Use
11573 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11574 FETCH_STRING_CHAR_ADVANCE.
11575 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11576 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11577
11578 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11579 SPLIT_NON_ASCII_CHAR.
11580 (fontset_ref_via_base, fontset_set): Likewise
11581
11582 * insdel.c (adjust_markers_for_record_delete): Deleted.
11583 (adjust_markers_for_insert): Argument changed. Caller changed.
11584 (adjust_markers_for_replace): Likewise.
52283633
SM
11585 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11586 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11587 (copy_text): Delete unused local varialbe c_save. For converting
11588 to multibyte, be sure to make all 8-bit characters in valid
11589 multibyte form.
11590 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11591 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11592 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11593 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11594 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11595 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11596 handling byte combining.
11597 (adjust_before_replace): Deleted.
427ec082 11598
c9671f81
KH
11599 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11600 SPLIT_NON_ASCII_CHAR.
11601 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11602 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11603 (Fkey_description): Likewise.
11604
11605 * lread.c (read1): On reading multibyte string, be sure to make
11606 all 8-bit chararacters in valid multibyte form.
11607 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11608
11609 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11610 unconditionally.
11611
11612 * process.c (Fstart_process): GCPRO current_dir before calling
11613 Ffind_operation_coding_system. Encode arguments here.
11614 (create_process): Don't encode arguments here. Setup
11615 src_multibyte and dst_multibyte members of struct coding.
11616 (read_process_output): Setup src_multibyte and dst_multibyte
11617 members of struct coding. If the output is to multibyte buffer,
11618 always decode the output of the process. Adjust the
52283633 11619 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11620 (send_process): Setup coding->src_multibyte according to the
11621 multibyteness of the source.
11622
52283633 11623 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11624 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11625 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11626
52283633 11627 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11628
11629 * w16select.c (Fw16_set_clipboard_data): Setup members
11630 src_multibyte and dst_multibyte of coding. Adjusted for the
11631 change for find_charset_in_str.
11632 (Fw16_get_clipboard_data): Likewise.
11633
11634 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11635 dst_multibyte of coding.
11636 (x_to_w32_font): Likewise.
11637
11638 * w32select.c (Fw32_set_clipboard_data): Setup members
11639 src_multibyte and dst_multibyte of coding. Adjusted for the
11640 change for find_charset_in_str.
11641 (Fw32_get_clipboard_data): Likewise.
11642
11643 * xdisp.c (get_next_display_element): Handle 8-bit characters
11644 correctly.
52283633
SM
11645 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11646 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11647
11648 * xselect.c (selection_data_to_lisp_data): Setup members
11649 src_multibyte and dst_multibyte of coding. Adjusted for the
11650 change for find_charset_in_str.
11651 (lisp_data_to_selection_data): Likewise.
11652
5f64c9e0
GM
116532000-05-19 Gerd Moellmann <gerd@gnu.org>
11654
52283633 11655 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11656
5f64c9e0
GM
11657 * dispextern.h (Vimage_types): Add extern declaration.
11658
11659 * xdisp.c (Vimage_types): Moved here from xfns.c.
11660 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11661
11662 * xfns.c (Vimages_types): Moved to xdisp.c.
11663 (syms_of_xfns): Move `image-types' to xdisp.c.
11664
11665 * w32fns.c (Vimage_types): Removed.
11666 (syms_of_w32fns): Remove `image-types'.
11667
813086ea
KH
116682000-05-18 Kenichi Handa <handa@etl.go.jp>
11669
11670 * fns.c (map_char_table): Pay attention to character number of
11671 charset. Check the validity of charset at the first level. For
11672 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11673 the default value.
11674
11675 * fontset.c: Include "buffer.h".
11676 (fs_load_font): If the face has fontset, record the face ID in
11677 that fontset.
11678 (Finternal_char_font): New function.
11679 (accumulate_font_info): New function.
11680 (Ffontset_info): Rewritten for the new fontset implementation.
11681 (syms_of_fontset): Register Vdefault_fontset in the first element
11682 of Vfontset_table. Include Vdefault_fontset in
11683 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11684 function.
11685
bdaebbf0
DL
116862000-05-16 Dave Love <fx@gnu.org>
11687
11688 * m/iris5d.h: Deleted -- unused.
11689
cb613bb8
GM
116902000-05-16 Gerd Moellmann <gerd@gnu.org>
11691
b15f3b77
GM
11692 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11693 `invalid' instead of `illegal'.
11694
11695 * indent.c (Fmove_to_column): When ending within a tab, insert
11696 spaces first so that markers at the end of the tab get adjusted.
11697
835c1b36
GM
11698 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11699 buffer list that wasn't selected in that frame.
11700
cb613bb8
GM
11701 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11702 is needed on mescaline, use a 2 char prefix, and call
11703 make_temp_name with second arg non-zero.
11704
11705 * fileio.c (make_temp_name): New function, extracted from
11706 Fmake_temp_name.
11707 (Fmake_temp_name): Use it.
11708
f685bea9
EZ
117092000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11710
52283633 11711 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11712
a1b8d58b
GM
117132000-05-15 Gerd Moellmann <gerd@gnu.org>
11714
11715 * Makefile.in (lisp): Add env.elc.
11716
11717 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11718
a265079f
GM
117192000-05-12 Gerd Moellmann <gerd@gnu.org>
11720
11721 * search.c (Freplace_match): Handle case of `\N' in the
11722 replacement when there's no group N.
11723
da4496b6
GM
117242000-05-11 Gerd Moellmann <gerd@gnu.org>
11725
0ace421a
GM
11726 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11727 of the message to message_dolog.
11728
1172eb8d
GM
11729 * keyboard.c (read_char): Don't clear current message for help
11730 events; let the code handling help events handle this. Change
11731 code detecting help events that should be ignored.
11732
da4496b6
GM
11733 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11734 we're interating over a string.
11735
0623e40f
DL
117362000-05-09 Dave Love <fx@gnu.org>
11737
11738 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11739 that offset before writing. Move gcpro region past call of
11740 Ffile_regular_p.
11741
bae2503b
DL
117422000-05-04 Dave Love <fx@gnu.org>
11743
11744 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11745
ec82fb2f
GM
117462000-05-04 Gerd Moellmann <gerd@gnu.org>
11747
11748 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11749 of inserted characters when BUF equals the current buffer, and PT
11750 is in front of or equal to FROM.
11751
cbf18892
GM
117522000-05-03 Gerd Moellmann <gerd@gnu.org>
11753
4ff40dd0
GM
11754 * xdisp.c (handle_single_display_prop): If display property value
11755 is invalid, or something not supported on the frame, restore
11756 iterator's position to what it was initially. Make sure to return
11757 0 for invalid and unsupported property values.
11758
cbf18892
GM
11759 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11760 that x_per_char_metric returns null.
11761
1b0672c3
GM
117622000-05-02 Gerd Moellmann <gerd@gnu.org>
11763
576da55d
GM
11764 * xterm.h (struct face): Add forward declaration.
11765 (struct image): Ditto.
11766 (image_ascent): Add prototype.
11767
11768 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11769 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11770 image_ascent instead of using IMAGE_ASCENT.
11771
11772 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11773 (IMAGE_ASCENT): Removed.
11774
11775 * xfns.c (Qcenter): New variable.
11776 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11777 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11778 (image_ascent): New function.
11779 (lookup_image): Recognize `:ascent center'.
11780 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11781 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11782 (xbm_load): Don't set image's ascent here.
11783 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11784 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11785 check ascent values here.
11786 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11787 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11788 (syms_of_xfns): Initialize Qcenter.
11789
1b0672c3
GM
11790 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11791 to the limits, increase the limits.
11792
0d7811ed
KH
117932000-05-01 Kenichi Handa <handa@etl.go.jp>
11794
11795 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11796 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11797
a943a5ca
GM
117982000-04-28 Gerd Moellmann <gerd@gnu.org>
11799
11800 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11801 taller than the window.
11802
5dba1e29
KH
118032000-04-28 Kenichi Handa <handa@etl.go.jp>
11804
11805 * xfaces.c (realize_x_face): Fix the argument of the second
11806 xassert. BASE_FACE may not be a face for ASCII.
11807
353964e3
GM
118082000-04-27 Gerd Moellmann <gerd@gnu.org>
11809
c76e04a8
GM
11810 * print.c (print_object): Treat print-length < 0 as nil.
11811
11812 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11813
11814 * s/freebsd.h (TERMCAP_OBJ): Removed.
11815 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11816
11817 * lread.c (read1): Don't treat period followed by certain
11818 characters as symbol start.
11819
11820 * xfns.c (slurp_file): New function.
11821 (xbm_image_p): Handle case of in-memory XBM files.
11822 (xbm_scan): Rewritten to work on memory buffers instead of files.
11823 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11824 Work on memory buffers instead of files. If DATA is null test
11825 if buffer looks like an in-memory XBM file.
11826 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11827 memory buffers instead of files.
11828 (xbm_file_p): New function.
11829 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11830
353964e3
GM
11831 * lread.c (end_of_file_error): New function.
11832 (read1): Call it instead of signaling `end-of-file' directly.
11833
427ec082 11834 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11835 with Fprinc instead of Fprin1.
11836
24d744ac
KR
118372000-04-26 Ken Raeburn <raeburn@gnu.org>
11838
11839 * window.c (freeze_window_start): Check that minibuffer scroll
11840 window isn't nil before extracting the window structure pointer
11841 from it.
11842
11843 * undo.c (record_delete): If we hit the end of the undo list, stop
11844 picking elements apart.
11845
7464346d
GM
118462000-04-26 Gerd Moellmann <gerd@gnu.org>
11847
11848 * xdisp.c (display_line): If lines are continued, restore
11849 iterator's ascent/descent information to the values before the
11850 first glyph not fitting on the line.
11851
612839b6
GM
118522000-04-25 Gerd Moellmann <gerd@gnu.org>
11853
11854 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11855 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11856
11857 * dispnew.c (increment_matrix_positions): Renamed from
11858 increment_glyph_matrix_buffer_positions.
11859 (increment_row_positions): Renamed from
11860 increment_glyph_row_buffer_positions.
11861
11862 * dispextern.h: Change names of renamed functions from dispnew.c
11863 in prototypes.
11864
cc181e95
GM
118652000-04-24 Gerd Moellmann <gerd@gnu.org>
11866
abfcc168
GM
11867 * fileio.c (Fdo_auto_save): Create directories for auto-save
11868 list file if necessary.
11869
cc181e95
GM
11870 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11871 from buffer or frame.
11872 (automatic_hscrolling_p): New variable.
11873 (hscroll_windows): Scroll windows horizontally only if automatic
11874 hscrolling is allowed.
11875 (syms_of_xdisp): New variable `automatic-hscrolling'.
11876
11877 * frame.h (struct frame): Add member extra_line_spacing.
11878
11879 * xfns.c (x_set_line_spacing): New function.
11880 (Fx_create_frame): Set line spacing from resources.
11881 (Qline_spacing): New variable.
11882 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11883
cc181e95
GM
11884 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11885
11886 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11887 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11888 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11889 extra_line_spacing from default value.
11890 (init_buffer_once): Initialize default value of extra_line_spacing.
11891
11892 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11893 and extra3.
11894
11895 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11896 prompt_width. Add extra line spacing.
11897
11898 * term.c (produce_glyphs): Remove reference to struct it's
11899 prompt_width.
11900
11901 * dispextern.h (struct it): Remove member prompt_width, add
11902 extra_line_spacing.
11903
58827478
GM
119042000-04-22 Gerd Moellmann <gerd@gnu.org>
11905
11906 * dispnew.c (update_frame_line): When writing a whole line, make
11907 sure cursor is in the right row afterwards, otherwise a use of
11908 capability `ch' in cmgoto might leave the cursor in the row below.
11909
25a87f42
GM
119102000-04-21 Gerd Moellmann <gerd@gnu.org>
11911
11912 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11913
11914 * keyboard.c (timer_check): Fix typo in comment.
11915
54edf5c2
KH
119162000-04-21 Kenichi Handa <handa@etl.go.jp>
11917
11918 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11919 name change: ch -> character.
11920
3a64eef5
GM
119212000-04-20 Gerd Moellmann <gerd@gnu.org>
11922
11923 * keyboard.c (echo_message_buffer): New variable.
11924 (echo_now): Set echo_message_buffer to the echo area buffer used
11925 to display the echo.
11926 (cancel_echoing): Reset echo_message_buffer to nil.
11927 (read_char): Code rewritten that handles canceling an echo or
11928 echoing a dash, respectively.
11929
11930 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11931 directory doesn't exist.
11932
6142fdcb
DL
119332000-04-19 Dave Love <fx@gnu.org>
11934
11935 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11936 (concat): Don't allow numeric args.
11937 (Fconcat): Doc change.
6142fdcb 11938
ac6b5352
SM
119392000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11940
11941 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11942 instead define end_match(1|2) more carefully.
11943 Use GET_CHAR_BEFORE_2 for `begline'.
11944
cb9215e4
GM
119452000-04-19 Gerd Moellmann <gerd@gnu.org>
11946
5e3dac3f
GM
11947 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11948 on 64-bit systems where NULL is defined as `0'.
11949
11950 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11951 the `variable argument list' to make it work on Alpha.
11952
cb9215e4
GM
11953 * m/alpha.h (_LP64) [!_LP64]: Define.
11954 (ORDINARY_LINK): Define for NetBSD.
11955
11956 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11957
f532dca0
DL
119582000-04-19 Dave Love <fx@gnu.org>
11959
c750667e
DL
11960 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11961 change.
11962
11963 * Makefile.in (LIBS): Don't use.
11964 (GETLOADAVG_OBJ): Define again.
11965 (otherobj): Add GETLOADAVG_OBJ.
11966
f532dca0
DL
11967 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11968
1c7e22fd
GM
119692000-04-18 Gerd Moellmann <gerd@gnu.org>
11970
f6d3257b
GM
11971 * lread.c (read_filtered_event): Cancel and start busy cursor.
11972
427ec082 11973 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11974 that the per-character metrics may be null.
11975
e10f64e7
GM
119762000-04-17 Gerd Moellmann <gerd@gnu.org>
11977
0daee095
GM
11978 * buffer.c (clone_per_buffer_values): New function.
11979 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11980 clone_per_buffer_values if CLONE is not nil.
11981
e10f64e7
GM
11982 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11983
38687d43
DL
119842000-04-16 Dave Love <fx@gnu.org>
11985
11986 * Makefile.in: Remove obsolete localcpp stuff.
11987 (GETLOADAVG_OBJ): Don't define.
11988 (obj): Move LIBOBJS...
11989 (otherobj): ... to here.
11990 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11991 whitespace-only lines after the continuation (Irix).
11992
c21c7262
GM
119932000-04-14 Gerd Moellmann <gerd@gnu.org>
11994
11995 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11996
11997 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11998
314767c0
DL
119992000-04-14 Dave Love <fx@gnu.org>
12000
12001 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12002 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12003 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12004 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12005 NLIST_STRUCT.
12006
12007 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12008 autoconfiscated HAVE_GETLOADAVG.
12009
12010 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12011 BROKEN_MKTIME.
12012
a2522dca
GM
120132000-04-14 Gerd Moellmann <gerd@gnu.org>
12014
12015 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12016 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12017
33744b5d
DL
120182000-04-14 Dave Love <fx@gnu.org>
12019
c21c7262 12020 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12021 (INTERVAL_SRC): Convert to make variable.
12022 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12023 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12024 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12025 add LIBOBJS.
12026 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12027 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12028 (shortlisp): Add facemenu, float-sup, frame.
12029 (SOME_MACHINE_LISP): Remove them from here.
12030 (LIBES): Change unused LDLIBS to autoconf LIBS.
12031
12032 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12033
9d3d5916
KH
120342000-04-14 Kenichi Handa <handa@etl.go.jp>
12035
12036 * composite.c (update_compositions): If FROM and TO are not in a
12037 valid range, do nothing.
12038
198e3c7a
GM
120392000-04-13 Gerd Moellmann <gerd@gnu.org>
12040
52283633 12041 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12042
52283633 12043 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12044
12045 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12046 as TERMCAP_OBJ.
12047
055a28c9
EZ
120482000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12049
12050 * fileio.c (a_write): Remove redundant semi-colons.
12051 (e_write): Return -1 if failed to write all the data.
12052 This fixes the changes made at 1999-12-15.
12053
f5c75033
DL
120542000-04-12 Dave Love <fx@gnu.org>
12055
12056 * fns.c (mapcar1): Test for null vals to support mapc.
12057 (Fmapc): New function.
12058
0c3cfc51
EZ
120592000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12060
12061 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12062 (IT_frame_up_to_date): Support the buffer local value of
12063 cursor-type, if defined.
12064
33465a31
DL
120652000-04-10 Dave Love <fx@gnu.org>
12066
12067 * editfns.c (preceding-char, following-char): Doc fix.
12068
6ed56568
KR
120692000-04-10 Ken Raeburn <raeburn@gnu.org>
12070
12071 * Makefile.in (temacs): Revert 2000-03-12 change.
12072
7cf80d4e
JR
120732000-04-10 Jason Rumney <jasonr@gnu.org>
12074
12075 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12076
34f3f342
GM
120772000-04-10 Gerd Moellmann <gerd@gnu.org>
12078
1a1b1895
GM
12079 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12080 area buffer, if it's not set up yet.
12081
34f3f342
GM
12082 * indent.c (compute_motion): Set immediate_quit.
12083
be0dbdab
GM
120842000-04-09 Gerd Moellmann <gerd@gnu.org>
12085
52283633 12086 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12087 (realize_tty_face): Suppress boldness if colors are the inverse of
12088 the default colors, and tty_suppress_bold_inverse_default_colors_p
12089 is set.
12090 (Ftty_suppress_bold_inverse_default_colors): New function.
12091 (syms_of_xfaces): Defsubr it.
12092
be0dbdab
GM
12093 * buffer.c (Frestore_buffer_modified_p): New function.
12094 (syms_of_buffer): Defsubr it.
12095
e8413c3b
KR
120962000-04-08 Ken Raeburn <raeburn@gnu.org>
12097
87f67317
KR
12098 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12099 charset id (int) argument, not a charset (Lisp_Object).
12100
e8413c3b
KR
12101 * coding.h (code_convert_string): Declare.
12102 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12103 object, as the fourth argument to code_convert_string.
12104
52283633 12105 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12106 (Fset_fontset_font): Use EQ to compare lisp objects.
12107
7c752c80
KR
121082000-04-05 Ken Raeburn <raeburn@gnu.org>
12109
c0333abc
KR
12110 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12111 a pointer that looks like a lisp object.
12112 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12113 zero, instead see whether it's an integer object, since they can't
12114 have intervals.
12115 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12116
52283633
SM
12117 * dispnew.c (allocate_matrices_for_frame_redisplay)
12118 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12119 to convert between (unsigned) int values and lisp integers.
12120 * keyboard.c (read_key_sequence): Likewise.
12121 * lread.c (substitute_object_recurse): Likewise.
12122 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12123 * minibuf.c (do_completion, Fminibuffer_complete_word)
12124 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12125 * term.c (produce_special_glyphs): Likewise.
12126
12127 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12128 * print.c (print_preprocess, print_object): Likewise.
12129
12130 * search.c (compile_pattern): Use NILP when checking for nil.
12131
74e49b38
KR
12132 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12133 __OPTIMIZE__]: Provide a GNU C macro version that handles
12134 lisp-object unions.
12135 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12136 field, to better cope with ENABLE_CHECKING and calls that modify a
12137 Lisp_Object using its old value.
12138
685e5ed2
GM
121392000-04-04 Gerd Moellmann <gerd@gnu.org>
12140
c407c570
GM
12141 * window.c (compare_window_configurations): Signal an error
12142 if parameters C1 or C2 aren't window configurations.
12143
685e5ed2
GM
12144 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12145 AFTER_POTENTIAL_GC calls around calls to functions that can
12146 signal an error and thus invoke the debugger.
12147
587a49ab
GM
121482000-04-03 Gerd Moellmann <gerd@gnu.org>
12149
62f20204
GM
12150 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12151 an error if decoding fails.
12152
587a49ab
GM
12153 * keyboard.c (lispy_mouse_names): Variable removed.
12154 (Vlispy_mouse_stem): New variable.
12155 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12156 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12157 for any mouse button number. Increase size of mouse_syms and
12158 button_down_location as needed. Call modify_event_symbol with
12159 different arguments.
12160 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12161 Call modify_event_symbol with different arguments.
12162 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12163 for any button number. Call modify_event_symbol with different
12164 arguments.
12165 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12166 Accept a string for NAME_ALIST_OR_STEM.
12167
12168 * lisp.h (larger_vector): Add prototype.
12169
12170 * fns.c (larger_vector): Make externally visible.
12171
12172 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12173
2d1675e4
SM
121742000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12175
12176 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12177 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12178 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12179 we are between str1 and str2.
12180 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12181 (PATFETCH): Use `TRANSLATE'.
12182 (PATFETCH_RAW): Fetch multibyte char if applicable.
12183 (PATUNFETCH): Remove.
12184 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12185 When writing a char, write it directly into the pattern buffer rather
12186 than going needlessly through a temp char-array.
12187 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12188 multibyte magic and remove the useless `#ifdef emacs'.
12189 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12190 buffer.
12191
12192 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12193 conditional on `emacs'.
12194
12195 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12196
cc2d8c6b
KR
121972000-04-01 Ken Raeburn <raeburn@gnu.org>
12198
12199 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12200 non-union-type versions of XMARK and friends here, because XMARK
12201 and friends won't work on an integer field if NO_UNION_TYPE is not
12202 defined.
52283633 12203 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12204
52283633 12205 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12206 (syms_of_composite): Delete local var NARGS, pass an int as first
12207 argument to Fmake_hash_table.
12208
2387b382
KR
12209 * editfns.c (text_property_stickiness): Use NILP to test
12210 Lisp_Object boolean value.
12211 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12212 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12213 problems reading from and changing the same lisp value in an
12214 XSETSTRING call.
12215
27660e89
GM
122162000-04-01 Gerd Moellmann <gerd@gnu.org>
12217
12218 * term.c (TN_no_color_video): New variable.
12219 (term_init): Intitialize TN_no_color_video.
12220 (enum no_color_bit): New enumeration.
12221 (MAY_USE_WITH_COLORS_P): New macro.
12222 (turn_on_face): Use it to determine if attributes may be used
12223 combined with colors.
12224
3578db3c
KR
122252000-04-01 Ken Raeburn <raeburn@gnu.org>
12226
12227 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12228 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12229 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12230 proper accessor macros.
12231 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12232 (grow_mini_window): Fix typo getting int value of root->height.
12233
6fc556fd
KR
12234 * xdisp.c (compute_string_pos): Fix order of arguments to
12235 string_pos_nchars_ahead.
12236 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12237 count arg to variable-arg routines like Frun_hook_with_args and
12238 Fformat.
587a49ab
GM
12239 (back_to_previous_visible_line_start)
12240 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12241 fixed-arg routines like Fget_char_property and Fmake_string.
12242 (reconsider_clip_changes): Use XINT when comparing integer lisp
12243 objects, or passing them as int arguments.
587a49ab
GM
12244 (mark_window_display_accurate, insert_left_trunc_glyphs)
12245 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12246 storing or passing integer values as lisp objects.
12247 (set_cursor_from_row, highlight_trailing_whitespace): Use
12248 INTEGERP, not implicit test against zero, for glyph object.
12249 (try_window_id): Don't use make_number when we want an int value.
12250
12251 * xfaces.c (xlfd_symbolic_value): Make last argument a
12252 Lisp_Object, to be consistent with callers.
12253 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12254 (lface_hash): Apply XFASTINT to lisp values before folding in.
12255
12256 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12257 fill in window width and height. Pass an int, not a lisp object,
12258 as first arg to Finsert.
12259
6e7b2457
GM
122602000-04-01 Gerd Moellmann <gerd@gnu.org>
12261
610d841e
GM
12262 * xfaces.c (realize_basic_faces): Block input while realizing
12263 the faces.
12264
6e7b2457
GM
12265 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12266
12267 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12268
aa110c0c
GM
122692000-03-31 Gerd Moellmann <gerd@gnu.org>
12270
12271 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12272 or ASCII, handle case that per-char metric is null.
aa110c0c 12273
8801a864
KR
122742000-03-30 Ken Raeburn <raeburn@gnu.org>
12275
c6129d7e
KR
12276 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12277
52283633
SM
12278 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12279 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12280 pointer, using eassert.
12281 * frame.h (XFRAME): Likewise.
12282
52283633
SM
12283 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12284 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12285 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12286 * data.c (set_internal): Likewise.
52283633
SM
12287 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12288 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12289 * fileio.c (auto_save_1): Likewise.
12290 * insdel.c (check_markers): Likewise.
12291 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12292 * undo.c (record_insert): Likewise.
12293 * vmsproc.c (child_sig): Likewise.
12294 * window.c (unshow_buffer, window_loop): Likewise.
12295 * xterm.c (x_erase_phys_cursor): Likewise.
12296
8e7af858
GM
122972000-03-30 Gerd Moellmann <gerd@gnu.org>
12298
12299 * xfns.c (free_image_cache): Free the cache structure itself
12300 last, after all its members have been freed.
12301
12302 * lisp.h (xstrdup): Add prototype.
12303
12304 * alloc.c (xstrdup): Moved here from xfaces.c.
12305 (allocating_for_lisp): Variable removed.
52283633 12306 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12307
12308 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12309 of Fsymbol_value.
12310 (xstrdup): Moved to alloc.c.
12311
e0b8c689
KR
123122000-03-29 Ken Raeburn <raeburn@gnu.org>
12313
b96f9fb7
KR
12314 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12315
12316 * emacs.c (main): Fix sense of no-loadup test.
12317
e0b8c689
KR
12318 * config.in (ENABLE_CHECKING): Undef.
12319
12320 * lisp.h (struct interval): Replace "parent" field with a union of
12321 interval pointer and Lisp_Object; add new bitfield to use as
12322 discriminant. Change other flag fields to bitfields.
12323 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12324 is defined and the supplied test fails, print a message and abort.
12325 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12326
12327 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12328 pointers; abort if the value looks like a lisp object.
52283633
SM
12329 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12330 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12331 Modify for new interval parent definition.
12332
52283633
SM
12333 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12334 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12335 addressable lisp object in the interval structure.
12336 (die): New function.
12337 (suppress_checking): New variable.
12338
12339 * intervals.c (interval_start_pos): Just return 0 if there's no
12340 parent object.
12341
f83c5440
GM
123422000-03-29 Gerd Moellmann <gerd@gnu.org>
12343
12344 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12345 and earlier Emacs versions.
12346
12347 * keyboard.c (Ftop_level): Cancel busy-cursor.
12348
12349 * eval.c (call_debugger): Cancel busy-cursor.
12350
fdce64ff
KH
123512000-03-29 Kenichi Handa <handa@etl.go.jp>
12352
12353 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12354 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12355
f6a3f532
SM
123562000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12357
12358 * regex.c (analyse_first): New function obtained by ripping out most
12359 of re_compile_fastmap and generalizing it a little bit so that it
12360 can also just return whether a given (sub)pattern can match the empty
12361 string or not.
12362 (regex_compile): Use `analyse_first' to decide whether the loop-check
12363 needs to be done or not for *, +, *? and +? (the loop check is costly
12364 for non-greedy repetition).
12365 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12366
e9b309ac
DL
123672000-03-28 Dave Love <fx@gnu.org>
12368
52283633 12369 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12370
e9b309ac
DL
12371 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12372
ed0767d8
SM
123732000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12374
12375 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12376 an expression.
12377 (enum re_opcode_t): Update description of succeed_n.
12378 (PATFETCH): Always define.
12379 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12380 operators, char classes, shy-groups and intervals).
12381 Optimize special cases of intervals so as to only use succeed_n and
12382 jump_n when really needed.
12383 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12384 that we don't have to handle the special cases any more.
12385 Simplify on_failure_jump handling as well.
12386
e11e7e46
JR
123872000-03-28 Jason Rumney <jasonr@gnu.org>
12388
12389 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12390
88faab89
GM
123912000-03-27 Gerd Moellmann <gerd@gnu.org>
12392
182ff242
GM
12393 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12394
12395 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12396
182ff242
GM
12397 * alloc.c (mark_maybe_object): New function.
12398 (mark_memory): Use it.
12399 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12400 (setjmp_tested_p, longjmp_done): New variables.
12401 (test_setjmp): New function.
12402 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12403 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12404
c1005d06
GM
12405 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12406 to DEC_TEXT_POS and INC_TEXT_POS.
12407
12408 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12409 with parameter MULTIBYTE_P.
12410
52283633 12411 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12412
7439e5b9 12413 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12414 buffers because it looks for multibyte character byte sequences
12415 which don't exist in unibyte text.
7439e5b9 12416
d9c545da
GM
12417 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12418
11fd416e 12419 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12420 [DEBUG_X_COLORS]: New functions.
12421 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12422
12423 * xfns.c (x_set_cursor_color): Get color reference counts right.
12424
12425 * xterm.c (x_copy_color): New function.
12426 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12427
12428 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12429 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12430 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12431 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12432 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12433 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12434 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12435 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12436 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12437 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12438
11fd416e
GM
12439 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12440 names for handling per-buffer variables.
d9c545da
GM
12441
12442 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12443 instead of MAX_BUFFER_LOCAL_VARS.
12444 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12445
12446 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12447
88faab89
GM
12448 * xfns.c (x_specified_cursor_type): New function.
12449 (x_set_cursor_type): Use it.
12450
12451 * buffer.h (struct buffer): Add cursor_type.
12452
d80f42b7
SM
124532000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12454
12455 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12456 (print_partial_compiled_pattern, re_compile_fastmap):
12457 Handle new opcode.
d80f42b7
SM
12458 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12459 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12460 executing it as well as when popping it off the stack to find infinite
12461 loops in non-greedy repetition operators.
12462
89e80928
GM
124632000-03-26 Gerd Moellmann <gerd@gnu.org>
12464
3d4ff2dd
GM
12465 * doc.c (Qfunction_documentation): New variable.
12466 (syms_of_doc): Initialize Qfunction_documentation.
12467 (Fdocumentation): If FUNCTION is a symbol with non-nil
12468 `function-documentation' property, return a documentation derived
12469 from that.
12470
bd96bd79
GM
12471 * buffer.c (syms_of_buffer): Add default-cursor-type.
12472 (init_buffer_once): Don't let cursor_type have a local value
12473 in every buffer.
12474
19d1bc27
GM
12475 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12476 on buffer-local value of cursor_type.
12477 (x_draw_bar_cursor): Add parameter WIDTH.
12478
12479 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12480 (init_buffer_once): Set default cursor_type value to t.
12481 Mark cursor_type as local everywhere.
12482 (syms_of_buffer): New per-buffer variable cursor-type.
12483
89e80928
GM
12484 * buffer.h (struct buffer): Remove member local_var_flags,
12485 add local_flags.
12486 (MAX_BUFFER_LOCAL_VARS): New macro.
12487 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12488 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12489 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12490 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12491
52283633 12492 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12493
12494 * category.c (Fset_category_table): Use new macros for per-buffer
12495 variables.
12496
12497 * buffer.c (buffer_permanent_local_flags): Make a char array.
12498 (max_buffer_local_idx): New variable.
12499 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12500 for new handling of per-buffer variables.
12501 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12502 (init_buffer_once): Initialize per-buffer vars differently.
12503 Set max_buffer_local_idx.
12504
12505 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12506 variables.
12507
52283633 12508 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12509
12510 * data.c (do_symval_forwarding, store_symval_forwarding)
12511 (find_symbol_value, set_internal, default_value, Fset_default)
12512 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12513 per-buffer variables.
12514
12515 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12516
9a0dd3dc
GM
125172000-03-24 Gerd Moellmann <gerd@gnu.org>
12518
b68c375f
GM
12519 * xterm.c (x_term_init): Unblock input around call1 of
12520 Qvendor_specific_keysyms.
12521
9a0dd3dc
GM
12522 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12523 (find_defun_start): Consider an open parenthesis in column 0
12524 a defun start only if open_paren_in_column_0_is_defun_start is set.
12525 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12526
7973e637
SM
125272000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12528
12529 * eval.c (Fautoload): Add entry in load-history (if after dump).
12530 * lread.c (load-history): Update docstring.
12531
39210e90
GM
125322000-03-24 Gerd Moellmann <gerd@gnu.org>
12533
12534 * indent.c (Fvertical_motion): Always use the current buffer.
12535 Temporarily change the window's buffer, if necessary.
12536
72db3ab5
GM
125372000-03-23 Gerd Moellmann <gerd@gnu.org>
12538
12539 * xterm.c (fast_find_position): Make sure not to consider rows
12540 not visible in the window.
12541
990b2375
SM
125422000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12543
12544 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12545 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12546
ff4df011
JR
125472000-03-22 Jason Rumney <jasonr@gnu.org>
12548
12549 * w32menu.c (single_submenu): Set help string to NULL if none.
12550 (w32_menu_show): Set help string correctly.
12551 (add-menu-item): Set help string in MIIM_DATA for menu item.
12552 Load SetMenuItemInfoA explicitly.
12553 (w32_menu_display_help): New function.
427ec082 12554
ff4df011
JR
12555 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12556 (QCdata): Moved to xdisp.c.
12557
12558 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12559 (Vw32_charset_to_codepage_alist): Removed.
12560 (Vw32_charset_info_alist): New variable.
52283633
SM
12561 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12562 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12563 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12564 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12565 with TODO comment.
12566 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12567 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12568 Define Vw32_charset_info_alist and w32_charset symbols.
12569
125702000-03-22 Jason Rumney <jasonr@gnu.org>
12571
12572 * makefile.nt (w32bdf.obj): Update dependencies.
12573
12574 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12575
12576 * w32fns.c: Include fontset.h after dispextern.h.
12577 (Fx_create_frame): Do not create fontset.
12578 (w32_load_system_font): Doc fix.
12579 (Fx_close_connection): Free full_name if it is not shared.
12580
12581 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12582 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12583 Callers updated.
ff4df011
JR
12584 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12585 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12586 (w32_font_is_double_byte): New function, needs body.
12587 (x_append_glyph): Set glyph->glyph_not_available_p.
12588 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12589 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12590 character, convert it to a unibyte character.
12591 (struct glyph_string): Delete member `charset'.
12592 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12593 calculating it is found.
12594 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12595 the case that per char metric is not available correctly.
12596 (x_fill_glyph_string): Handle the case that the specific glyph is
12597 not available correctly.
12598 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12599 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12600 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12601 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12602 fontset. Don't call FS_LOAD_FONT.
12603
439d5cb4
KR
126042000-03-22 Ken Raeburn <raeburn@gnu.org>
12605
12606 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12607 (INT_LISPLIKE): New macro.
12608 (NULL_INTERVAL_P): Use it.
52283633
SM
12609 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12610 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12611 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12612
12613 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12614 explicit references to "parent" field of struct interval and
12615 associated unclean type conversions.
52283633
SM
12616 * intervals.c (create_root_interval, root_interval, rotate_right)
12617 (rotate_left, balance_possible_root_interval, split_interval_right)
12618 (split_interval_left, interval_start_pos, find_interval)
12619 (next_interval, previous_interval, update_interval)
12620 (adjust_intervals_for_insertion, delete_node, delete_interval)
12621 (adjust_intervals_for_deletion, merge_interval_right)
12622 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12623 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12624 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12625 Likewise.
12626 * syntax.c (update_syntax_table): Likewise.
12627
12628 * intervals.c (reproduce_tree_obj): New function, like
12629 reproduce_tree but takes a Lisp_Object for the parent. Declare
12630 with prototype.
12631 (graft_intervals_into_buffer): Use it when appropriate.
12632 (reproduce_tree): Declare with prototype.
12633 (balance_possible_root_interval): Check that the parent is a lisp
12634 object before trying to examine its type.
12635
ee1c5b21
GM
126362000-03-22 Gerd Moellmann <gerd@gnu.org>
12637
12638 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12639 as strings only if both are known to be strings.
12640
12641 * s/openbsd.h (LIBS_TERMCAP): Undef.
12642
1fb352e0
SM
126432000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12644
12645 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12646 definitions for non-Emacs compilation.
12647 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12648 outside of `#ifdef emacs'.
12649 (print_partial_compiled_pattern): Update.
12650 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12651 (re_compile_fastmap): Merge handling of charset and charset_not (for
12652 emacs and non-emacs compilation as well).
12653 Similarly for (not)categoryspec and (not)syntaxspec.
12654 Don't use the fastmap when reaching `anychar' since the added
12655 complexity is not justified.
12656 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12657 and (not)syntaxspec. Merge (not)categoryspec.
12658
fdaa1f77
KH
126592000-03-22 Kenichi Handa <handa@etl.go.jp>
12660
52283633
SM
12661 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12662 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12663 --without-x.
fdaa1f77 12664
d152fb46
DL
126652000-03-21 Dave Love <fx@gnu.org>
12666
12667 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12668 doc string.
12669
d2cafc8c
GM
126702000-03-21 Gerd Moellmann <gerd@gnu.org>
12671
12672 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12673 (lface_fully_specified_p): Don't check contents of
12674 LFACE_FONT_INDEX because that attribute is optional.
12675 (realize_x_face): Remove now unwarranted xassert.
12676
9111d4b5
KH
126772000-03-21 Kenichi HANDA <handa@etl.go.jp>
12678
12679 The following changes are to make font selection based on
12680 characters, not charset. In addition, they recover fontset
12681 facilities while utilizing the new font selection mechanism.
12682
6c4bfdc0
KH
12683 * Makefile.in (fontset.o): Depend on dispextern.h.
12684
12685 * alloc.c (mark_face_cache): Don't mark face->registry.
12686
9111d4b5
KH
12687 * dispextern.h (struct glyph): New member glyph_not_available_p.
12688 Use 22 bits for face_id.
12689 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12690 (struct face): Delete member registry, new member ascii_face.
12691 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12692 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12693 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12694 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12695
12696 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12697 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12698 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12699 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12700 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12701 (fs_free_face_fontset, fontset_font_pattern)
12702 (face_suitable_for_char_p, face_for_char)
12703 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12704 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12705 (FS_LOAD_FACE_FONT): New macro.
12706
12707 * fontset.c: All codes rewritten or adjusted for the change of
12708 fontset implementation. Now fontset is represented by char table.
52283633
SM
12709 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12710 Variables removed.
9111d4b5 12711 (my_strcasecmp): Function removed.
52283633 12712 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12713 (AREF, ASIZE): New macros.
52283633
SM
12714 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12715 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12716 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12717 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12718 (fontset_id_valid_p, font_family_registry, fontset_name)
12719 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12720 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12721 New functions.
12722 (fs_load_font): New arg FACE. Caller changed.
12723 (fs_query_fontset): Argument changed. Caller changed.
12724 (Fquery_fontset): call fs_query_fontset.
12725 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12726 Functions removed.
52283633
SM
12727 (clear_fontset_elements, check_registry_encoding)
12728 (check_fontset_name): New functions.
9111d4b5
KH
12729 (syms_of_fontset): Set char-table-extra-slots property of fontset
12730 to 3. Staticpro and initialize Vfontset_table and
12731 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12732
12733 * frame.h (struct frame): Member `fontset_data' removed.
12734 (FRAME_FONTSET_DATA): Macro removed.
12735
12736 * frame.c (make_frame): Don't allocate f->fontset_data.
12737 (Fdelete_frame): Don't free f->fontset_data.
12738
6c4bfdc0
KH
12739 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12740
9111d4b5
KH
12741 * xdisp.c (charset_at_position): Function removed.
12742 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12743 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12744 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12745 Likewise.
12746 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12747 FACE_FOR_CHARSET.
52283633
SM
12748 (get_next_display_element, append_space)
12749 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12750
12751 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12752 Variables removed.
12753 (clear_font_table, frame_update_line_height, load_face_font):
12754 Adjusted for the change of fontset implementation.
12755 (load_face_fontset_font): Function removed.
12756 (pixel_point_size): New function.
12757 (font_list): Argument type changed. Caller changed.
12758 (LFACE_FONT): New macro.
12759 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12760 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12761 Lisp_Object. Determine the font name by actually loading a font
12762 by the specified pattern. Set LFACE_FONT (lface) to the specified
12763 pattern. Even if a font is not found, don't try alternatives.
12764 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12765 (set_font_frame_param): If `font' is specified in lface, use it.
12766 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12767 (lface_same_font_attributes_p): Likewise.
12768 (make_realized_face): Arguent changed. Caller changed. Set
12769 face->ascii_face to face itself.
12770 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12771 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12772 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12773 (free_realized_multibyte_face): New function.
12774 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12775 changed. Caller changed.
12776 (try_font_list): Argument type changed.
12777 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12778 (choose_face_font): Argument changed. Handle fontset properly.
12779 (choose_face_fontset_font): Function removed.
12780 (realize_default_face, realize_named_face): Don't remove the
12781 former face here.
12782 (realize_face): Argument changed. Caller changed. Remove face
52283633 12783 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12784 (realize_x_face): Argument changed. Caller changed. For a
12785 multibyte character, share fontset with base_face. For a single
52283633 12786 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12787 (realize_tty_face): Argument changed. Caller changed.
12788 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12789 (face_at_buffer_position): Don't check multibyte_p for returning
12790 DEFAULT_FACE_ID.
12791 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12792 FACE_SUITABLE_FOR_CHARSET_P.
12793 (syms_of_xfaces): Remove code for Qx_charset_registry and
12794 Vface_default_registry.
12795
6c4bfdc0
KH
12796 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12797 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12798 (x_per_char_metric): Don't try FONT->default_char. Even if
12799 pcm->width is zero, glyph bits may exist.
12800 (x_encode_char): Always initialize char2b->byte1.
12801 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12802 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12803 (x_append_glyph): Set glyph->glyph_not_available_p.
12804 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12805 it->charset. Handle the case that per char metric is not
12806 available. If it->multibyte_p is zero and it->c is a multibyte
12807 character, convert it to a unibyte character.
12808 (struct glyph_string): Delete member `charset'.
12809 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12810 the case that per char metric is not available correctly.
12811 (x_fill_glyph_string): Handle the case that the specific glyph is
12812 not available correctly.
12813 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12814 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12815 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12816 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12817 fontset. Don't call FS_LOAD_FONT.
12818
12819 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12820 (x_create_tip_frame): Likewise.
12821 (Fx_close_connection): Free full_name of font_info.
12822
12823 * fns.c (optimize_sub_char_table): New function.
12824 (Foptimize_char_table): New function.
12825 (syms_of_fns): Defsubr Soptimize_char_table.
12826
b33dd3b0
GM
128272000-03-20 Gerd Moellmann <gerd@gnu.org>
12828
12829 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12830 only if buffer is displayed in some window.
12831
12832 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12833 (try_window_reusing_current_matrix): Don't call scroll run
12834 function if run's current and desired position are the same;
12835 this prevents cursor flickering.
12836
4e8a9132
SM
128372000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12838
12839 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12840
12841 * regex.c (RE_STRING_CHAR): New macro.
12842 (GET_CHAR_AFER_2): Remove.
12843 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12844 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12845 (print_partial_compiled_pattern, re_compile_fastmap)
12846 (re_match_2_internal): Remove on_failure_jump_exclusive.
12847 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12848 optimization only need to work for * (ie. can use of_keep_string_jump).
12849 Remove the special case for .*\n since it is now covered by the general
12850 optimization.
12851 (re_search_2): Don't bother with `room'.
12852 (skip_one_char): New function.
12853 (skip_noops): Simplify since `memory' is not needed any more.
12854 (mutually_exclusive_p): Restructure slightly to use `switch' and
12855 add handling for "all" remaining cases.
12856 (re_match_2_internal): Change on_failure_jump_smart to use
12857 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12858 rather than on_failure_jump_exclusive.
12859
2136fdd4
GM
128602000-03-19 Gerd Moellmann <gerd@gnu.org>
12861
12862 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12863 number of bits per RGB because it's everywhere used as the depth
12864 of the visual.
12865
12866 * term.c (calculate_costs): Remove code dealing with X frames.
12867
18e21ce8 128682000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12869
12870 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12871
d7b511c4
GM
128722000-03-18 Gerd Moellmann <gerd@gnu.org>
12873
12874 * lread.c (read_integer): Unread the last char not consumed.
12875
16b5d424
GM
128762000-03-17 Gerd Moellmann <gerd@gnu.org>
12877
12878 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12879 which are in the process of being deleted.
16b5d424 12880
1fa28578
GM
128812000-03-16 Gerd Moellmann <gerd@gnu.org>
12882
83488cce
GM
12883 * Makefile.in (mostlyclean): Add `*.core'.
12884 (clean): Add `bootstrap-emacs'.
12885
1fa28578
GM
12886 * lread.c (read_integer): New function.
12887 (read1): Support read syntax #o, #x, #b, #r.
12888
99633e97
SM
128892000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12890
1fa28578
GM
12891 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12892 make sure POINTER_TO_OFFSET gives the same value before and after
12893 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12894 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12895 (debug): Now only active if > 0 rather than if != 0.
12896 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12897 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12898 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12899 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12900 (store_op1, store_op2, insert_op1, insert_op2)
12901 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12902 (group_in_compile_stack): Move to after its arg's types are
12903 declared and add a prototype.
99633e97 12904 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12905 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12906 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12907 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12908 indentation of the greedy-op and shy-group code.
99633e97
SM
12909 (at_(beg|end)line_loc_p): Fix argument's types.
12910 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12911 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12912 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12913 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12914 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12915 QUIT unconditionally.
99633e97 12916
699238d9
GM
129172000-03-15 Gerd Moellmann <gerd@gnu.org>
12918
12919 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12920 a sole completion.
12921
12922 * process.c (send_process): Add a hint that the function
12923 can call Lisp code to its comment.
12924
12925 * lread.c (load_dangerous_libraries): New variable.
12926 (Vbytecomp_version_regexp): New variable.
12927 (safe_to_load_p): New function.
12928 (Fload): Handle files not compiled with Emacs specially.
12929 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12930
34e23e5a
GM
129312000-03-14 Gerd Moellmann <gerd@gnu.org>
12932
9c763cca
GM
12933 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12934
12935 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12936 support functions only if HAVE_X11R6_XIM is defined.
12937 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12938
12939 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12940
12941 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12942 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12943 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12944
12945 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12946 (HAVE_X11R6_XIM): Define.
12947
12948 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12949
34e23e5a
GM
12950 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12951 If set, call XSynchronize.
12952
66f0296e
SM
129532000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12954
34e23e5a
GM
12955 * regex.c: Declare a new type `re_char' used throughout the code
12956 for the string char type. It's `const unsigned char' to match the
12957 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12958 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12959 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12960 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12961 code duplication.
66f0296e
SM
12962
12963 * charset.h (GET_CHAR_AFTER_2): Remove.
12964 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12965
854a025c
KR
129662000-03-12 Ken Raeburn <raeburn@gnu.org>
12967
12968 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12969 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12970 of them try to use backquotes.
12971
b9d2c7e2
DL
129722000-03-12 Dave Love <fx@gnu.org>
12973
12974 * unexelf.c: Restore changes of 1999-10-19.
12975 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12976 fix its type and alignment; copy it from current process.
12977
5e5dff44
GM
129782000-03-12 Gerd Moellmann <gerd@gnu.org>
12979
9b2f3c38
GM
12980 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12981 has been found. Fix bug not computing timer's predecessor.
12982
427ec082 12983 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12984 file name.
12985
e1cff360
GM
12986 * window.c (Fsave_window_excursion): Doc fix.
12987
52283633 12988 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12989
e411ce4b
EZ
129902000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12991
12992 * msdos.c (vga_installed): New function, code moved from
12993 dos_set_window_size.
12994 (Qbar, Qcursor_type, outside_cursor): New variables.
12995 (syms_of_msdos): Intern and staticpro them.
12996 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12997 shape used outside Emacs when called for the first time.
12998 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12999 cursor shape used outside Emacs.
13000 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13001 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13002 type has changed.
13003 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13004 parameters specify the cursor. Make qreverse a global
13005 variable (renamed to Qreverse).
13006
80460654
GM
130072000-03-09 Gerd Moellmann <gerd@gnu.org>
13008
13009 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13010
95cd4c40
SM
130112000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13012
13013 This is a big redesign of failure-stack and register handling, prompted
13014 by bugs revealed when trying to add shy-groups. Overall, what happened
13015 is that loops are now structured a little differently, groups can be
13016 shy and the code is a little simpler.
13017
13018 * regex.h: Update the copyright.
13019 (RE_SHY_GROUPS): New value.
13020 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13021 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13022
80460654
GM
13023 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13024 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13025 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13026 for (start|stop)_memory since they now only take one argument (the
13027 second has becomes unnecessary).
52283633 13028 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13029 (print_compiled_pattern): Use %ld to printf long ints and flush to
13030 make debugging a little easier.
95cd4c40
SM
13031 (union fail_stack_elt): Make the integer unsigned.
13032 (struct fail_stack_type): Add a `frame' element.
13033 (INIT_FAIL_STACK): Init `frame' as well.
13034 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13035 (DEBUG_PUSH, DEBUG_POP): Remove.
13036 (NUM_REG_ITEMS): Remove.
13037 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13038 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13039 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13040 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13041 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13042 New macros.
80460654
GM
13043 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13044 address pushed is not the destination of the jump but the source
13045 of it instead.
95cd4c40
SM
13046 (NUM_FAILURE_ITEMS): Remove.
13047 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13048 registers before the actual failure point). Don't hardcode any
13049 meaning for str==NULL anymore.
95cd4c40 13050 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13051 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13052 Remove.
95cd4c40
SM
13053 (REG_UNSET_VALUE): Use NULL (why not?).
13054 (compile_range): Remove declaration since it doesn't exist.
13055 (struct compile_stack_elt_t): Remove inner_group_offset.
13056 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13057 (regex_grow_registers): Remove dead code.
13058 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13059 (regex_compile): Add shy-groups Change loops to use
13060 on_failure_jump_smart&jump instead of
13061 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13062 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13063 variable to me). Use `jump' instead of `jump_past_alt' and don't
13064 bother with push_dummy_failure in alternatives since it is now
13065 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13066 emacs' for (re)allocating the stack.
13067 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13068 from loop when bufp->can_be_null rather than jumping to `done'.
13069 Avoid jumping backwards so as to ensure termination. Use
13070 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13071 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13072 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13073 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13074 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13075 (lowest_active_reg, highest_active_reg)
13076 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13077 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13078 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13079 variables. Push register (in `start_memory') on the stack rather
13080 than storing it in old_reg(start|end). Remove the cycle detection
13081 from `stop_memory', replaced by the use of on_failure_jump_loop
13082 for greedy loops. Add code for the new on_failure_jump_<foo>.
13083 Remove ad-hoc code in `on_failure_jump' to push more registers in
13084 the case of a loop. Take out code from `maybe_pop_jump' into
13085 separate functions and adapt it to the semantics of
13086 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13087 and push_dummy_failure. Remove dummy_failure handling and
13088 handling of `failures to jump to on_failure_jump' (this last one
13089 was already dead code, it seems).
13090 (group_match_null_string_p, alt_match_null_string_p)
13091 (common_op_match_null_string_p): Remove.
95cd4c40 13092
7397acc4
DL
130932000-03-08 Dave Love <fx@gnu.org>
13094
13095 * config.in: Don't depend on __STDC__ for volatile.
13096 Add POINTER_TYPE, PTR, PROTOTYPES.
13097
13098 * hftctl.c, strftime.c: Use PROTOTYPES.
13099 * eval.c (find_handler_clause): Likewise.
13100
13101 * mem-limits.h: Use POINTER_TYPE.
13102
13103 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13104 (memory_warnings): Declare using POINTER_TYPE.
13105
5e91ff9e
GM
131062000-03-08 Gerd Moellmann <gerd@gnu.org>
13107
feab4fba
GM
13108 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13109
52283633 13110 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13111
5e91ff9e
GM
13112 * xfns.c: Remove obsolete code in #if 0.
13113 (Fx_focus_frame): New function.
13114
a735b7e1
KH
131152000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13116
13117 * coding.c (coding_category_name): Add coding-category-utf-8,
13118 coding-category-utf-16-be, coding-category-utf-16-le.
13119 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13120 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13121 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13122 (detect_coding_utf_8): New function.
13123 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13124 UTF_16_LOW_SURROGATE_P): New macros.
13125 (detect_coding_utf_16): New function
13126 (detect_coding_mask): When priorities are specified, skip any
13127 categories that have `nil' coding-system. Fix bug of returning
13128 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13129 returns a mask not set in PRIORITIES.
13130 (detect_eol_type_in_2_octet_form): New function.
13131 (detect_eol): selects detect_eol_type_XXX to call according to
13132 cooding->category_idx.
13133 (detect_coding_system): Remove `nil' coding-system in the result.
13134 (Fupdate_coding_systems_internal): Update all coding-categories.
13135
52283633
SM
13136 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13137 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13138 New macros.
13139 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13140 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13141 (CODING_CATEGORY_IDX_UTF_16_LE)
13142 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13143 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13144 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13145 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13146
9994cc69
GM
131472000-03-07 Gerd Moellmann <gerd@gnu.org>
13148
e9b4e5ff
GM
13149 * doc.c (Fdocumentation_property): If value is not a string,
13150 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13151
f7daf1e1
GM
13152 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13153 close the display with XtCloseDisplay. This caused a bus error
13154 on OpenWindows.
13155
9994cc69
GM
13156 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13157 complete but not unique.
13158
4336c705
GM
131592000-03-06 Gerd Moellmann <gerd@gnu.org>
13160
18bb0684
GM
13161 * process.c (send_process): Remove local variable `procname' that
13162 might become invalid when a GC happens. Instead, access the
13163 process name slot directly.
13164
4336c705
GM
13165 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13166 orig_height if set.
13167
13168 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13169 orig_height if set.
13170
515d0d0e
EZ
131712000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13172
13173 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13174 glyph matrices have been freed.
13175
100b3cbb
GM
131762000-03-05 Gerd Moellmann <gerd@gnu.org>
13177
50df5e5a 13178 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13179 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13180
13181 * xfns.c (QCdata): Moved to xdisp.c.
13182
13183 * xdisp.c (QCdata): Moved here from xfns.c.
13184 (syms_of_xdisp): Initialize QCdata.
13185
13186 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13187
13188 * window.c (coordinates_in_window): Use
13189 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13190 FRAME_INTERNAL_BORDER_WIDTH.
13191
100b3cbb 13192 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13193 it is obviously invalid.
100b3cbb
GM
13194
13195 * xterm.c (x_term_init): Create a colormap if not using the
13196 default visual.
13197
13198 * xterm.h (select_visual): Change prototype.
13199
13200 * xfns.c (select_visual): Rewritten. Recognize user-specified
13201 visual classes.
13202 (visual_classes): New variable.
13203
64d739c4
GM
132042000-03-04 Gerd Moellmann <gerd@gnu.org>
13205
13206 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13207 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13208 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13209 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13210 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13211 XtNcolormap resources.
13212 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13213 (Fx_create_frame): Initialize color members of x_output structure.
13214 (xpm_load): Pass colormap to XPM lib.
13215
13216 * xfaces.c (x_free_colors): Access colormap of frame using
13217 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13218 when default colormap is used.
13219
13220 * xterm.c (x_term_init): Set Colormap member of x_display_info
13221 structure. Copy colormap if resource `privateColormap' is
13222 specified (PseudoColor only).
13223 (x_setup_relief_color): Access colormap of frame using
13224 FRAME_X_COLORMAP.
13225
13226 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13227 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13228
c3cee013
JR
132292000-03-04 Jason Rumney <jasonr@gnu.org>
13230
13231 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13232 other non-platform-specific equivalents.
64d739c4 13233 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13234 specific functions and macros as their w32 equivalents where
13235 non-platform-specifics are not available.
13236 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13237 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13238 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13239 (frame_update_line_height): Use macros to access f->output_data.
13240 (defined_color): Remove FIXME comments; fixed.
13241 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13242 into #ifdef blocks. Add WINDOWSNT blocks.
13243 (Fx_list_fonts): Use macros for accessing font data.
13244 (set_lface_from_font_name): Different default fonts for X and
13245 WINDOWSNT.
13246 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13247 scalable for backward compatibility.
64d739c4 13248 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13249 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13250
64d739c4 13251 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13252 syms_of_w32faces.
13253
13254 * makefile.nt (w32faces.obj): Remove.
13255 (xfaces.obj): Add.
13256
807cc41c
JR
132572000-03-03 Jason Rumney <jasonr@gnu.org>
13258
13259 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13260 correct parameters.
13261
0007072a
KR
132622000-03-03 Ken Raeburn <raeburn@gnu.org>
13263
13264 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13265 standard ELF definitions here if the system header does not.
13266
71a6ba55
GM
132672000-03-03 Gerd Moellmann <gerd@gnu.org>
13268
13269 * xterm.c (PER_CHAR_METRIC): Removed.
13270 (x_per_char_metric_1, x_default_char): New functions.
13271 (x_per_char_metric): If font's default char is invalid, return
13272 metrics of a suitably chosen usable default char.
13273 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13274 char, replace occurrences of unprintable chars with a suitably
13275 chosen usable default char.
71a6ba55 13276
900fa1f1
GM
132772000-03-02 Gerd Moellmann <gerd@gnu.org>
13278
42f55fe0
GM
13279 * xterm.c (note_mouse_highlight): Return quickly if frame's
13280 glyph matrices have been freed.
13281
13282 * dispnew.c (free_glyphs): Block input while freeing matrices.
13283
900fa1f1
GM
13284 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13285
52283633
SM
13286 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13287 Use x_free_colors.
900fa1f1
GM
13288
13289 * dispextern.h (x_free_colors): Add prototype.
13290
13291 * xfaces.c (x_free_colors): New function.
13292 (unload_color, free_face_colors): Use it.
13293
2f950292
EZ
132942000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13295
13296 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13297
13298 * window.c [MSDOS]: Include msdos.h.
13299
54d04320
DL
133002000-03-02 Dave Love <fx@gnu.org>
13301
13302 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13303
13304 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13305 set C_OPTIMIZE_SWITCH for gcc.
13306
0ba93ac4
KH
133072000-03-02 Kenichi Handa <handa@etl.go.jp>
13308
13309 * coding.c (coding_save_composition): Be sure to allocate
13310 composition data area in coding even if there's no composition in
13311 the current run.
13312
a2bc11d4
JR
133132000-03-01 Jason Rumney <jasonr@gnu.org>
13314
13315 * w32term.c: Equivalent changes to those made to xterm.c on
13316 2000-02-25 and 2000-02-24.
13317
13318 * w32fns.c: Equivalent changes to those made to xfns.c on
13319 2000-02-25 and 2000-02-21.
13320
13321 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13322 correct line-end convention is followed.
13323
13324 * w32menu.c [HAVE_BOXES]: Remove #undef.
13325 (single_keymap_panes): Remove code for simulating checkmarks.
13326 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13327 Remove code for drawing simulated checkmarks.
13328 (w32_menu_show): make unibyte help string correctly.
13329 (add_menu_item): draw standard Windows checkmarks. Draw radio
13330 buttons as radio buttons if possible.
13331
72d19d75
GM
133322000-03-01 Gerd Moellmann <gerd@gnu.org>
13333
2df636f4
GM
13334 * sysdep.c (start_of_text): Don't define this function for NetBSD
13335 with ELF.
13336
427ec082 13337 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13338 Don't define.
13339 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13340 (LINKER): Don't undef if __NetBSD__ is defined.
13341
13342 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13343
13344 * fileio.c [__NetBSD__]: Define `unix'.
13345
72d19d75
GM
13346 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13347
ed4d0512
GM
133482000-02-29 Gerd Moellmann <gerd@gnu.org>
13349
50b1039f
GM
13350 * atimer.c (start_atimer): Don't abort when timers are stopped.
13351 (append_atimer_lists): New function.
13352 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13353 arbitrary lists of stopped and running atimers.
13354
ed4d0512
GM
13355 * atimer.c (cancel_atimer): Handle canceling an atimer when
13356 some timers are stopped.
13357
13358 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13359 after canceling it.
13360
13361 * fns.c (maybe_resize_hash_table): Handle case of new size
13362 coming out as being the same as old size.
13363
387023ee
JR
133642000-02-27 Jason Rumney <jasonr@gnu.org>
13365
13366 * makefile.nt: Add atimer.h to dependencies.
13367 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13368 * w32console.c: Only disable window system features for dispextern.h
13369 (initialize_w32_display): Build a display info for the console.
13370 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13371 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13372 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13373 as 2 button mice.
13374 * w32gui.h (struct W32FontStruct): Revert last change after change
13375 to xdisp.c.
13376 * w32menu.c (single_submenu): Set up help string.
13377 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13378 (w32_dialog_show): Set up help string.
13379 * w32term.c (w32_display_info_for_display): Remove unused function.
13380 (w32_draw_bitmap): Use pre-built bitmaps.
13381 (w32_initialize_display_info): New function to initialize parts of
13382 display info that are common to both GUI and console frames.
13383 (w32_term_init): Use w32_initialize_display_info. Do not set
13384 Vw32_num_mouse_buttons here, as it is not called for console
13385 frames. Build bitmaps for indicating truncated lines etc.
13386 (x_delete_display): Destroy pre-built bitmaps.
13387 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13388 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13389
4516715a
DL
133902000-02-27 Dave Love <fx@gnu.org>
13391
13392 * lisp.h: Add a bunch of prototypes.
13393
171ca836
KH
133942000-02-26 Kenichi Handa <handa@etl.go.jp>
13395
13396 * keyboard.c (read_char): Set `usec' correctly.
13397
4013921d
KH
133982000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13399
13400 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13401 `lambda', set reg[RRR] to the map index.
13402 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13403 reg[RRR] to 0. Otherwise, set it to -1.
13404
9244a058
GM
134052000-02-25 Gerd Moellmann <gerd@gnu.org>
13406
2df636f4 13407 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13408
18e21ce8 134092000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13410
f43d79c1
GM
13411 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13412 and contains a `:', prepend `/:'.
13413
13414 * window.c (select_window_1): If selected_window is nil,
13415 don't "swap out" the buffer's point.
13416 (Fset_window_configuration): Set selected_window to nil
13417 before calling Fselect_window.
13418 (unshow_buffer): Don't set point in buffer from window's point
13419 if another more recently selected window also shows the buffer.
13420
bed0c171
GM
134212000-02-25 Gerd Moellmann <gerd@gnu.org>
13422
449c3c52
GM
13423 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13424
f5b58615
GM
13425 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13426 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13427 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13428 New variables.
f5b58615
GM
13429 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13430 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13431 (hide_busy_cursor): New functions.
13432 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13433
13434 * minibuf.c (read_minibuf): Cancel busy-cursor.
13435
13436 * keyboard.c (command_loop_1): Call start_busy_cursor before
13437 Fcommand_execute and cancel_busy_cursor after it.
13438 (timer_check): Remove busy-cursor code.
13439 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13440 cursor timer.
13441
13442 * process.c (wait_reading_process_input): Remove busy-cursor code.
13443
13444 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13445 Fx_hide_busy_cursor.
13446
13447 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13448 Remove prototyoes.
13449 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13450
13451 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13452
13453 * xterm.c (XTread_socket): Remove busy-cursor code.
13454
4eb8436f
GM
13455 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13456 (build_frame_matrix_from_leaf_window): Put code handling
13457 glyph row's not being a slice of a frame row in #if 0.
13458 (sync_window_with_frame_matrix_rows): New function.
13459 (frame_row_to_window): New function.
13460 (mirror_line_dance): Handle copies between windows.
13461
3cb65b0e
GM
13462 * lread.c (Fload): Use `xfree' instead of `free'.
13463 (init_obarray): Use `xmalloc' instead of `malloc'.
13464
bed0c171
GM
13465 * window.c (Fset_window_buffer): Set WINDOW to the window
13466 after decoding.
2add4349
GM
13467 (coordinates_in_window): Take frame's internal border width
13468 into account.
bed0c171 13469
42088c12
GM
134702000-02-24 Gerd Moellmann <gerd@gnu.org>
13471
13472 * xterm.c (x_display_and_set_cursor): Display cursor of
13473 non-selected windows depending on the setting of
13474 cursor_in_non_selected_windows.
13475
13476 * xdisp.c (cursor_in_non_selected_windows): New variable.
13477 (syms_of_xdisp): DEFVAR_BOOL it.
13478
d1e103b2
GM
134792000-02-23 Gerd Moellmann <gerd@gnu.org>
13480
723e779c
GM
13481 * data.c (Fstring_to_number): If number is greater than what
13482 fits into an integer, return a float.
13483
d1e103b2
GM
13484 * eval.c (specbind): Remove references to
13485 keyword_symbols_constant_flag.
13486
13487 * data.c (keyword_symbols_constant_flag): Removed.
13488 (Fmakunbound, set_internal, syms_of_data): Remove references to
13489 keyword_symbols_constant_flag.
13490
13491 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13492
214f877f
KH
134932000-02-23 Kenichi Handa <handa@etl.go.jp>
13494
13495 * syntax.c (multibyte_syntax_as_symbol): New variable.
13496 (syms_of_syntax): Declare it as a Lisp variable.
13497 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13498 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13499 nonzero, treat all multibyte characters as symbol.
52283633 13500 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13501
130adcb7
EZ
135022000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13503
3cb65b0e 13504 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13505 a deleted frame.
130adcb7 13506
17cbbf95
GM
135072000-02-21 Gerd Moellmann <gerd@gnu.org>
13508
13509 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13510
13511 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13512 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13513
beb0bc36
DL
135142000-02-21 Dave Love <fx@gnu.org>
13515
13516 * frame.c (Vmouse_position_function): New variable.
13517 (Fmouse_position): Use it.
13518 (syms_of_frame): Install it.
13519
13520 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13521
1d92afcd
GM
135222000-02-20 Gerd Moellmann <gerd@gnu.org>
13523
13524 * fileio.c (Finsert_file_contents): Unbind the binding of
13525 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13526
13527 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13528 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13529 (specbind, unbind_to): Handle most common case of non-constant
13530 symbol with trivial value specially.
13531
13532 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13533
18e21ce8 135342000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13535
13536 * data.c (Fmake_variable_buffer_local): Doc fix.
13537 Init found_for_buffer to 0.
13538 (Fmake_variable_frame_local): If the variable has already
13539 been buffer-local, set the check_frame field.
13540
1d4311c3
EZ
135412000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13542
13543 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13544 produced for CODING_MODE_LAST_BLOCK requires.
13545
2dc95ddd
DL
135462000-02-18 Dave Love <fx@gnu.org>
13547
13548 * keyboard.c (echo_keystrokes): Remove declaration.
13549 (Vecho_keystrokes) New variable.
13550 (read_char, record_menu_key, read_key_sequence): Use it to allow
13551 use of float value.
13552 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13553
13554 * lread.c: Undef feature selection macros before defining.
13555
f0930f35
GM
135562000-02-18 Gerd Moellmann <gerd@gnu.org>
13557
13558 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13559 for symbols other than the symbol in question.
13560
e3d4de90
DL
135612000-02-17 Dave Love <fx@gnu.org>
13562
13563 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13564
0b378936
GM
135652000-02-17 Gerd Moellmann <gerd@gnu.org>
13566
d621caf7
GM
13567 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13568
0b378936
GM
13569 * alloc.c (enum mem_type): Compile unconditionally.
13570
3b451f74
EZ
135712000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13572
13573 * xfaces.c (tty_defined_color): Don't return faulire indication
13574 for unspecified-fg and unspecified-bg pseudo-colors.
13575
10689a01
GM
135762000-02-17 Gerd Moellmann <gerd@gnu.org>
13577
1216f5e4
GM
13578 * alloc.c (mark_object): Don't mark symbol names in pure space.
13579 (gc_sweep): Don't unmark symbol names in pure space.
13580
13581 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13582 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13583 [GC_MARK_STACK]: New defines.
427ec082 13584 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13585 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13586
13587 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13588
13589 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13590 allocate_buffer instead of xmalloc.
13591
13592 * alloc.c (toplevel): Include setjmp.h.
13593 (PURE_POINTER_P): New define.
13594 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13595 (Vdead) [GC_MARK_STACK]: New variable.
13596 (lisp_malloc): Add parameter TYPE, call mem_insert if
13597 GC_MARK_STACK is defined.
13598 (allocate_buffer): New function.
427ec082 13599 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13600 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13601 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13602 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13603 (MEM_NIL) [GC_MARK_STACK]: New define.
13604 (struct mem_node) [GC_MARK_STACK]: New structure.
13605 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13606 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13607 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13608 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13609 (mark_stack) [GC_MARK_STACK]: New functions.
13610 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13611 (clear_marks): Removed.
13612 (gc_sweep): Set free conses' car, free floats' type, free
13613 symbols' function to Vdead. Use lisp_free to free buffers.
13614 (init_alloc_once): Initialize Vdead.
13615 (survives_gc_p): Return non-zero for pure objects.
13616
13617 * alloc.c: Add comments throughout the file.
13618
2503c8b1
GM
13619 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13620 that unblocks alarms.
13621
8389e1e2
GM
13622 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13623 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13624 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13625
10689a01 13626 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13627
bfc17d18
KH
136282000-02-17 Kenichi Handa <handa@etl.go.jp>
13629
4a09dee0
KH
13630 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13631 avoid infinite error signaling. Allocate sufficient memory for
13632 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13633
2b927d02
SM
136342000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13635
13636 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13637 depends on the previous behavior.
13638
b49cb764
GM
136392000-02-16 Gerd Moellmann <gerd@gnu.org>
13640
13641 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13642
99e95407
GM
136432000-02-15 Gerd Moellmann <gerd@gnu.org>
13644
13645 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13646
13647 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13648 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13649 write(2).
13650
6ffd3cf7
RS
136512000-02-15 Richard M. Stallman <rms@gnu.org>
13652
13653 * data.c (set_internal): Don't make variable buffer-local
13654 if within a let-binding for the same buffer.
13655 (let_shadows_buffer_binding_p): New function.
13656
13657 * eval.c (specbind): For buffer-local value,
13658 record the current buffer also.
13659 (unbind_to): Cope with that change.
13660
cad53475
GM
136612000-02-15 Gerd Moellmann <gerd@gnu.org>
13662
13663 * window.c (Fsave_window_excursion): Doc fix.
13664
1aa963c8
SM
136652000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13666
13667 * syntax.c (back_comment): Make sure we only consider comment-starters
13668 of the relevant style and return -1 in case of a failure to find the
13669 beginning of the comment.
13670 (Fforward_comment): If back_comment fails, go back to the position just
13671 after the comment-end.
13672 (scan_lists): Add comment describing a very minor bug.
13673
b9b84fd3
SM
136742000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13675
13676 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13677 `completion-regexp-list' in the docstring.
13678
3a28db80
DL
136792000-02-14 Dave Love <fx@gnu.org>
13680
13681 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13682
fb4a568d
SM
136832000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13684
13685 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13686 to Emacs' syntax. Also fix the comment about set/not-set meanings
13687 since Emacs syntax is not the value 0 any more.
13688 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13689 since it's now part of RE_SYNTAX_EMACS.
13690
1063ebb5
DL
136912000-02-12 Dave Love <fx@gnu.org>
13692
52283633 13693 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13694
fb07a302
GM
136952000-02-12 Gerd Moellmann <gerd@gnu.org>
13696
13697 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13698
aaf2320c
DL
136992000-02-12 Dave Love <fx@gnu.org>
13700
13701 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13702
13703 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13704 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13705 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13706
13707 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13708
13709 * s/nextstep.h: Don't define HAVE_ALLOCA.
13710
13711 * config.in: Add vfork bits.
13712
eedf8bde
GM
137132000-02-12 Gerd Moellmann <gerd@gnu.org>
13714
13715 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13716 unwind function to undo the effect of stopping atimers.
13717
52283633 13718 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13719
13720 * atimer.c (stopped_atimers): New variable.
13721 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13722 New functions.
13723
13724 * atimer.h (stop_other_atimers, run_all_atimers)
13725 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13726
eedf8bde
GM
13727 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13728
8476c2f8
KR
137292000-02-11 Ken Raeburn <raeburn@gnu.org>
13730
13731 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13732 library may depend on jpeg.
13733 (atimer.o): Depends on atimer.c.
13734
0e85e4a3
KH
137352000-02-11 Kenichi Handa <handa@etl.go.jp>
13736
13737 * insdel.c (del_range_1): Call update_compositions.
13738 (del_range_both): Call update_compositions just once..
13739
97fa0cc8
DL
137402000-02-10 Dave Love <fx@gnu.org>
13741
13742 * xfns.c (create_frame_xic): Fix initialization of automatic
13743 aggregates for pcc.
13744
25566a3c
KH
137452000-02-09 Kenichi Handa <handa@etl.go.jp>
13746
13747 * ccl.c (CCL_MAKE_CHAR): New macro.
13748 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13749 registers by CCL_MAKE_CHAR before calling translate_char.
13750 <CCL_TranslateCharacterConstTbl> Likewise.
13751
69da54ba
DL
137522000-02-08 Dave Love <fx@gnu.org>
13753
13754 * lread.c (__EXTENSIONS__): Define.
13755
f7136ee8
GM
137562000-02-08 Gerd Moellmann <gerd@gnu.org>
13757
13758 * puresize.h (BASE_PURESIZE): Increase to 650000.
13759
7768790b
EZ
137602000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13761
13762 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13763 the help message.
13764
38fd211b
EZ
137652000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13766
13767 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13768 md, mh, mb, mr, and me to the fake termcap entry.
13769
66e4690f
KR
137702000-02-06 Ken Raeburn <raeburn@gnu.org>
13771
13772 * sound.c (sound_cleanup): Don't call device close routine if the
13773 function pointer is null.
13774
a75dfea0
AI
137752000-02-06 Andrew Innes <andrewi@gnu.org>
13776
13777 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13778 around image definitions and prototypes.
13779 (gamma_correct) [WINDOWSNT]: New prototype.
13780
13781 * w32term.c (x_make_frame_visible): Replace call to
13782 input_poll_signal with poll_for_input.
13783
13784 * window.c [WINDOWSNT]: Include w32term.h.
13785
13786 * xdisp.c [WINDOWSNT]: Include w32term.h.
13787
13788 * makefile.nt: Add dependencies on w32gui.h.
13789 (OBJ1): Include atimer.obj.
13790 ($(BLD)\atimer.obj): New dependency rule.
13791
13792 * w32.c (sigmask): New function (does nothing).
13793 (sigunblock): Ditto.
13794
13795 * frame.c [WINDOWSNT]: Include w32term.h.
13796
13797 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13798
13799 * lread.c (syms_of_lread): Fix literal newlines.
13800
13801 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13802 the string constant limit (2048 bytes) in MSVC.
13803 (main): Ditto.
13804
59ddecde
GM
138052000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13806
52283633 13807 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13808 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13809 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13810 dispatch the event.
13811
07590973
DL
138122000-02-04 Dave Love <fx@gnu.org>
13813
13814 * fileio.c: Remove some unused vars.
13815 (_GNU_SOURCE): Define (for euidaccess).
13816
13817 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13818
13819 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13820 gcpro1, gcpro2.
13821 (read_minibuf): Deal with allow_props correctly.
13822
649351f9
EZ
138232000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13824
13825 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13826
66e4690f 138272000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13828
13829 * search.c (compile_pattern): If a cache entry has a nil regexp,
13830 fill in that entry instead of clobbering a previously cached
13831 string regexp.
13832
66e4690f 138332000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13834
13835 * puresize.h (BASE_PURESIZE): Increase to 610000.
13836
d240a249
GM
138372000-02-02 Gerd Moellmann <gerd@gnu.org>
13838
13839 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13840 can GC.
13841
ca91fb26
KH
138422000-02-02 Kenichi Handa <handa@etl.go.jp>
13843
25660570
KH
13844 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13845 instead of incrementing ic directly.
13846 <CCL_WriteExprConst> Likewise.
13847 <ccl_set_expr>: Set ic to jump_address.
13848
ca91fb26
KH
13849 * fileio.c (e_write): Fix the handling of
13850 CODING_FINISH_INSUFFICIENT_SRC.
13851
2ede9689
DL
138522000-02-01 Dave Love <fx@gnu.org>
13853
13854 * editfns.c (Fpropertize): Doc fix.
13855
13856 * process.c (Fstart_process): Doc fix.
13857
13858 * eval.c: Fix various doc strings not to duplicate information
13859 from help-manyarg-func-alist.
13860
52283633 13861 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13862
13863 * doc.c (Vhelp_manyarg_func_alist): New variable.
13864 (Fdocumentation): Use it.
13865 (syms_of_doc): Define it.
13866
b6680a0e
GM
138672000-01-31 Gerd Moellmann <gerd@gnu.org>
13868
2cb750ba
GM
13869 * xterm.c (xim_open_dpy): Remove unused local variable.
13870
52283633 13871 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13872
13873 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13874 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13875
b6680a0e
GM
13876 * fns.c (sweep_weak_table): New function.
13877 (sweep_weak_hash_tables): Use it. Keep on marking until there
13878 is no more change.
13879
994c5afe
GM
138802000-01-30 Gerd Moellmann <gerd@gnu.org>
13881
13882 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13883 that XTread_socket does not crash by trying to call XNoOp on a
13884 closed display.
427ec082 13885
f00276e3
JR
138862000-01-30 Jason Rumney <jasonr@gnu.org>
13887
13888 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13889 Change selected_frame to SELECTED_FRAME ().
13890 (w32_console_mouse_position): Remove #ifndef MULE from around
13891 `insist' parameter.
13892
13893 * makefile.nt: Remove dosfns.obj.
13894
13895 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13896
13897 * w32fns.c (w32_defined_color): Check for valid frame before
13898 applying gamma correction. Eliminate dependency on frame elsewhere.
13899 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13900 (w32_to_x_font): Use resx and resy not height_in and width_in.
13901 (x_to_w32_font): Doc fix.
13902 (xlfd_strip_height): New function to strip and return font height.
13903 (w32_font_match): Compare height separately from rest of xlfd
13904 spec, using xlfd_strip_height.
13905
13906 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13907 width_in. Use w32_defined_color in place of defined_color.
13908
13909 * w32faces.c: Merge more of DOS and X specifics in preparation for
13910 merge with xfaces.c.
13911 (defined_color): Remove FIXME comment.
13912 (tty_color_name): Provide w32-specific function.
13913 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13914
13915 * w32console.c (turn_on_face, turn_off_face): Removed.
13916 (w32_face_attributes): New function.
13917 (Global_variables): Reduce scope where possible.
13918 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13919 fill attribute.
13920 (hl_mode): Don't modify text attributes.
13921 (write_glyphs): Don't do anything if len <= 0. Use
13922 w32_face_attributes to get attributes for drawing. Write
13923 terminating codes using char_attr_normal.
13924 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13925 (update_begin, update_end): Likewise.
13926 (vga_stdcolor_name): New function.
13927 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13928 (Fset_screen_color): Remove char_attr_reverse.
13929
b08e8bb2
GM
139302000-01-29 Gerd Moellmann <gerd@gnu.org>
13931
13932 * xfns.c (xic_set_preeditarea): Take window parameter and
13933 window-relative pixel-positions.
13934
13935 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13936 is its frame's selected window.
13937 (xim_instantiate_callback): Likewise.
13938
13939 * xfns.c (x_create_im): Removed.
13940 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13941 (supported_xim_styles): Renamed from supported_styles.
13942 (best_xim_style): Renamed from best_style.
13943 (create_frame_xic): Renamed from xic_create_frame.
13944 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13945
b08e8bb2
GM
139462000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13947
13948 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13949 our frames, call XFilterEvent with 2nd parameter `None'.
13950 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13951 returning XBufferOverflow.
52283633 13952 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13953 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13954 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13955 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13956 (xim_initialize, xim_close)
13957 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13958 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13959 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13960 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13961
13962 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13963 and `xim_styles'.
13964 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13965 `xic_style' and `xic_xfs'.
13966 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13967 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13968 (FRAME_XIM): Removed.
13969
13970 * xfns.c (supported_styles): New variable.
13971 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13972 (xic_create_xfontset, best_style, xic_create_frame)
13973 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13974 (xic_set_xfontset): New functions.
13975
142e109c
DL
139762000-01-28 Dave Love <fx@gnu.org>
13977
13978 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13979
13980 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13981
b02786f9
GM
139822000-01-28 Gerd Moellmann <gerd@gnu.org>
13983
d060bc9f
GM
13984 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13985 for *scratch* if it already existed.
13986
b02786f9
GM
13987 * emacs.c (USAGE): New macro.
13988 (main): Use it to display usage information.
13989
2c52d7e4
EZ
139902000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13991
13992 Support for the menu-help feature:
13993
52283633 13994 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13995
13996 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13997 part of the line to the termscript file.
13998 (IT_clear_to_end): Clear the entire line, not just its beginning.
13999 (menu_help_message, prev_menu_help_message): New variables.
14000 (IT_menu_make_room): Make room for the help_text member.
14001 (IT_menu_display): New argument disp_help; all callers changed.
14002 If disp_help is non-zero, store the help text of the active menu
14003 item in menu_help_message.
14004 (XMenuAddPane): Initialize the help_text member to NULL.
14005 (XMenuAddSelection): New argument help_text. Store it in the
14006 XMenu structure.
14007 (XMenuActivate): New argument help_callback. If the value of
14008 menu_help_message has changed since the last time, display the
14009 menu help message text while waiting for the mouse to move. Clear
14010 the echo area before exiting.
14011 (XMenuDestroy): Free the help_text member.
14012
ffe0bcd1
GM
140132000-01-27 Gerd Moellmann <gerd@gnu.org>
14014
14015 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14016 XMenuAddSelection. Pass help callback to XMenuActivate.
14017 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14018
50dbd23f
EZ
140192000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14020
14021 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14022 and EMACS_SET_USECS.
14023
f5941bf8
GM
140242000-01-26 Dave Love <fx@gnu.org>
14025
6c67ddee
DL
14026 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14027
f5941bf8
GM
14028 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14029 an error may be signalled.
14030
9e49c990
GM
140312000-01-26 Gerd Moellmann <gerd@gnu.org>
14032
fc3cb460
GM
14033 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14034 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14035
9e49c990
GM
14036 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14037
d0c037d8
GM
140382000-01-25 Gerd Moellmann <gerd@gnu.org>
14039
14040 * charset.c (Fstring): If there is a multibyte char among
14041 the args, always return a multibyte string.
14042
e12489f9
GM
140432000-01-25 Gerd Moellmann <gerd@gnu.org>
14044
14045 * sysdep.c (sys_select): Turn atimers off and on instead of
14046 recording and restoring old alarm handler
14047
14048 * process.c (toplevel): Include atimer.h.
14049 (create_process_1): Rewritten.
14050 (create_process): Use atimers instead of alarm.
14051 (wait_reading_process_input) [hpux]: Turn atimers off instead
14052 of turning off SIGALRM.
14053 (wait_reading_process_input): Turn off atimers instead off
14054 calling stop_polling.
14055
14056 * emacs.c (main): Call init_atimer.
14057
14058 * keyboard.c (toplevel): Include systime.h and atimer.h.
14059 (polling_for_input): Removed because unused.
14060 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14061 (poll_timer): New variable.
14062 (poll_for_input, poll_for_input_1): New functions.
14063 (start_polling, stop_polling): Rewritten.
14064
14065 * keyboard.h (polling_for_input): Removed.
427ec082 14066
e12489f9
GM
14067 * atimer.h, atimer.c: New files.
14068
14069 * Makefile.in (obj): Add atimer.o.
14070 (atimer.o): New target.
14071
14072 * blockinput.h (pending_atimers): Add extern declaration.
14073 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14074
14075 * lisp.h (popup_activated_flag): Add extern declaration.
14076
14077 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14078 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14079 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14080
14081 * xterm.c (toplevel): Include atimer.h.
14082 (toolkit_scroll_bar_interaction): New variable.
14083 (Fxt_process_timeouts): Removed.
14084 (x_process_timeouts): New function.
14085 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14086 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14087 (x_make_frame_visible): Call poll_for_input_1 instead of
14088 input_poll_signal. Don't call alarm.
14089 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14090
1e5279b9
DL
140912000-01-24 Dave Love <fx@gnu.org>
14092
6c67ddee 14093 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14094 Don't use -cckr -- apparently not now necessary.
14095
edf6aeb8
EZ
140962000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14097
14098 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14099 screen boundary.
14100
9badad41
JR
141012000-01-23 Jason Rumney <jasonr@gnu.org>
14102
14103 * w32fns.c (w32_defined_color): Apply gamma correction before
14104 trying to map to the palette.
14105 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14106 to w32_clear_rect.
14107
14108 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14109 here. Callers changed to always pass real device context.
14110 (w32_draw_bitmap): Likewise.
14111 (w32_get_glyph_overhangs): Likewise.
52283633 14112 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14113 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14114 pfnSetScrollInfo and SetScrollRange.
14115 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14116 back into MULE characters after decoding them.
14117 (x_get_glyph_face_and_encoding): Likewise.
14118 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14119 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14120 (x_produce_glyphs): Calculate per char metrics for a character
14121 that we know exists in default font when font_not_found_p is true.
14122
63bd786b
JR
141232000-01-22 Jason Rumney <jasonr@gnu.org>
14124
14125 * makefile.nt (intervals.obj, composite.obj): New modules.
14126 (composite.h): Added as dependency where appropriate.
14127
14128 * w32gui.h (XGCValue): New struct for emulating X GCs.
14129
14130 * w32term.h (XCharStruct): New struct for emulating X.
14131
14132 * w32console.c (turn_on_face, turn_off_face): New functions.
14133 (change_line_highlight): New prototype for new redisplay.
14134 (write_glyphs): Support multibyte text. Support faces.
14135
52283633 14136 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14137
14138 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14139 throughout. struct frame * in place of FRAME_PTR.
14140 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14141 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14142 (w32_get_arg): Renamed from x_get_arg.
14143 (Fx_file_dialog): New function.
14144 (w32_list_fonts): Check cache before asking system.
14145 (Vw32_enable_synthesized_fonts): New variable.
14146 (Vw32_enable_italics): Obsolete, removed.
14147
14148 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14149 Use SELECTED_FRAME macro.
14150
14151 * w32menu.c: Add skeleton support for help strings on menus.
14152 (add_menu_item): Native checkbox and radio support added, but not
14153 yet enabled due to bugs.
14154 (push_menu_item): Add parameters type, selection and help.
14155 Callers updated.
14156 Formatting changes to reduce unnecessary diffs with xmenu.c.
14157
14158 * w32select.c (Fw32_set_clipboard_data): Update call to
14159 find_charset_in_str.
14160
14161 * w32term.c: Complete rewrite for new redisplay based on new
14162 xterm.c with necessary sections merged back in from old w32term.c.
14163
6ffd3cf7 141642000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14165
14166 * data.c (set_internal): Further fix in same criterion.
14167
6ffd3cf7 141682000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14169
14170 * data.c (set_internal): Fix the criteria for whether
14171 to swap out the old cached binding.
14172
60af03f1
DL
141732000-01-19 Dave Love <fx@gnu.org>
14174
14175 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14176
f9be074f
KH
141772000-01-18 Kenichi Handa <handa@etl.go.jp>
14178
14179 * regex.c (re_compile_fastmap): While checking a range table for
14180 `charset', skip flag bits for a character class correctly.
14181
52b8dbf9
GM
141822000-01-17 Gerd Moellmann <gerd@gnu.org>
14183
d36100c9
GM
14184 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14185
52283633 14186 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14187
14188 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14189 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14190
14191 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14192 MENU_ITEMS_ITEM_.*.
14193 (MENU_ITEMS_ITEM_HELP): New enumerator.
14194 (push_menu_item): Add parameter HELP. Record help in menu_items.
14195 (single_menu_item, single_submenu, list_of_items): Call
14196 push_menu_item with new parameter.
14197 (single_submenu): Set help string in widget value.
14198 (menu_highlight_callback): New function.
14199 (set_frame_menubar): Call lw_create_widget with new
14200 parameter list.
14201 (xmenu_show, xdialog_show): Ditto.
14202
3139018f
GM
142032000-01-13 Gerd Moellmann <gerd@gnu.org>
14204
14205 * sound.c (Fplay_sound): Improve doc string.
14206
83c8f461
RS
142072000-01-11 Richard M. Stallman <rms@gnu.org>
14208
14209 * lisp.h (set_internal): Enter the new arg.
14210
14211 * eval.c (specbind): Record buffer-local variables specially,
14212 indicating which buffer's binding was saved.
14213 (unbind_to): Restore buffer-local variables specially
14214 in the proper buffer.
14215
14216 * data.c (set_internal): New arg BUF.
427ec082 14217
83c8f461
RS
14218 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14219 * data.c (Fset): Pass new arg to set_internal.
14220 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14221
1fab1775
GM
142222000-01-11 Gerd Moellmann <gerd@gnu.org>
14223
52283633 14224 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14225
83c8f461 142262000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14227
14228 * minibuf.c (Ftry_completion): Doc fix.
14229
7a85e4df
GM
142302000-01-11 Gerd Moellmann <gerd@gnu.org>
14231
14232 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14233 vector, too.
14234
a970dae4
AS
142352000-01-11 Andreas Schwab <schwab@suse.de>
14236
14237 * coding.c (code_convert_region): Initialize total_skip.
14238
c65d14ee
DL
142392000-01-08 Dave Love <fx@gnu.org>
14240
14241 * eval.c (Fuser_variable_p): Check customizability too.
14242
834938d2
GM
142432000-01-07 Gerd Moellmann <gerd@gnu.org>
14244
14245 * minibuf.c (Fcompleting_read): Doc fix.
14246
e0303cd6
GM
142472000-01-05 Gerd Moellmann <gerd@gnu.org>
14248
8a26744b
GM
14249 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14250 -L /usr/local/lib.
14251
e0303cd6
GM
14252 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14253 Check that input style is supported before trying to create an
14254 IC for it.
14255 (x_window): Call x_create_im.
427ec082 14256
2e471eb5
GM
142572000-01-04 Gerd Moellmann <gerd@gnu.org>
14258
560a7bd2
GM
14259 * xfns.c (current_gif_memory_src): New variable.
14260 (gif_load): Record the address of the current memory source
14261 in current_gif_memory_src.
14262 (gif_read_from_memory): Use current_gif_memory_src.
14263
f9ee84a3
GM
14264 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14265 macros statement form.
14266
d1299cde
GM
14267 * sound.c (struct sound): Renamed from struct sound_file.
14268 (struct sound): Add members `data' and `header_size'.
14269 (enum sound_attr): Add SOUND_DATA.
14270 (current_sound, current_sound_device): Variables renamed from
14271 sound_file and sound_device.
14272 (parse_sound): Parse :data.
14273 (parse_sound): Handle sound data in strings.
14274 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14275 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14276 needed header size.
14277 (wav_play, au_play): Play sounds from string data.
14278
2e471eb5
GM
14279 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14280
14281 * lisp.h: Add prototype for allocate_string_data.
14282
52283633 14283 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14284
14285 * alloc.c (mark_buffer): Remove code in #if 0.
14286 (gc_sweep): Ditto.
14287 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14288 (strings_consed): New variable.
14289 (allocate_string): Set it.
14290 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14291 (Fmemory_use_counts): Return strings_consed. Use Flist.
14292
14293 * alloc.c: General cleanup in comments etc. Remove conditional
14294 compilation for `standalone'.
14295
14296 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14297
14298 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14299 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14300 (DONT_COPY_FLAG): Removed.
14301 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14302 (struct sdata, struct sblock): New
14303 (struct string_block): Rewritten.
14304 (STRINGS_IN_STRING_BLOCK): New macro.
14305 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14306 (large_sblocks, string_blocks, string_free_list): New variables.
14307 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14308 (init_strings): Rewritten.
14309 (allocate_string, allocate_string_data, compact_small_strings)
14310 (free_large_strings, sweep_strings): New functions.
14311 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14312 (struct string_block_head, current_string_block)
14313 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14314 (STRING_PAD): Removed.
14315 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14316 (Fgarbage_collect): Don't set mark bit in large strings.
14317 (mark_object): Mark strings differently. Mark symbol names
14318 differently.
14319 (survives_gc_p): Test marked strings differently.
427ec082 14320 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14321 symbol names.
14322 (compact_strings): Removed.
14323
42608ba8
EZ
143242000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14325
14326 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14327 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14328
e0a09e1a
KH
143292000-01-04 Kenichi Handa <handa@etl.go.jp>
14330
dd9f0750 14331 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14332 in a non-empty buffer.
dd9f0750 14333
3c0f3b15 14334 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14335
44cd3ae5
GM
143362000-01-03 Gerd Moellmann <gerd@gnu.org>
14337
14338 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14339 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14340
14341 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14342
c182a70f
EZ
143432000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14344
14345 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14346 need to test for MSDOS frames.
14347
24480d5b
EZ
143482000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14349
14350 * dosfns.c (unspecified_colors): Remove.
14351 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14352 unspecified_bg.
14353 (msdos_stdcolor_name): Return strings for unspecified fore- and
14354 back-ground colors.
14355
14356 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14357 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14358 (tty_color_name): Return Lisp strings for unspecified fore- and
14359 back-ground colors.
14360 (Finternal_set_lisp_face_attribute): Remove the special treatment
14361 for Qunspecified_{f,b}g.
52283633 14362 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14363
047f434a
GM
143642000-01-03 Gerd Moellmann <gerd@gnu.org>
14365
14366 * xdisp.c (reseat_at_next_visible_line_start): Position before
14367 newline only if ending up on a newline.
14368 (next_element_from_ellipsis): Return success. Handle case of
52283633 14369 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14370 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14371 returns 0.
14372
d684c676
EZ
143732000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14374
14375 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14376 (Fcolor_supported_p): Renamed from face-color-supported-p.
14377
5fe1d139
EZ
143782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14379
14380 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14381 list of colors renamed to tty-defined-color-alist.
14382 (tty_color_name): Pass the frame to tty-color-by-index.
14383 (realize_tty_face): tty-color-alist is now a function which
14384 accepts the frame as argument.
14385
52283633 14386 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14387
816be8b8
EZ
143882000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14389
14390 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14391 encode_terminal_code.
14392
b635321e
EZ
143932000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14394
14395 * dispnew.c (mode_line_string): Support termcap frames as well.
14396
9b784e96
GM
143972000-01-01 Gerd Moellmann <gerd@gnu.org>
14398
27189709
GM
14399 * syntax.c (Fforward_word): Undo previous change.
14400
14401 * editfns.c (Fconstrain_to_field): Don't constrain if
14402 inhibit-field-text-motion is non-nil.
14403 (Fline_beginning_position): Undo previous change.
14404 (Fline_end_position): Ditto.
14405
14406 * syntax.c (Fforward_word): Notice field boundaries only if
14407 inhibit-field-text-motion is nil.
14408
14409 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14410
14411 * editfns.c (Vinhibit_field_text_motion): New variable.
14412 (inhibit-field-text-motion): New DEFVAR_LISP.
14413 (Fline_beginning_position, Fline_end_position): Notice field
14414 boundaries only if inhibit-field-text-motion is nil.
14415
45158a91
GM
14416 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14417 All calls adjusted.
14418 (x_build_heuristic_mask): Likewise.
14419 (xbm_load_image_from_file): Change error output.
14420 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14421 (gif_load, gs_load, x_kill_gs_process): Ditto.
14422
9b784e96
GM
14423 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14424 color indices when accessing raster pixels.
63cec32f
GM
14425 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14426 one of :file or :data.
14427 (enum pbm_keyword_index): Add PBM_DATA.
14428 (pbm_format): Add :data.
14429 (pbm_image_p): Allow either :file or :data.
14430 (pbm_read_file): New function.
14431 (pbm_scan_number): Rewritten to read from string.
14432 (pbm_load): Support :data.
9b784e96 14433
2cb085db 14434See ChangeLog.8 for earlier changes.
6922b018
KH
14435
14436;; Local Variables:
49b3bd82 14437;; coding: iso-2022-7bit
6922b018 14438;; End:
2a34a036
GM
14439
14440 Copyright (C) 2001 Free Software Foundation, Inc.
14441 Copying and distribution of this file, with or without modification,
14442 are permitted provided the copyright notice and this notice are preserved.