Regenerated.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
077907d4
EZ
12001-11-16 Eli Zaretskii <eliz@gnu.org>
2
3 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
4 Required for ISC 4.1.
5
1756e2fb
EZ
62001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
7
8 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
9 Andrew Wiseman <a.wiseman@btclick.com>.
10
06e8f738
KS
112001-11-16 Kim F. Storm <storm@cua.dk>
12
13 The following changes are made to clean up the various internal
14 references to the fringes to actually use the term `fringe' for
15 them. Previously, they were called `flags areas', `bitmap areas',
16 `left/right side of windows', or implicitly as `flags' or
17 `bitmaps':
18
19 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
20 Comments fixed. Use renamed symbols.
21
22 * dispnew.c: Comment fix. Use renamed symbols.
23
24 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
25 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
26 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
27
28 * msdos.c: Comment fix.
29
30 * w32fns.c: Use renamed symbols.
31
32 * w32term.c: Comment fixes. Use renamed symbols.
33 (fringe_bitmap_type): Renamed from bitmap_type.
34 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
35 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
36 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
37
38 * w32term.h: Comment fixes. Use renamed symbols.
39 (fringes_extra): Renamed from flags_areas_extra.
40 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
41 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
42 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
43 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
44 (FRAME_X_LEFT_FRINGE_WIDTH): Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
45 (FRAME_X_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
46
47 * widget.c: Use renamed symbols.
48
49 * window.c: Comment fixes. Use renamed symbols.
50 (coordinates-in-window-p): Doc fix.
51
52 * xdisp.c: Comment fixes. Use renamed symbols.
53
54 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
55
56 * xfns.c: Use renamed symbols.
57
58 * xterm.c: Comment fixes. Use renamed symbols.
59 (fringe_bitmap_type): Renamed from bitmap_type.
60 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
61 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
62 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
63
64 * xterm.h: Comment fixes. Use renamed symbols.
65 (fringes_extra): Renamed from flags_areas_extra.
66 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
67 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
68 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
69 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
70 (FRAME_X_LEFT_FRINGE_WIDTH): Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
71 (FRAME_X_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
72
9ce647f4
JR
732001-11-15 Jason Rumney <jasonr@gnu.org>
74
75 * w32menu.c (add-menu-item): Make help_echo and radio buttons
76 work for most menu items. From David Ponce
77 <david.ponce@wanadoo.fr>.
78
9b784ab8
GM
792001-11-15 Gerd Moellmann <gerd@gnu.org>
80
9f7e52b4
GM
81 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
82 Some x_set_* function expect to be called even if old and new
83 value are equal.
84
85 * xdisp.c (build_desired_tool_bar_string): Accept zero
86 tool_bar_button_relief.
87
88 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
89
90 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
91
34e5d0af
GM
92 * xterm.c (x_draw_bar_cursor): If the background color of the
93 glyph under the cursor equals the frame's cursor color, use
94 the glyph's foreground color for drawing the bar cursor.
95
9b784ab8
GM
96 * dispnew.c (direct_output_forward_char): Fix character/byte
97 position comparison.
98
89512fcd
MB
992001-11-15 Miles Bader <miles@gnu.org>
100
101 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
102 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
103 Update arguments to find_field.
104 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
105 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
106 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
107 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
108
7d18891d
RS
1092001-11-14 Richard M. Stallman <rms@gnu.org>
110
d2936d21
RS
111 * editfns.c (Fpropertize): Allow call with 1 arg.
112
7d18891d
RS
113 * dispextern.h (image_background, image_background_transparent):
114 Conditionalize on HAVE_X_WINDOWS.
115
1162001-11-13 Richard M. Stallman <rms@gnu.org>
117
118 * print.c (Fprin1_to_string): Doc fix.
119
120 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
121
122 * floatfns.c (Fceiling, Ffloor): Doc fixes.
123
124 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
125
126 * fileio.c (Ffile_accessible_directory_p): Doc fix.
127
128 * eval.c (syms_of_eval): Doc fix.
129
130 * coding.c (syms_of_coding): Doc fix.
131
132 * doc.c (Fsnarf_documentation): Doc fix.
133
134 * dispnew.c (syms_of_display): Doc fix.
135
136 * category.c (Fget_unused_category): Doc fix.
137
138 * buffer.c (syms_of_buffer): Doc fixes.
139
9474c847
EZ
1402001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
141
142 * print.c (prin1, print): Doc fix.
143
e3059a5d
PJ
1442001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
145
146 * fontset.h: Remove prototypes for variables
147 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
148
149 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
150 `Vclip_large_size_font'.
151
b3700ae7
JR
1522001-11-13 Jason Rumney <jasonr@gnu.org>
153
154 * w32fns.c: Doc fix.
155
eae936e2
PJ
1562001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
157
4bb962be
PJ
158 * xfaces.c (Fface_attributes_as_vector): Doc fix.
159
0a332240
PJ
160 * w32fns.c (Fx_synchronize): Reindent.
161
ddb67bdc
PJ
162 * fns.c: Doc fix.
163
3467c402
PJ
164 * emacs.c: Doc fix.
165
166 * coding.c: Doc fix.
167
6e1b91d7
PJ
168 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
169 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
170 `new style' [w/`doc:' keyword].
171
f6e34773
PJ
172 * xmenu.c (x-popup-menu): Reindent.
173 (x-popup-dialog): Likewise.
174
c71f3632
PJ
175 * xfaces.c (Finternal_set_alternative_font_family_alist):
176 Reindent.
177
c2552f79
PJ
178 * xdisp.c (Fdump_tool_bar_row): Reindent.
179
94c7167b
PJ
180 * minibuf.c (Fminibuffer_complete_word): Reindent.
181 (Fminibuffer_complete_and_exit): Likewise.
182 (Fminibuffer_completion_help): Likewise.
183 (Fminibuffer_message): Likewise.
184
462a5e3a
PJ
185 * fns.c (Freverse): Reindent.
186
b8de5714
PJ
187 * eval.c (Fif): Reindent.
188 (Fand): Likewise.
189
deb8e082
PJ
190 * editfns.c (Fuser_real_login_name): Reindent.
191 (Finsert_buffer_substring): Likewise.
192 (Fcompare_buffer_substrings): Likewise.
193 (Fsubst_char_in_region): Likewise.
194
bacf09b4
PJ
195 * dispnew.c (Fsit_for): Reindent.
196 (Fframe_or_buffer_changed_p): Likewise.
197 (Finternal_show_cursor_p): Likewise.
198 (syms_of_display): Likewise.
199
eae936e2
PJ
200 * alloc.c (Flist): Reindent.
201 (Fvector): Likewise.
202
1c1d3d69
RS
2032001-11-12 Richard M. Stallman <rms@gnu.org>
204
205 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
206 LeaveNotify events. Only FocusIn and FocusOut do that now.
207 (x_display_and_set_cursor): Do display hollow cursors in active
208 minibuffer windows when they are not selected.
209
b6f4c7ba
JR
2102001-11-12 Jason Rumney <jasonr@gnu.org>
211
212 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
213 * w32term.c: Change doc-string comments to `new style'.
214 [w/`doc:' keyword]. Doc fixes.
215
216 * w32fns.c: Don't define max.
217 (Fx_open_connection): Only execute once.
218
a89f435d
PJ
2192001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
220
221 * ccl.c: Change macros to use do-while block instead of if-else.
222 Use braces to follow GNU Coding Standards.
223
a4cd0cd7
RS
2242001-11-11 Richard M. Stallman <rms@gnu.org>
225
eafb659a
RS
226 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
227
228 * lread.c (read_escape): Use end_of_file_error for reporting eof.
229
a4cd0cd7
RS
230 * insdel.c (replace_range): Use adjust_markers_for_replace
231 instead of adjust_markers_for_delete and adjust_markers_for_insert.
232
233 * intervals.h: Declare set_text_properties and set_text_properties_1.
234
235 * textprop.c (set_text_properties_1): New subroutine
236 broken out of set_text_properties.
237 (set_text_properties): Use set_text_properties_1.
238
239 * intervals.c (graft_intervals_into_buffer):
240 Use set_text_properties_1 to clear out properties.
241
242 * search.c (Freplace_match): Use replace_range to insert
243 and delete. Don't request property inheritance from
244 surrounding text.
245
91823618
JR
2462001-11-10 Jason Rumney <jasonr@gnu.org>
247
248 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
249 vertical fonts. Allow them if face name is explicitly specified.
250 Do not give up if we find a font that cannot be converted to an
251 xlfd.
252
86928dfb
GM
2532001-11-10 Gerd Moellmann <gerd@gnu.org>
254
255 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
256 instead of malloc/free.
257
40ef1eda
PJ
2582001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
259
ab8469eb
PJ
260 * xfaces.c (merge_face_vectors): Use braces to follow GNU
261 Coding Standards.
262 (Finternal_set_lisp_face_attribute): Likewise.
263
a78e0303
PJ
264 * buffer.c (Fbury_buffer): Likewise.
265
40ef1eda
PJ
266 * indent.c (current_column_1): Remove unused variable `prev_col'.
267
fabf4a91
PJ
268 * coding.c (encode_coding): Use precomputed value of `src'.
269 (encode_coding): Remove unused variable `src_end'.
270 (code_convert_region): Remove unused variables `count'.
271
0c99b139
JR
2722001-11-07 Jason Rumney <jasonr@gnu.org>
273
274 * w32term.c (x_display_and_set_cursor): Do not move system caret
275 if cursor_glyph is NULL.
276
830ddd77
PJ
2772001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
278
279 * keymap.c (access_keymap): Fix compilation error.
280
55c6d645
MB
2812001-11-07 Miles Bader <miles@gnu.org>
282
283 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
284
5de38842
PJ
2852001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
286
7a4564a4
PJ
287 * intervals.c (graft_intervals_into_buffer):
288 Remove #ifdef'd-out code.
289 (graft_intervals_into_buffer): Remove unused variable `middle'.
290
5de38842
PJ
291 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
292 code (eval-current-buffer).
293 Change doc-string comments to `new style' [w/`doc:' keyword].
294
4fa23df5
RS
2952001-11-06 Richard M. Stallman <rms@gnu.org>
296
297 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
298
7a6a97d7
SM
2992001-11-06 Stefan Monnier <monnier@cs.yale.edu>
300
c191d13c
SM
301 * lread.c (read1): Fix behavior with nested backquoting.
302
7a6a97d7
SM
303 * keyboard.c (make_lispy_event): Check integerness and fix
304 Lisp_Object/int mixup.
305
44dc78e0
PJ
3062001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
307
308 * fns.c (copy_hash_table): Remove unused variable `v'.
309
17893c65
PJ
310 * fontset.c (fontset_font_pattern): Remove unused variable
311 `family_registry'.
312
4d994a79
PJ
313 * indent.c (current_column_1): Remove unused variable `prev_col'.
314
d5360cc7
RS
3152001-11-05 Richard M. Stallman <rms@gnu.org>
316
317 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
318
319 * buffer.c (Fkill_buffer): Don't delete auto save file
320 if buffer is modified.
321
96238a5a
AI
3222001-11-05 Andrew Innes <andrewi@gnu.org>
323
324 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
325 CHECK_NUMBER_CDR.
326
d9d54213
RS
3272001-11-05 Richard M. Stallman <rms@gnu.org>
328
329 * unexelf.c (unexec): Minor changes; clean up comments.
330
b116830b
SS
3312001-11-05 Sam Steingold <sds@gnu.org>
332
333 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
334
3297e2a1
AS
3352001-11-05 Andreas Schwab <schwab@suse.de>
336
337 * sound.c (sound_perror): Save errno from being clobbered.
338
9212319f 3392001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
340
341 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
342 the program image directly.
343
7dd73b78
PJ
3442001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
345
346 * buffer.h (Fbuffer_local_value): Add prototype.
347
982f6c7e
RS
3482001-11-04 Richard M. Stallman <rms@gnu.org>
349
d31053f9
RS
350 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
351 and CHECK_BUFFER.
352
353 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
354 (record_char): Likewise.
355
356 * keyboard.c (make_lispy_event): Don't insist a drag event must
357 move to a different buffer position. Instead, check for moving at
358 least double_click_fuzz.
359
360 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
361
362 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
363
982f6c7e
RS
364 * indent.c (current_column_1, Fmove_to_column): Separate the code
365 for display-table glyphs from the code buffer text, to fix
366 bugs in the former.
367
830047fd
RS
3682001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
369
370 * buffer.c (Fbuffer_local_value): New function.
c191d13c 371 (syms_of_buffer): Defsubr it.
b116830b 372
830047fd
RS
373 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
374 value of `cursor-in-non-selected-windows'.
375
376 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
377 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
378 (syms_of_xdisp): Initialize it.
b116830b 379
2df5238c
PJ
3802001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
381
4e397688
PJ
382 * xfns.c (Fx_create_frame): Doc fix.
383
48b0f3ae
PJ
384 * coding.c: Change doc-string comments to `new style' [w/`doc:'
385 keyword].
386
2df5238c
PJ
387 * eval.c (top_level_value, top_level_set): Remove commented and
388 #ifdef'd-out code.
389 (Fdefvar): Fix usage in doc-string.
390
3ecaf7e5
RS
3912001-11-03 Richard M. Stallman <rms@gnu.org>
392
393 * xfns.c: Include unistd.h, if it exists.
394
395 * editfns.c: Move the include of ctype.h after unistd.h.
396
397 * gmalloc.c: Test BROKEN_PROTOTYPES.
398
8db2e33b
KR
3992001-11-03 Ken Raeburn <raeburn@gnu.org>
400
401 * lisp.h (CHECK_STRING_CAR): New macro.
402 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
403 treating XCAR and XCDR as lvalues.
404 (openp): Use CHECK_STRING_CAR.
405 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
406
aed29b97
EZ
4072001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
408
409 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 410 (SIGMASKTYPE): Define.
aed29b97
EZ
411
412 * syssignal.h (sigunblock): Don't define if already defined.
413
6cb16f95
PJ
4142001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
415
16b45be4
EZ
416 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
417 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
418 Fix typos in comments.
419
020f9b38
PJ
420 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
421 and #ifdef'd-out code.
422 Fix and reindent comments.
423
c191d13c 424 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 425
6cb16f95
PJ
426 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
427 argument `i' in macros.
428
429 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
430 `i' in macros.
431
16b45be4
EZ
432 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
433 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
434 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
435 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
436 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
437 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
438 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
439 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
440 in macros.
441
442 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
443 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
444 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
445 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
446 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
447 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
448 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
449 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
450 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
451 (remove unused second argument).
452
7e9d3c2f
SM
4532001-11-02 Stefan Monnier <monnier@cs.yale.edu>
454
455 * syntax.c (describe_syntax): New wrapper.
456 (Finternal_describe_syntax_value): Rename from describe_syntax.
457 Don't insert space at front and \n at the end.
458 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
459
460 * regex.c (re_wctype): Try to fix some warnings.
461 (regcomp, regexec): Don't forget the __restrict.
462
e6bff182
RS
4632001-11-02 Richard M. Stallman <rms@gnu.org>
464
465 * textprop.c (Fget_char_property): Doc fix.
466
9ba48103
PJ
4672001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
468
469 * process.c (Fstart_process): Add usage to doc-string.
470
471 * data.c (Fsetq_default): Ditto.
472
473 * callint.c (Finteractive): Ditto.
474
c22e59e1
SM
4752001-11-01 Stefan Monnier <monnier@cs.yale.edu>
476
477 * macros.c: Don't include keymap.h any more.
478
9271ed2c
RS
4792001-11-01 Richard M. Stallman <rms@gnu.org>
480
e6bff182
RS
481 * data.c (Fmake_local_variable): Doc fix.
482
483 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
484 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
485
9271ed2c
RS
486 * keymap.c (Fdescribe_buffer_bindings): Print character property
487 bindings along with or instead of the buffer local map.
488 Make the overriding maps override what they should.
489
8b8bd9c6
PJ
4902001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
491
492 * window.c (grow_mini_window): Fix typo in comment.
493
27188d11
GM
4942001-11-01 Gerd Moellmann <gerd@gnu.org>
495
7b49b9d2
GM
496 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
497 (XTset_vertical_scroll_bar): Likewise.
498
43f7c3ea
GM
499 * xfns.c (x_build_heuristic_mask): Use four_corners_best
500 instead of IMAGE_BACKGROUND.
c22e59e1 501
b350c2e5
GM
502 * xfns.c (four_corners_best): Reindent.
503
c22e59e1 504 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
505 Handle :box so that it is possible to specify sexprs.
506
d576358b
PJ
5072001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
508
509 * xfaces.c (Finternal_merge_in_global_face): Reindent.
510 (Fface_font): Ditto.
511 (Finternal_set_alternative_font_registry_alist): Ditto.
512 (Ftty_suppress_bold_inverse_default_colors): Ditto.
513
514 * xfns.c (x-get-resource): Reindent.
515
bf00d461
EZ
5162001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
517
518 * s/hpux11.h: New file.
519
4e10df59
PJ
5202001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
521
2b209b97
PJ
522 * emacs.c (USAGE1): Show command line option --no-window-system
523 instead of --no-windows in usage.
524 (standard_args): Rename --no-windows to --no-window-system.
525 (bug_reporting_address): Follow Emacs coding conventions.
526
9dbc9081
PJ
527 * eval.c (Fcommandp): Doc fix.
528 Change doc-string comments to `new style' [w/`doc:' keyword].
529
4e10df59
PJ
530 * frame.c (Fframe_live_p): Doc fix.
531
532 * buffer.c (selective-display-ellipses): Doc fix.
533
dd387b25
GM
5342001-10-31 Gerd Moellmann <gerd@gnu.org>
535
fe957e65
GM
536 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
537
dd387b25
GM
538 * xfaces.c (realize_x_face): If C is not a single-byte character,
539 set the face's colors_copied_bitwise_p instead of the defaulted_p
540 members which have a different meaning.
541 (free_face_colors): Do nothing for a face whose colors have been
542 copied bitwise.
543
c22e59e1 544 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 545
2e1280f8
PJ
5462001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
547
687784e8
PJ
548 * marker.c, mocklisp.c: Change doc-string comments to `new style'
549 [w/`doc:' keyword].
2e1280f8 550
b9d9a9b9
GM
5512001-10-31 Gerd Moellmann <gerd@gnu.org>
552
553 * fns.c (require_unwind): Return Lisp_Object.
554
48400103
PJ
5552001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
556
fa1361cb
PJ
557 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
558 (last-input-char): Revert doc-string to be the same as the
559 doc-string of `last-input-event'.
560
48400103
PJ
561 * xdisp.c: Fix typos in comments.
562
eafa3196
GM
5632001-10-31 Gerd Moellmann <gerd@gnu.org>
564
565 * window.c (grow_mini_window): Handle case that the root
566 window is already smaller than the nominal mininum height.
567
747d3f2a
SM
5682001-10-30 Stefan Monnier <monnier@cs.yale.edu>
569
bf9bb76f
SM
570 * emacs.c (main): Don't call keys_of_macros any more.
571
572 * lisp.h (keys_of_macros): Remove.
573
574 * macros.c (keys_of_macros): Remove.
575
747d3f2a
SM
576 * xfaces.c (Fface_attribute_relative_p): Declare args.
577
5e905a57
JR
5782001-10-30 Jason Rumney <jasonr@gnu.org>
579
580 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
581 (enum_font_cb2): Ignore fonts with vertical orientation.
582
3a426197
RS
5832001-10-30 Richard M. Stallman <rms@gnu.org>
584
585 * keyboard.c (Finput_pending_p): Doc fix.
586
a742d646
GM
5872001-10-30 Gerd Moellmann <gerd@gnu.org>
588
259cf6bc
GM
589 * xterm.c (x_after_update_window_line): Don't run the code
590 clearing in borders for rows whose visible height is 0.
591
3f99f948
GM
592 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
593 resized_p flag is set. If not set, use the much less flickering
594 method previously used.
595
596 * dispnew.c (change_frame_size_1): Set frame's resized_p.
597
598 * frame.h (struct frame) <resized_p>: New member.
599
b4a3be43
GM
600 * lread.c (to_multibyte): Ensure read_buffer is at least twice
601 as large as the number of bytes to convert.
747d3f2a 602
a742d646
GM
603 * lread.c (to_multibyte): New function.
604 (read1): Use it.
605
cacbb9e9
EZ
6062001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
607
608 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
609
99cb6b2f
GM
6102001-10-30 Gerd Moellmann <gerd@gnu.org>
611
327f42ee 612 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
613 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
614 if the row's fill_line_p is set and drawing the last glyph with
615 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 616
99cb6b2f
GM
617 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
618
8e8223e2
SM
6192001-10-29 Stefan Monnier <monnier@cs.yale.edu>
620
621 * xmenu.c: Include coding.h and charset.h.
622 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
623 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
624 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
625 Explicitly set wv->help. Use `TRUE' rather than `True'.
626 (menu_help_callback): Use empty_string.
627
628 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
629 (Fx_popup_dialog): Explicitly init f.
630 (w32_menu_display_help): Use empty_string.
631
4d083a8f
RS
6322001-10-29 Richard M. Stallman <rms@gnu.org>
633
b2304472
RS
634 * fns.c (Frequire): Detect recursive try to require the same
635 feature 3 or more levels deep, and get error.
636 (require_unwind): New subroutine.
637 (require_nesting_list): New variable.
638 (syms_of_fns): Init and staticpro it.
639
4d083a8f
RS
640 * print.c (print_object): Clarify indication of insertion type.
641
2fe41216
EZ
6422001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
643
90480000
EZ
644 * coding.c (syms_of_coding): Document that locale-coding-system is
645 used for decoding input on X.
646
2fe41216
EZ
647 * window.c (Fscroll_left, Fscroll_right): Doc fix.
648
74e79967
PJ
6492001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
650
651 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
652 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
653
60ebcfe8
GM
6542001-10-29 Gerd Moellmann <gerd@gnu.org>
655
9a7bdceb
GM
656 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
657 use NO_CURSOR if cursor_in_non_selected_windows is false.
658
3f08fcd2
GM
659 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
660 the slant attribute if FRAME is t.
661
0ccfdad2
GM
662 * xfns.c (x_set_internal_border_width): Set frame garbaged
663 when X window doesn't exist yet.
664
ef253080
GM
665 * xterm.c (x_after_update_window_line): Clear internal border
666 in different circumstances.
b116830b 667
60ebcfe8
GM
668 * xterm.c (XTread_socket) <KeyPress>: Don't use
669 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
670 <handa@etl.go.jp>.
671
73d25f9c
EZ
6722001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
673
674 * m/ibms390.h: New file. From Adam Thornton
675 <athornton@sinenomine.net>.
676
cac1daf0
GM
6772001-10-28 Gerd Moellmann <gerd@gnu.org>
678
053b3256 679 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 680
cac1daf0
GM
681 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
682 a loop counter.
683
13b1a09c
PJ
6842001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
685
186486eb
PJ
686 * emacs.c: Use argv[0] instead of emacs when -t was specified.
687
4707d2d0
PJ
688 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
689 keyword].
690 Fix typos in comments.
b116830b 691
d883731c
PJ
692 * emacs.c (bug_reporting_address): New function.
693 Use it when displaying usage message.
694
04012254
PJ
695 * minibuf.c (read_minibuf): Remove unused external declaration of
696 variable `Qread_only'.
697
13b1a09c
PJ
698 * keymap.c (access_keymap): Remove unused variable `charset'.
699
5bbf4378
MB
7002001-10-28 Miles Bader <miles@gnu.org>
701
702 * xfaces.c (merge_face_heights): Handle TO being relative as well.
703 Remove #ifdef'd-out code.
704 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
705 (syms_of_xfaces): Initialize them.
706
1ce1e4ee
JR
7072001-10-27 Jason Rumney <jasonr@gnu.org>
708
709 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
710 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
711 position using the system caret.
712
713 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
714 (w32_system_caret_height, w32_system_caret_x)
715 (w32_system_caret_y): New variables for tracking system caret.
716 (w32_initialize): Initialize them.
c2d53558 717 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 718
c2d53558
SM
719 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
720 New messages types.
1ce1e4ee
JR
721
722 * w32term.c (note_mouse_highlight): Clear old help_echo.
723
4e30ce42
PJ
7242001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
725
bb4600a4
PJ
726 * xterm.c: Fix typo in a comment.
727
7db35a48
PJ
728 * emacs.c: Fix typos in comments.
729 Remove unnecessary spaces.
730 Change doc-string comments to `new style' [w/`doc:' keyword].
731 (USAGE2): Fix typos in usage string.
732
a7248e4f
PJ
733 * xterm.c: Fix typo in a comment.
734
4e30ce42
PJ
735 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
736 emacs.c.
737
62725a92
GM
7382001-10-27 Gerd Moellmann <gerd@gnu.org>
739
798dbe1f 740 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 741 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
742 farther backward when target_y was not reached.
743
62725a92
GM
744 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
745 Display errno only if non-zero.
746 (sound_warning): New function.
747 (vox_configure): Don't treat failing to set sample rate as error.
748 (various places): Improve error messages.
749
d4e34d24
EZ
7502001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
751
944e6f60
EZ
752 * fileio.c (Faccess_file): Run the argument filename through
753 Fexpand_file_name, before using it.
754
d4e34d24
EZ
755 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
756 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
757
38d2af0c
GM
7582001-10-26 Gerd Moellmann <gerd@gnu.org>
759
da80a8d5
GM
760 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
761
38d2af0c
GM
762 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
763 Fix clearing in the case of scroll bars on the right.
c2d53558 764
56f508dd
EZ
7652001-10-26 Juanma Barranquero <lektu@terra.es>
766
767 * w32gui.h (XImage): Add a dummy typedef.
768
fbd5ceb2
GM
7692001-10-26 Gerd Moellmann <gerd@gnu.org>
770
c2d53558 771 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 772
b23236fb
EZ
7732001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
774
775 * frame.c (Fframe_parameter): Fix last change.
776
5d991fc4
EZ
777 * fileio.c: Revert last change (which removed old commented-out
778 version of expand-file-name). Add a comment that explains why
779 this old version should not be removed.
780
879eadc3
GM
7812001-10-25 Gerd Moellmann <gerd@gnu.org>
782
75700ff2
GM
783 * frame.c (Fframe_parameter): Fix a bug whereby some
784 ``artificial'' frame parameters, like `minibuffer' were not
785 obtained by calling Fframe_parameters.
786
dfe92a6a
GM
787 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
788 cursor differently.
789
879eadc3
GM
790 * xdisp.c (move_it_vertically_backward): Compute line height
791 differently. Add heuristic to try to be more compatible to 20.x.
792
e1010ebe
SM
7932001-10-25 Stefan Monnier <monnier@cs.yale.edu>
794
d73a471b
SM
795 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
796
d6da5a06
GM
797 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
798 boolean.
e1010ebe 799
f66bd220
MB
8002001-10-25 Miles Bader <miles@gnu.org>
801
802 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
803 BG is a pointer to a structure, not a structure.
804 (gif_format, png_format): Add missing commas.
805
d436d538
RS
8062001-10-24 Richard M. Stallman <rms@gnu.org>
807
808 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 809 (syms_of_xfaces): Defsubr it.
d436d538 810
075c507b
PJ
8112001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
812
813 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
814 variable `area'.
815
d492b584
PJ
8162001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
817
c2d53558 818 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 819
e2a57b34
MB
8202001-10-25 Miles Bader <miles@gnu.org>
821
822 * dispextern.h (struct image): Add `background',
823 `background_valid', and `background_transparent' fields.
824 (image_background, image_background_transparent): New declarations.
825 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
826 * xfns.c (image_background, image_background_transparent)
827 (four_corners_best): New functions.
c2d53558 828 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
829 (gs_format): Add `:background' entry.
830 (lookup_image): Set IMG's background color if specified.
831 (pbm_load, xbm_load_image, png_load): Set IMG's background field
832 when appropriate.
833 (x_clear_image_1): Reset `background_valid' and
834 `background_transparent_valid' fields.
835 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
836 calculating it here. Set IMG's background_transparent field.
837 (enum xpm_keyword_index): Add XPM_BACKGROUND.
838 (enum png_keyword_index): Add PNG_BACKGROUND.
839 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
840 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
841 (enum gif_keyword_index): Add GIF_BACKGROUND.
842 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 843 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
844 Pre-calculate image background color where necessary.
845 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
846 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
847 color to use for image glyph reliefs.
848
b547b6e8
GM
8492001-10-24 Gerd Moellmann <gerd@gnu.org>
850
d9e3b8c6
GM
851 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
852 in full-width rows.
c2d53558 853
b547b6e8
GM
854 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
855 Fix clearing of area not covered by scroll bar.
856
2beb36f9
PJ
8572001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
858
859 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
860 and `real_start'.
c2d53558 861 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
862 (glyph_rect): Remove unused variable `area'.
863
76cb5e06
GM
8642001-10-24 Gerd Moellmann <gerd@gnu.org>
865
bdbdebff 866 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
867
868 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
869 (row_containing_pos): Take additional argument DY.
870 Treat rows ending in middle of char differently.
62e33982
GM
871 (display_line): Handle tabs on window systems differently.
872
873 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
874 with additional argument.
875
876 * dispextern.h (row_containing_pos): Adjust prototype.
877
76cb5e06
GM
878 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
879 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
880 (try_window_id, try_window_reusing_current_matrix)
881 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
882 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
883
996fee11
PJ
8842001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
885
c9e60620
PJ
886 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
887 gnuemacs).
888 (HAVE_BOXES): Fix typo in comment.
889 (push_menu_pane): Fix typo in comment.
890
3b552d56
PJ
891 * xdisp.c: (display_prop_string_p): Remove unused local declaration
892 of `Qwhen'.
893 (single_display_prop_string_p): Remove unused local declarations
894 of `Qwhen' and `Qmargin'.
895 (string_buffer_position): Remove unused variable `around'.
896 (store_frame_title): Remove unused variable `width'.
897
15c565ac
PJ
898 * window.c: Don't define max.
899 (coordinates_in_window): Remove unused variable `uy'.
900
a8818eb9
PJ
901 * widget.c: Don't define max.
902
996fee11
PJ
903 * process.c: Don't define max.
904 (create_process): Remove unused variable `buffer'.
905
496e1a5b
GM
9062001-10-23 Gerd Moellmann <gerd@gnu.org>
907
c2d53558 908 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 909
5905ae8b
EZ
9102001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
911
912 * xfaces.c (Finternal_set_lisp_face_attribute)
913 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
914 frame is on a windowed display.
915
24db49fb
GM
9162001-10-23 Gerd Moellmann <gerd@gnu.org>
917
c2d53558
SM
918 * dispnew.c (sync_window_with_frame_matrix_rows):
919 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
920 of marginal areas.
921
c2d53558 922 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 923
f0487f05
EZ
9242001-10-23 Andreas Schwab <schwab@suse.de>
925
926 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
927 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
928
f0a48a01
GM
9292001-10-23 Gerd Moellmann <gerd@gnu.org>
930
c2d53558 931 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
932 REAL_END. Notice if cursor gets overwritten.
933 (notice_overwritten_cursor): Take X positions as parameters.
934 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
935 around call to x_draw_glyphs.
936
a50a10a0
PJ
9372001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
938
fc11dff0
PJ
939 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
940 instead of C) and usage.
a50a10a0 941
fc11dff0
PJ
942 * editfns.c (char-to-string): Fix argument names (use CHAR instead
943 of C) and usage.
a50a10a0
PJ
944
945 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
946 `left', `max_width' and `max_height'.
947
8738febd
GM
9482001-10-23 Gerd Moellmann <gerd@gnu.org>
949
950 * xdisp.c (display_line): For a tab continued to the next line,
951 set row's ends_in_middle_of_char_p.
952
653c329b
GM
9532001-10-22 Gerd Moellmann <gerd@gnu.org>
954
955 * xdisp.c (display_line): Fix computation of continuation lines
956 width for TABs.
957
f958c5ac
PJ
9582001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
959
7ba51063
PJ
960 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
961 `Qlaplace'.
962
f958c5ac
PJ
963 * fileio.c: Remove unused code.
964
eb360291
MB
9652001-10-22 Miles Bader <miles@gnu.org>
966
967 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
968 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
969 Remove `DOC_STRINGS_IN_COMMENTS' cases.
970
98515cf0
JR
9712001-10-21 Jason Rumney <jasonr@gnu.org>
972
973 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
974
93026d88
EZ
9752001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
976
977 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
978 (Finsert_string): Avoid the multi-line string literals warning.
979
c9a95b79
MB
9802001-10-22 Miles Bader <miles@gnu.org>
981
982 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
983 (Fdocumentation): Don't use it.
984 (syms_of_doc): Don't initialize it.
985
986 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
987 * print.c (Fwith_output_to_temp_buffer): Likewise.
988 * window.c (Fsave_window_excursion): Likewise.
c2d53558 989 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 990 (Fsave_restriction): Likewise.
c2d53558
SM
991 * eval.c (Frun_hooks, Frun_hook_with_args)
992 (Frun_hook_with_args_until_failure)
993 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
994 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
995 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
996 (Funwind_protect, Fcondition_case): Likewise.
997 * coding.c (Ffind_operation_coding_system): Likewise.
998 * keyboard.c (Ftrack_mouse): Likewise.
999
a3b10252
MB
10002001-10-21 Miles Bader <miles@gnu.org>
1001
c2d53558 1002 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1003 (Fmake_hash_table): Add usage: string to doc string.
1004 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1005 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1006 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1007 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1008 (Fml_prefix_argument_loop): Likewise.
1009
c6f73eec
PJ
10102001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1011
c2d53558 1012 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1013
c6f73eec
PJ
1014 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1015 style' [w/`doc:' keyword].
1016
1017 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1018 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1019 comments to `new style' [w/`doc:' keyword].
1020
3cf3436e
JR
10212001-10-21 Jason Rumney <jasonr@gnu.org>
1022
1023 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1024
c169b8f1
JR
1025 * w32term.c (remember_mouse_glyph): New function.
1026 (w32_mouse_position): Use it.
1027 (note_mouse_movement): If the mouse moved off the glyph, remember
1028 its new position.
c2d53558 1029
4fdd691b
JR
1030 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1031 (w32_display_info): Add mouse_face_overlay.
1032
c169b8f1
JR
1033 * w32term.c (notice_overwritten_cursor): Renamed from
1034 note_overwritten_text_cursor. Rewritten to take glyph widths into
1035 account.
1036 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1037 (fast_find_string_pos): New function.
1038 (fast_find_position): Return the correct vpos. Add parameter
1039 STOP. In the final row, stop before glyphs having STOP as object.
1040 Don't consider glyphs that are not from a buffer.
1041 (fast_find_position) [0]: Add a presumably more correct version
1042 for after 21.1.
1043 (expose_window_tree, expose_frame): Don't compute intersections here.
1044 (expose_window): Do it here instead.
1045 (expose_window_tree, expose_window, expose_line): Return 1 when
1046 overwriting mouse-face.
1047 (expose_window): If W is the window currently being updated, mark
1048 the frame garbaged.
1049 (expose_frame): If mouse-face was overwritten, redo it.
1050 (x_use_underline_position_properties): New variable.
1051 (syms_of_xterm): DEFVAR_BOOL it.
1052 (x_draw_glyph_string): Add comment to use it in future.
1053 (x_draw_glyph_string): Restore clipping after drawing box.
1054 Fix a computation of the underline position.
1055 (w32_get_glyph_string_clip_rect): Minor cleanup.
1056 (x_fill_stretch_glyph_string): Remove an assertion.
1057 (x_produce_glyphs): Don't convert multibyte characters
1058 to unibyte characters in unibyte buffers.
1059 (cursor_in_mouse_face_p): New function.
1060 (x_draw_stretch_glyph_string): Use it to choose a different GC
1061 when drawing a cursor within highlighted text. Don't draw
1062 background again if it has already been drawn.
1063 (x_draw_glyph_string_box): Don't draw a full-width
1064 box just because the glyph row's full_width_p flag is set.
1065 (x_draw_glyphs): Fix computation of rightmost x for
1066 full-width rows.
1067 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1068 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1069 change bottom shadow accordingly. Some cleanup.
1070 (x_update_window_end): Handle overwritten mouse face
1071 also for tool bar windows.
1072 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1073 DRAW is DRAW_IMAGE_RAISED.
1074 (clear_mouse_face): Return 1 if text with mouse face was
1075 actually redrawn. Make the function static. Reset
1076 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1077 optimize away highlighting if we pass over that same overlay again.
1078 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1079 to detect a case where we have to highlight a different region
1080 despite not having left the currently highlighted region.
1081 Set mouse_face_overlay in the x_display_info. Avoid changing the
1082 mouse pointer shape when show_mouse_face has already done it, or
1083 there is no need. Handle mouse-face and help-echo in strings.
1084 (glyph_rect): New function.
1085 (w32_mouse_position): Use it to raise the threshold for mouse
1086 movement event generation.
1087 (w32_initialize_display_info): Initialize the x_display_info's
1088 mouse_face_overlay.
1089 (w32_set_vertical_scroll_bar): Don't clear a zero height
1090 or width area.
1091 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1092 a widget to zero height.
1093
3cf3436e 1094 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1095 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1096 equivalents in menu_items.
1097 (w32_menu_show): Don't overwrite an item's name with its key
1098 description in case the description is a multibyte string.
1099 (single_submenu): Some cleanup.
1100
1101 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1102 (postprocess_image): New function.
1103 (lookup_image): Call it for all image types except PostScript.
1104 (x_kill_gs_process): Call postprocess_image.
1105 (tiff_error_handler, tiff_warning_handler): New functions.
1106 (tiff_load): Install them as handlers.
1107 (x_kill_gs_process): Recognize if someone has cleared the image
1108 cache under us.
1109 (valid_image_p): Protect better against invalid image
1110 specifications. Previous code could signal an error.
1111 (Fx_hide_tip, Fshow_tip): Doc fix.
1112 (Fv_max_tooltip_size): New variable.
1113 (syns_of_xfns): DEFVAR_LISP it.
1114 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1115 window buffer to *tip* right after creating the frame. Set frame's
1116 window_width. Use a maximum tooltip size specified by
1117 Vx_max_tooltip_size, if that has valid contents.
1118 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1119 Make sure the tooltip is completely visible.
1120 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1121 (Fx_create_frame): Adjust the frame's height for presence
1122 of the tool bar before calling x_figure_window_size.
1123 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1124 when the window gets smaller.
1125 (x_set_foreground_color): Set frame's cursor_pixel.
1126 (x_set_foreground_color, x_set_background_color): Cleaned up.
1127 (x_set_font): Handle case of x_new_fontset returning the same name
1128 as before, although there was a change in fontsets.
1129
386ca361
MB
11302001-10-21 Miles Bader <miles@gnu.org>
1131
c2d53558 1132 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1133 (Flogxor): Add usage: string to doc string.
1134 * charset.c (Fstring): Likewise.
1135 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1136 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1137
14ff1ee0
PJ
11382001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1139
03be2694
PJ
1140 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1141
1142 * alloc.c: Reindent DEFUNs with doc: keywords.
1143
1144 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1145
14ff1ee0
PJ
1146 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1147 keyword].
1148
71431a0e
GM
11492001-10-20 Gerd Moellmann <gerd@gnu.org>
1150
6aa97356 1151 * (Version 21.1 released.)
71431a0e 1152
39f624fa
PJ
11532001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1154
c2d53558 1155 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1156
1157 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1158 0 because unused.
1159
1160 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1161 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1162 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1163
abcce93a
MB
11642001-10-20 Miles Bader <miles@gnu.org>
1165
1166 The following changes remove the glyph_row `inverse_p' field,
1167 which is never set anymore, due to other changes:
1168
1169 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1170 (reassert_line_highlight, change_line_highlight): Declarations removed.
1171 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1172 (line_hash_code, row_equal_p, fake_current_matrices)
1173 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1174 (update_frame_line, update_frame_line, update_frame_line):
1175 Don't use `inverse_p' field.
1176 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1177 change_line_highlight_hook.
1178 (XTreassert_line_highlight, x_change_line_highlight):
1179 Functions removed.
c2d53558 1180 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1181 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1182 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1183 `inverse_p' field.
c2d53558 1184 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1185 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1186 (w32_reassert_line_highlight, x_change_line_highlight):
1187 Functions removed.
1188 * w32console.c (reassert_line_highlight, change_line_highlight):
1189 Functions removed.
1190 (initialize_w32_display): Don't set reassert_line_highlight_hook
1191 or change_line_highlight_hook.
1192 (hl_mode): Function removed.
c2d53558
SM
1193 (reset_terminal_modes, set_terminal_modes, update_begin)
1194 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1195 (clear_frame, ins_del_lines): Don't call it.
1196 * termhooks.h (reassert_line_highlight_hook)
1197 (change_line_highlight_hook): Declarations removed.
1198 * term.c (reassert_line_highlight_hook)
1199 (change_line_highlight_hook): Variables removed.
1200 (reassert_line_highlight, change_line_highlight): Functions removed.
1201 * msdos.c (IT_reassert_line_highlight)
1202 (IT_change_line_highlight): Functions removed.
1203 (internal_terminal_init): Don't set reassert_line_highlight_hook
1204 or change_line_highlight_hook.
1205 (highlight): Variable removed.
c2d53558 1206 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1207 (IT_set_terminal_modes): Don't set or use it.
1208
1209 The following changes remove inverse-video support for terminals
1210 that use a `magic cookie' standout mode. Due to changes in the
1211 way mode-lines are displayed, such support no longer works
1212 anyway, and it's probable that almost no one uses such terminals
1213 anymore:
1214
1215 * term.c (standout_requested): Variable removed.
1216 (update_end, highlight_if_desired): Don't use it.
1217 (chars_wasted, copybuf): Variables removed.
1218 (write_standout_marker): Function removed.
c2d53558 1219 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1220 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1221 Don't use `chars_wasted' or `copybuf'.
1222 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1223 Set `costs_set' to true.
1224 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1225 `chars_wasted'.
1226 (clear_end_of_line): Function removed.
1227 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1228 (clear_to_end): Call `clear_end_of_line' instead of
1229 `clear_end_of_line_raw'.
54800acb
MB
1230 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1231 (term_init): Don't set them.
1232 Turn off any standout/underline modes that require magic cookies.
c2d53558 1233 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1234 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1235 Remove special processing for magic-cookie standout modes.
1236 (turn_off_face, turn_on_face): Remove special processing for
1237 underline magic-cookie glitch.
abcce93a 1238
0b5f679f
RS
12392001-10-19 Richard M. Stallman <rms@gnu.org>
1240
1241 * eval.c (syms_of_eval): Doc fixes.
1242
5a4a5bd4
GM
12432001-10-19 Gerd Moellmann <gerd@gnu.org>
1244
1245 * xdisp.c (redisplay_internal): Don't clear echo area if the
1246 mini-window is selected.
1247
79f1f96c
MB
12482001-10-19 Miles Bader <miles@gnu.org>
1249
b57c2708
MB
1250 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1251 doesn't take precedence if the affected property's value is nil.
1252
1253 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1254
79f1f96c
MB
1255 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1256 with fields and suggest using `forward-line' to avoid them.
1257 * editfns.c (Fline_beginning_position, Fline_end_position):
1258 Clarify documentation.
1259
ef879104
SM
12602001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1261
1262 * keymap.c (current_minor_maps): `override' only shadows its
1263 correspondent in minor-mode-map-alist, not the whole tail.
1264
97f4db8c
AI
12652001-10-18 Andrew Innes <andrewi@gnu.org>
1266
1267 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1268 optimization. The fontp->encoding array was not being initialized
1269 correctly when compiled with optimizations by MSVC.
1270
e6b70fd8
GM
12712001-10-18 Gerd Moellmann <gerd@gnu.org>
1272
30903479 1273 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1274
0e804d38
AI
12752001-10-17 Andrew Innes <andrewi@gnu.org>
1276
1277 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1278
1279 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1280 font_info.charset field.
1281
1282 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1283 rather than working it out by calling w32_codepage_for_font for
1284 every glyph.
1285
66e5868a
AI
12862001-10-17 Andrew Innes <andrewi@gnu.org>
1287
1288 * w32term.c (w32_read_socket): Determine clipping rectangle for
1289 the entire frame, including areas covered by scrollbars and the
1290 menubar. This avoids internal arguments about whether a frame is
1291 fully obscured or not.
1292
15b00083
GM
12932001-10-17 Gerd Moellmann <gerd@gnu.org>
1294
23e8bd86
GM
1295 * xdisp.c (try_window_id): Undo last change. Give up if
1296 window ends in strings.
30903479 1297
9c6ba6d1 1298 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1299 end if the rest of the window after the window end was already blank.
23e8bd86 1300
30903479 1301 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1302 for the release of 21.1.
1303
30903479 1304 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1305
945220bd
MB
13062001-10-17 Miles Bader <miles@gnu.org>
1307
1308 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1309 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1310 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1311 Change doc-string comments to `new style' [w/`doc:' keyword].
1312 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1313 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1314 out make-docfile.
1315
14242528
MB
13162001-10-16 Miles Bader <miles@gnu.org>
1317
1318 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1319
3ddf952f
GM
13202001-10-16 Gerd Moellmann <gerd@gnu.org>
1321
1322 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1323 *scratch*.
1324
f3fbd155
KR
13252001-10-16 Ken Raeburn <raeburn@gnu.org>
1326
1327 Avoid the assumption that car and cdr slots of cons cells are
1328 addressable lvalues; this allows for easier experimentation with
1329 other lisp implementations that may not permit such accesses for
1330 various reasons. Not quite complete -- buffer.c still needs some
1331 work, and w32/mac files need rechecking -- so compile-time
1332 enforcement is left disabled for now.
1333
1334 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1335 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1336 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1337 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1338 (XSETCAR, XSETCDR): New macros.
1339 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1340 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1341 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1342 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1343 XSETCDR.
1344 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1345 * buffer.c (record_buffer, Fbury_buffer)
1346 (swap_out_buffer_local_variables, recenter_overlay_lists)
1347 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1348 fields of a cons cell respectively.
1349 * callint.c (quotify_args, Fcall_interactively): Likewise.
1350 * ccl.c (Fregister_code_conversion_map): Likewise.
1351 * coding.c (detect_coding_system): Likewise.
1352 * composite.c (get_composition_id, make_composition_value_copy):
1353 Likewise.
30903479
SM
1354 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1355 (swap_in_symval_forwarding, set_internal, Fset_default)
1356 (Fmake_variable_buffer_local, Fmake_local_variable)
1357 (Fmake_variable_frame_local): Likewise.
f3fbd155 1358 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1359 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1360 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1361 * minibuf.c (get_minibuffer): Likewise.
1362 * search.c (Fmatch_data): Likewise.
1363 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1364 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1365 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1366 Likewise.
1367 * w32term.c (x_delete_display): Likewise.
1368 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1369 Likewise.
c2d53558 1370 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1371 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1372 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1373 (Fread_file_name): Use XSETCAR.
1374 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1375 CHECK_NUMBER_CDR.
1376 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1377 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1378 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1379 CHECK_NUMBER_CDR.
1380 * keyboard.c (read_char): Alter list traversal to avoid taking the
1381 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1382 (parse_menu_item): Use XSETCAR and XSETCDR.
1383 (reach_char_x_menu_prompt): Use XSETCAR.
1384 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1385 (Fcommand_execute): Use XSETCDR.
1386 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1387 (openp): Change list traversal to avoid using XCAR as lvalue.
1388 (read_list): Use XSETCDR.
1389 * process.c (wait_reading_process_input): Change wait_for_cell
1390 handling to avoid taking addresses of cons cell slots.
30903479
SM
1391 * xselect.c (x_own_selection, x_handle_selection_clear)
1392 (x_clear_frame_selections): Use XSETCDR.
1393 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1394 (x_handle_property_notify, x_get_foreign_selection)
1395 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1396
502150e5
PJ
13972001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1398
018ba359
PJ
1399 * buffer.c: Put doc strings in comments.
1400
30903479 1401 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1402
b56ba8de
SS
14032001-10-15 Sam Steingold <sds@gnu.org>
1404
1405 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1406
6a0b793a
PJ
14072001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1408
30903479
SM
1409 * process.c (process-inherit-coding-system-flag)
1410 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1411 in comment.
1412
a1f17501 1413 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1414 arguments. Put doc strings in comments.
a65da641
PJ
1415
1416 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1417
aa601ad0
GM
14182001-10-15 Gerd Moellmann <gerd@gnu.org>
1419
30903479 1420 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1421
aa601ad0
GM
1422 * window.c (select_window_1): Unfreeze window start. Remove a
1423 doubled test for WINDOW being live.
1424
288148a1
PJ
14252001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1426
dd8d1e71
PJ
1427 * fns.c (Fmapconcat): Fix typo in a doc string.
1428
288148a1
PJ
1429 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1430
9f5eb4a3
GM
14312001-10-15 Gerd Moellmann <gerd@gnu.org>
1432
1433 * xterm.c (x_draw_glyph_string): Restore clipping after
1434 drawing box.
1435
dbae44c8
PJ
14362001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1437
30903479 1438 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1439
0c88c937
SM
14402001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1441
56378db4
GM
1442 * indent.c (skip_invisible): Use new retval of
1443 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1444
845e4cf4
SM
1445 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1446 If a parent is reached and noinherit is set, exit immediately.
1447 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1448
0c88c937
SM
1449 * s/ms-w32.h (EXEC_SUFFIXES):
1450 * s/msdos.h (EXEC_SUFFIXES):
1451 * process.h (EXEC_SUFFIXES): Remove.
1452
1453 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1454 (decode_suffixes): Remove.
1455
1456 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1457 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1458 (invisible_ellipsis_p): Remove.
0c88c937
SM
1459
1460 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1461 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1462 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1463 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1464 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1465
d19be8a9
PJ
14662001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1467
04d7d066
PJ
1468 * lisp.h (Ftop_level): Add prototype.
1469
d624284c
PJ
1470 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1471 (XTread_socket): Improve style of comments to follow other
1472 comments.
1473
a87414f9
PJ
1474 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1475 is already prototyped in included lisp.h).
1476
d19be8a9
PJ
1477 * frame.c (Fset_mouse_position): Improve style of comment to
1478 follow other comments.
1479 (Fset_mouse_pixel_position): Improve style of comment to follow
1480 other comments.
1481 (Fmake_frame_visible): Doc fix and typo in comment.
1482 (Fmake_frame_invisible): Doc fix and typo in comment.
1483 (Ficonify_frame): Fix typo in comment.
1484
c061c855
GM
14852001-10-14 Gerd Moellmann <gerd@gnu.org>
1486
37f6b5b6 1487 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1488 * term.c, alloc.c: Put doc strings in comments.
c061c855 1489
e641b454
GM
14902001-10-13 Gerd Moellmann <gerd@gnu.org>
1491
1492 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1493 Provide definitions for doc strings in comments.
1494
1495 * fns.c: Put doc strings in comments.
1496
51724e26
EZ
14972001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1498
1499 * dired.c (file_name_completion): Ignore a candidate directory if
1500 it matches an element in completion-ignored-extensions that ends
1501 in a slash.
1502 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1503 feature in the doc string.
1504 (Ffile_name_completion): Ditto.
1505
be5fc59b
SM
15062001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1507
5a1373f3
SM
1508 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1509
1510 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1511
1512 * lisp.h (Fprovide): Update prototype.
1513 (Ffeaturep, invisible_p): Remove.
1514
bbc4a3d3 1515 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1516 (DOLIST, LOOP_PROPVAL): New macros.
1517 (invisible_p, invisible_ellipsis_p): Use them.
1518 (invisible_noellipsis_p): New function.
1519 (syms_of_xdisp): Use empty_string.
1520
1521 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1522
1523 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1524 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1525
1526 * print.c (Fwith_output_to_temp_buffer): Align with
1527 internal_with_output_to_temp_buffer.
1528 (print_preprocess): Use traverse_intervals_noorder.
1529 (print_object): Update call to traverse_intervals.
1530
1531 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1532 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1533
1534 * intervals.c (traverse_intervals_noorder): New function.
1535 (search_for_interval, count_intervals): Use it.
1536 (traverse_intervals): Use less stack space and drop `depth' arg.
1537
1538 * fns.c (Ffeaturep): Add new `subfeature' arg.
1539 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1540 (Qsubfeatures): New var.
1541 (syms_of_fns): Initialize it.
1542
026f408d
SM
1543 * keymap.c (Fkey_description): Use empty_string.
1544 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1545 (syms_of_keymap): Setup inheritance between maps.
1546 Don't export Sdescribe_bindings_internal any more.
1547
be5fc59b
SM
1548 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1549
3365175e
GM
15502001-10-12 Gerd Moellmann <gerd@gnu.org>
1551
1552 * xterm.c (notice_overwritten_cursor): Renamed from
1553 note_overwritten_text_cursor. Rewritten to take glyph widths into
1554 account.
1555
2ab7765c
EZ
15562001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1557
1558 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1559 multi-line strings without a trailing "\n\".
1560
311346bb
PJ
15612001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1562
1563 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1564 defined.
1565
2168e04d
SM
15662001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1567
026f408d
SM
1568 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1569
c0ec53ad
SM
1570 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1571 * w32proc.c (sys_spawnve):
1572 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1573 * w32.c (check_windows_init_file):
1574 * sound.c (Fplay_sound):
026f408d 1575 * emacs.c (init_cmdargs):
c0ec53ad
SM
1576 * process.c (Fstart_process): Update calls to openp.
1577
1578 * callproc.c (Vexec_suffixes): New var.
1579 (Fcall_process): Update call to openp.
1580 (decode_suffixes): New function.
1581 (syms_of_callproc): Init exec-suffixes.
1582
1583 * lread.c (Vload_suffixes, default_suffixes): New vars.
1584 (openp): Take a lisp list of suffixes.
1585 Check for file-name-handlers even if the file was absolute already.
1586 (syms_of_lread): Declare load-suffixes.
1587 (Fload): Fix up call to openp.
1588 Don't bother checking for file-name-handler at the very beginning.
1589
f6333468
SM
1590 * keymap.h (Fcopy_keymap): Don't export.
1591
1592 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1593 (Vload_suffixes, Vexec_suffixes): Declare.
1594 (openp): Update prototype.
f6333468
SM
1595
1596 * emacs.c (empty_string): New var.
1597 (syms_of_emacs): Initialize it.
1598
1599 * search.c (wordify): Use it.
1600
1601 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1602 selected window if it's not displayed there. Handle the case
1603 when the window is dedicated.
1604 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1605
1606 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1607
2168e04d
SM
1608 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1609 Remove left_ok and right_ok.
1610 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1611 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1612 new meaning of b_property.
1613
1614 * syntax.c (update_syntax_table): Simplify.
1615 (Fforward_comment): Don't skip quoted chars when going backward.
1616
13d95cc0
GM
16172001-10-11 Gerd Moellmann <gerd@gnu.org>
1618
beb0990f
GM
1619 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1620 in case I is of some unsigned type, in which case
1621 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1622 comparison becomes bogus.
1623
cb938d46
GM
1624 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1625 (Fuser_full_name): Fix bug treating a float as a fixnum.
1626
1627 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1628
1629 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1630
13d95cc0
GM
1631 * lisp.h (circular_list_error): Add prototype.
1632
1633 * data.c (Qcircular_list): New variable.
1634 (circular_list_error): New function.
1635 (syms_of_data): Initialize it Qcircular_list.
1636
e35f6ff7
SM
16372001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1638
1639 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1640 casefiddle.c, buffer.c: Include keymap.h.
1641
619632ac
GM
16422001-10-10 Gerd Moellmann <gerd@gnu.org>
1643
1644 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1645 options. From Dave Love <d.love@dl.ac.uk>.
1646
5e5388f6
GM
16472001-10-09 Gerd Moellmann <gerd@gnu.org>
1648
1649 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1650 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1651
14a3dff7
GM
1652 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1653 unsigned char.
1654 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1655
76ba8daf
AI
16562001-10-08 Andrew Innes <andrewi@gnu.org>
1657
1658 * lisp.h [max]: Undef min and max before redefining them.
1659
1660 * w32gui.h: Do not undef min and max.
1661
1662 * w32heap.h: Do not undef min and max.
1663
1664 * s/ms-w32.h: Do not undef min and max.
1665
166253cb
SM
16662001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1667
1668 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1669
0c4d9527
SS
16702001-10-08 Sam Steingold <sds@gnu.org>
1671
1672 * keymap.c (current-active-maps): Quote newlines (compilation error).
1673
14bfa771
EZ
16742001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1675
1676 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1677 bindings.elc, since otherwise doc strings in bindings.el get wrong
1678 offsets in etc/DOC.
1679
bdb7aa47
SM
16802001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1681
9985827f
SM
1682 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1683
1684 * keyboard.h (map_prompt): Remove.
1685
1686 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1687 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1688
bdb7aa47
SM
1689 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1690
1691 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1692
1693 * keyboard.c (map_prompt): Remove.
1694 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1695 Use Fkeymap_prompt.
1696
1697 * keymap.h: New file. Extracted from lisp.h.
1698
9985827f
SM
1699 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1700 (accessible_keymaps_1): New function.
1701 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1702 (Fwhere_is_internal): Use Fcurrent_active_maps.
1703 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1704 Insert in current buffer rather than standard-output.
1705 Don't call `help-mode'. Export to elisp.
1706 (describe_buffer_bindings): New wrapper.
1707 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1708 and Sdescribe_buffer_bindings.
1709
402c9a51
GM
17102001-10-08 Gerd Moellmann <gerd@gnu.org>
1711
9985827f 1712 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1713 Remove code setting signal handler.
1714
9985827f 1715 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1716 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1717
3fe81fdf
PJ
17182001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1719
1720 * keyboard.c: Don't define min/max.
1721
55fa7820
GM
17222001-10-08 Gerd Moellmann <gerd@gnu.org>
1723
9985827f 1724 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1725 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1726 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1727 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1728 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1729 Don't define min/max.
1730
1731 * lisp.h (min, max): New macros.
1732
55fa7820
GM
1733 * puresize.h (BASE_PURESIZE): Increase to 725000.
1734
1aad31e4
PJ
17352001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1736
9180dc8c
PJ
1737 * xfaces.c (free_frame_menubar): Add prototype.
1738
01f67d2c
PJ
1739 * lisp.h (init_window): Add prototype.
1740
1741 * editfns.c: Include ctype.h.
1742
1743 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1744 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1745 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1746 variable `sb'.
1747
5f351ff1
PJ
1748 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1749 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1750 `popup_activated_flag' and `title'.
1751
479dfe87
PJ
1752 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1753
dff49fc8
PJ
1754 * emacs.c (main): Remove extra `;'.
1755
248ac615
PJ
1756 * atimer.h (struct atimer): Fix typos in a comment.
1757
1758 * atimer.c: Fix typo.
1759
af232c7d
PJ
1760 * Makefile.in: Fix typo.
1761
1762 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1763
d876f455
MB
17642001-10-07 Miles Bader <miles@gnu.org>
1765
1766 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1767
0037e2f2
KR
17682001-10-07 Ken Raeburn <raeburn@gnu.org>
1769
b056f36d
KR
1770 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1771 Lisp_Object.
1772
0037e2f2
KR
1773 * lisp.h (Ffield_end): Declare.
1774
1a4372ef
GM
17752001-10-07 Gerd Moellmann <gerd@gnu.org>
1776
a4a74e8c
GM
1777 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1778
1779 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1780
1781 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1782
1783 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1784
1a4372ef
GM
1785 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1786 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1787
1788 * alloc.c (inhibit_garbage_collection): Simplify.
1789 (Fmemory_use_counts): Ditto.
1790
9985827f 1791 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1792 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1793 most-negative-fixnum.
1794
9985827f 1795 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1796 (FIXNUM_OVERFLOW_P): New macros.
1797
4650e362
MB
17982001-10-06 Miles Bader <miles@gnu.org>
1799
1800 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1801 scroll_bar_bottom_shadow_pixel fields.
1802 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1803 for the shadows, and tell the toolkit about them if we succeed.
1804 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1805 Free scroll-bar shadow colors.
1806 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1807 Free scroll-bar shadow colors when the background color changes.
1808 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1809 Initialize scroll-bar shadow-color fields.
1810
ace64e0a
GM
18112001-10-05 Gerd Moellmann <gerd@gnu.org>
1812
1813 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1814
ec66bdc7
MB
18152001-10-05 Miles Bader <miles@gnu.org>
1816
9985827f
SM
1817 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1818 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1819 New functions (were in simple.el).
9985827f 1820 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1821 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1822 (syms_of_minibuf): Initialize them.
1823
a0fb4492
GM
18242001-10-05 Gerd Moellmann <gerd@gnu.org>
1825
1826 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1827 (tiff_load): Install them as error and warning handler.
1828
0bcf87c1
AI
18292001-10-04 Andrew Innes <andrewi@gnu.org>
1830
1831 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1832 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1833 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1834 (x_to_w32_charset): Handle private format for unknown charsets.
1835 Handle wildcards in charset spec, by ignoring them.
1836 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1837 "*-" prefix from charset.
1838 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1839 handle the truncated font spec form constructed by font_list_1, so
1840 that we correctly identify the charset fields. Don't remove "*-"
1841 prefix from charset.
1842 (w32_list_synthesized_fonts): Fix argument to alloca.
1843
c89e4bc5
GM
18442001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1845
1846 * window.h (MINI_WINDOW_P): Use NILP.
1847
1848 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1849
1850 * termhooks.h (struct input_event): Use proper type for `kind'.
1851
18522001-10-04 Gerd Moellmann <gerd@gnu.org>
1853
1854 This handles unknown keysyms better than before. For example,
1855 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1856 Emacs formerly completely ignored F5. With the change, it derives
1857 a key symbol from the name of the X keysym, `ccaron' in this case.
1858 Reported by Martin Buchholz.
1859
1860 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1861 unknown keysyms.
1862
1863 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1864 that EVENT->code isn't a function key, use the keysym's name.
1865
18662001-10-04 Gerd Moellmann <gerd@gnu.org>
1867
1868 FOREACH is a macro that should make it easier to loop over Lisp
1869 lists with checks for cycles and proper lists.
1870
1871 * lisp.h (LIST_END_P, FOREACH): New macros.
1872
18732001-10-04 Gerd Moellmann <gerd@gnu.org>
1874
1875 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1876 called for a lost connection. Prevent dumping core in this case.
1877 Instead print the X error, and exit. On user request.
1878
1879 * xterm.c (error_msg): New variable.
1880 (x_fatal_error_signal): New function.
1881 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1882 as fatal_error_signal_hook around the call to XtCloseDisplay.
1883
1884 * emacs.c (fatal_error_signal_hook): New variable.
1885 (fatal_error_signal): Call that function.
1886
18872001-10-04 Gerd Moellmann <gerd@gnu.org>
1888
1889 With this, Emacs prints how much pure storage it will
1890 approximately need in case pure storage overflows while dumping.
1891
1892 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1893 New variables.
1894 (init_alloc_once): Initialize new variables.
1895 (PURE_POINTER_P): Use new variables.
1896 (pure_alloc): If pure storage overflows, allocate from the heap.
1897 (check_pure_size): New function.
1898 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1899
1900 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1901 (check_pure_size): Add prototype.
1902
1903 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1904
19052001-10-04 Gerd Moellmann <gerd@gnu.org>
1906
1907 This adds a post-gc-hook that's run with GC inhibited.
1908 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1909
1910 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1911 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1912 (Fgarbage_collect): Run post-gc-hook.
1913
19142001-10-04 Gerd Moellmann <gerd@gnu.org>
1915
1916 This adds `defvaralias' and `indirect-variable'. Changes not
1917 directly related to this feature are there to gain the same
1918 performance again as before variable aliases.
1919
1920 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1921 code to get and set symbol values, to take defvaralias into account.
1922
1923 (Note: the new `constant' bit-flag in symbols would make it
1924 possible to define arbitrary read-only variables, e.g. with
1925 `defconst'.)
1926
1927 Documentation is in lispref/variables.texi. Added to NEWS.
1928
1929 * lisp.h (enum symbol_interned): New enumeration.
1930 (struct Lisp_Symbol): Remove member `obarray', add
1931 `indirect_variable', `constant', and `interned'.
1932 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1933 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1934 (indirect_variable): Add prototype.
1935
1936 * print.c (print_preprocess, print_object): Test internedness of
1937 symbols differently.
1938
1939 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1940 bit-fields.
1941 (init_obarray): Likewise for t and nil.
1942
1943 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1944 (Fdefvaralias): New function.
1945 (specbind): Simplify the test if symbol is a constant.
1946 (syms_of_eval): Defsubr Fdefvaralias.
1947
1948 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1949 (Qcyclic_variable_indirection): New variable.
1950 (Fkeywordp): Check for internedness differently.
1951 (Fmakunbound): Simplify the test if symbol is a constant.
1952 (indirect_variable, Findirect_variable): New functions.
1953 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1954 aliased symbol.
1955 (let_shadows_buffer_binding_p): Check for variable aliases.
1956 (set_internal): Simplify the test if SYMBOL is a constant.
1957 If SYMBOL has a buffer-local value and is an alias, use the aliased
1958 symbol instead.
1959 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1960 Sindirect_variable.
1961
1962 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1963 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1964 set directly.
1965
1966 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1967
1968 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1969 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1970 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1971
ab952a4f
GM
19722001-10-04 Gerd Moellmann <gerd@gnu.org>
1973
1974 * Branch for 21.1.
b56ba8de 1975
ba88ff28
MB
19762001-10-03 Miles Bader <miles@gnu.org>
1977
1978 * callproc.c (syms_of_callproc): Explicitly state in the
1979 documentation for `process-environment' that earlier entries take
1980 precedence over later ones.
1981
ae1a9581
MB
19822001-10-02 Miles Bader <miles@gnu.org>
1983
1984 * textprop.c (Fnext_char_property_change)
1985 (Fprevious_char_property_change): Remove reference to non-existant
1986 argument OBJECT from doc-string.
1987
257e3f57
GM
19882001-10-01 Gerd Moellmann <gerd@gnu.org>
1989
1990 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1991 (try_window_id): Skip back over lines ending in a newline from a
1992 string.
1993
1994 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1995 New bit flag
1996
c1f29759
RS
19972001-10-01 Richard M. Stallman <rms@gnu.org>
1998
1999 * search.c (Freplace_match): Doc fix.
2000
c30dce3d
AI
20012001-09-28 Andrew Innes <andrewi@gnu.org>
2002
2003 * w32menu.c (set_frame_menubar): Take into account that
2004 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2005 <raeburn@gnu.org>.
2006
03be5931
EZ
20072001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2008
2009 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2010
75bec752
PJ
20112001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2012
2013 * s/gnu-linux.h: Fix a typo in comment.
2014
83100e0a
AS
20152001-09-28 Andreas Schwab <schwab@suse.de>
2016
2017 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2018 nocombreloc, in case -z combreloc is the default.
2019
a74b48cf
GM
20202001-09-28 Gerd Moellmann <gerd@gnu.org>
2021
2022 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2023 really going on here.
2024
09c4719e
SM
20252001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2026
2027 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2028
f7d5d963
EZ
20292001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2030
2031 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2032 utf-8, menu-bar, and latin-N.
2033 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2034 unconditionally now.
2035 (lisp): Add latin-N, since they are preloaded.
2036
9240e746
GM
20372001-09-27 Gerd Moellmann <gerd@gnu.org>
2038
14531065
GM
2039 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2040 to the left. Some cleanup.
2041
9240e746
GM
2042 * xdisp.c (display_mode_element): One more case where a string's
2043 multibyteness should be used for display.
2044
edd1e654
GM
20452001-09-26 Gerd Moellmann <gerd@gnu.org>
2046
b02439c8
GM
2047 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2048 reading at EOF.
2049
032906b1 2050 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2051 of the only temporarily set echoing flag for deciding when
032906b1
GM
2052 the cancel echoing.
2053
2054 * keyboard.c (echo_kboard): Make externally visible.
2055
2056 * lisp.h (echo_kboard): Declare extern.
2057
cb617e7c 2058 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2059 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2060 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2061 this round of redisplay if make_cursor_line_fully_visible fails.
2062 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2063 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2064
2065 * dispextern.h (required_matrix_width, required_matrix_height):
2066 Add prototypes.
2067
09c4719e
SM
2068 * dispnew.c (required_matrix_width, required_matrix_height):
2069 New functions.
cb617e7c 2070 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2071 (allocate_matrices_for_frame_redisplay: Use them.
2072 Remove parameters CH_DIM.
cb617e7c 2073
edd1e654
GM
2074 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2075 and selected_window to the frame of the window whose mode-lines
2076 are displayed, and to the window itself.
2077 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2078 here.
edd1e654 2079
924b604c
GM
20802001-09-25 Gerd Moellmann <gerd@gnu.org>
2081
daba7643
GM
2082 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2083 the image cache under us.
2084
b7a22712 2085 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2086 with a string value, use that string's multibyteness for displaying.
b7a22712 2087
ad648212
GM
2088 * keyboard.c (read_char): Don't clear a message for a switch-frame
2089 event. From Stefan Monnier <monnier@cs.yale.edu>.
2090
9f8531e5
GM
2091 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2092 version for after 21.1.
2093
2094 * xdisp.c (row_containing_pos): Make externally visible.
2095
2096 * dispextern.h (row_containing_pos): Add prototype.
2097
924b604c
GM
2098 * process.c (send_process): Disable composition if from_byte < 0.
2099 From Kenichi Handa <handa@etl.go.jp>.
2100
6f3f0db4
GM
21012001-09-24 Gerd Moellmann <gerd@gnu.org>
2102
c69c0ebc
GM
2103 * xterm.c (refreshicon): Function removed.
2104
d1182bc4
GM
2105 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2106
2107 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2108
2109 * xterm.c (toplevel): Remove includes in #if 0.
2110
6f3f0db4
GM
2111 * process.c (sigchld_handler) [LINUX]: Don't return from
2112 the signal handler at the end of the loop.
2113
59957f85
GM
21142001-09-21 Gerd Moellmann <gerd@gnu.org>
2115
09c4719e
SM
2116 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2117 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2118
a0528984
EZ
21192001-09-21 Markus Rost <rost@math.ohio-state.edu>
2120
2121 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2122
db92b288
GM
21232001-09-20 Gerd Moellmann <gerd@gnu.org>
2124
3fed8ad5
GM
2125 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2126 since this function can be called during GC.
2127
db92b288
GM
2128 * callproc.c (Fcall_process): Handle errors from pipe(2).
2129 (child_setup): Delete code in #ifdef vipc.
2130
7121b85a
GM
21312001-09-19 Gerd Moellmann <gerd@gnu.org>
2132
72f62cb5
GM
2133 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2134 (display_mode_element): Display the string from decode_mode_spec
2135 depending on its multibyteness.
2136
a2697022
GM
2137 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2138
7121b85a
GM
2139 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2140
bfc97351
GM
21412001-09-18 Gerd Moellmann <gerd@gnu.org>
2142
c9063433
GM
2143 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2144 recursive_edit_unwind.
2145 (recursive_edit_unwind): Set kboard state according to
2146 SINGLE-KBOARD.
2147
3fbdba3e
GM
2148 * buffer.c (modify_overlay): Don't do nothing if START == END;
2149 This can still be a modification, for example when an overlay has
2150 a before-string or after-string.
2151 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2152 an overlay with before-string or after-string.
2153
1270031d
GM
2154 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2155 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2156
bfc97351
GM
2157 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2158 first_unchanged_at_end_row is in front of
2159 last_unchanged_at_beg_row. This code should be removed after the
2160 release of 21.1.
2161
d8a973aa
GM
21622001-09-17 Gerd Moellmann <gerd@gnu.org>
2163
e18c8b8d
GM
2164 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2165 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2166
d8a973aa
GM
2167 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2168 versions >= 2.95.
2169
ed7d6ba4
EZ
21702001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2171
2172 * dired.c (Ffile_attributes): Doc fix.
2173
551629f9
GM
21742001-09-14 Gerd Moellmann <gerd@gnu.org>
2175
2176 * fileio.c (Ffile_symlink_p): Fix last change.
2177
2178 * filelock.c (current_lock_owner): Fix last change.
2179
4c8c7926
GM
21802001-09-13 Gerd Moellmann <gerd@gnu.org>
2181
620c4704
GM
2182 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2183 take that to mean that the buffer is too small.
2184
81c3310d
GM
2185 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2186 that to mean that the buffer is too small.
2187
06fd3792
GM
2188 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2189 current buffer's multibyteness when discarding the iterator's
2190 stack.
2191
4c8c7926
GM
2192 * xfns.c (Fx_window_property): Handle case that property gets
2193 deleted between the two calls to XGetWindowProperty.
2194
9a72e4c1
GM
21952001-09-11 Gerd Moellmann <gerd@gnu.org>
2196
bd819d14 2197 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2198
a41edd99
GM
2199 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2200 in addition to read-only.
2201
2202 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2203 to t in addition to read-only.
2204
2205 * lisp.h (Qinhibit_modification_hooks): Declare.
2206
2207 * insdel.c (Qinhibit_modification_hooks): New variable.
2208 (syms_of_insdel): Initialize and staticpro it.
2209
d4881c6a
GM
2210 * textprop.c (verify_interval_modification): Don't run
2211 modification-hooks if inhibit_modification_hooks.
2212
2213 * dispnew.c (set_window_cursor_after_update): Fix code
2214 finding glyph row containing cursor when cursor_in_echo_area
2215 is >= 0.
2216
9a72e4c1
GM
2217 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2218 (add_to_log): Use bcopy instead of strcpy.
2219 (init_from_display_pos): Use an explicit loop over bytes in
2220 overlay strings instead of calling index.
2221
f4a374a1
GM
22222001-09-10 Gerd Moellmann <gerd@gnu.org>
2223
300e57bd
GM
2224 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2225
2226 * dispnew.c (direct_output_for_insert): Don't change IT's
2227 stop_charpos to something in front of its current position.
2228
f4a374a1
GM
2229 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2230 `format'.
2231
7e4cbc91
RS
22322001-09-10 Richard M. Stallman <rms@gnu.org>
2233
2234 * frame.c (Fmouse_position): Doc fix.
2235
6afad91e
GM
22362001-09-07 Gerd Moellmann <gerd@gnu.org>
2237
2238 * xdisp.c (init_from_display_pos): Don't compare the result
2239 of calling index with NULL.
2240
f76e0368
GM
22412001-09-06 Gerd Moellmann <gerd@gnu.org>
2242
2243 * xfns.c (x_set_background_color): Don't change the colors
2244 of the X window of scroll bar widgets.
2245
9ead1b60
AI
22462001-09-05 Andrew Innes <andrewi@gnu.org>
2247
2248 * w32fns.c (w32_createwindow): Undo last change.
2249
c3b497b3
GM
22502001-09-05 Gerd Moellmann <gerd@gnu.org>
2251
08e1d6df
GM
2252 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2253
c3b497b3
GM
2254 * xdisp.c (string_buffer_position): Use *single_char_property*
2255 functions instead of the *single_property* functions.
b56ba8de 2256
8f860180
AI
22572001-09-04 Andrew Innes <andrewi@gnu.org>
2258
9a72e4c1
GM
2259 * w32term.c (w32_read_socket): Add more information to debugging
2260 output.
8f860180
AI
2261
2262 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2263 from Emacs frames, so that calls to GetClipBox in w32term.c
2264 correctly report when part of a frame is visible (including
2265 scrollbars, etc). This prevents repeated redrawing of frames when
2266 only a scrollbar is visible.
2267 (w32_wnd_proc): Add more frame information to debugging output.
2268
2ee1aa00
SM
22692001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2270
2271 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2272
e3b22517
GM
22732001-09-03 Gerd Moellmann <gerd@gnu.org>
2274
7e376260
GM
2275 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2276 help-echo for a string which doesn't have help-echo itself, use
2277 get-char-property to obtain the help-echo from the string's buffer
2278 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2279 have mouse-face, look ``under'' the string for mouse-face from an
2280 overlay.
2281 (fast_find_position): Add parameter STOP. In the final row, stop
2282 before glyphs having STOP as object. Don't consider glyphs that
2283 are not from a buffer.
2284
e3b22517
GM
2285 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2286
9a249bba
EZ
22872001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2288
2289 * fns.c (Fmd5): Doc fix.
2290
c9979669
GM
22912001-08-31 Gerd Moellmann <gerd@gnu.org>
2292
2293 * composite.c (update_compositions): Do nothing if
2294 inhibit-modification-hooks is set.
2295
9584e63a
GM
22962001-08-30 Gerd Moellmann <gerd@gnu.org>
2297
986ec8f2 2298 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2299 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2300 glyph matrices etc. in a core dump.
2301
92a25631
GM
2302 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2303 (syms_of_xdisp): Initialize them.
2304 (handle_single_display_prop): Don't change point, bind `object',
2305 `position', and `buffer-position' instead to the object having the
2ee1aa00 2306 `display' property, position in the object and position in the buffer.
92a25631 2307
9584e63a
GM
2308 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2309 of the buffer if REPLACE is non-nil.
2310
d38633a3
GM
23112001-08-29 Gerd Moellmann <gerd@gnu.org>
2312
2313 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2314
f4fccc1e
EZ
23152001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2316
2317 * w32term.c (x_set_glyph_string_background_width)
2318 (show_mouse_face): Track the last changes in xterm.c.
2319
eaaa65b0
GM
23202001-08-28 Gerd Moellmann <gerd@gnu.org>
2321
7b0870b2
GM
2322 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2323 string's background width so that multi-line mouse-face is drawn
2324 to the right edge of the window.
2325 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2326 glyphs.
2327
6b6e2422 2328 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2329 before inserting/writing glyphs.
6b6e2422 2330
eaaa65b0
GM
2331 * xdisp.c (display_mode_element): Use string_byte_to_char to
2332 determine character positions in strings, use chars_in_text
2333 instead of strwidth.
2334 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2335 a matrix as parameter; this is easier to use from GDB.
2336
9ad62cf8
MB
23372001-08-28 Miles Bader <miles@gnu.org>
2338
2ee1aa00
SM
2339 * textprop.c (Fprevious_single_char_property_change)
2340 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2341
32171635
GM
23422001-08-27 Gerd Moellmann <gerd@gnu.org>
2343
47d57b22
GM
2344 * fileio.c (Finsert_file_contents): Allocate, restore, and
2345 free composition data in the case of REPLACE not being nil.
2346
2347 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2348 there exist overlay strings with newlines at POS.
2349 (text_outside_line_unchanged_p): Return 0 if changes start at
2350 START and overlays exist at START. Likewise for END.
2351 (try_window_id): Give up if init_to_row_end returns 0.
2352
32171635
GM
2353 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2354 unconditionally.
2355
e1249666
GM
23562001-08-24 Gerd Moellmann <gerd@gnu.org>
2357
33954c45
GM
2358 * keymap.c (access_keymap): Return the cdr of the binding of
2359 a generic character instead of its definition (KEY . BINDING).
2360
e1249666
GM
2361 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2362 to 0 also in the REPLACE case.
2363
fb4c6c96
AC
23642001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2365
2366 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2367 open to determine whether file is readable (as for DOS_NT).
2368
59ecf80b
GM
23692001-08-23 Gerd Moellmann <gerd@gnu.org>
2370
2371 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2372 coding.type is coding_type_no_conversion or coding_type_raw_text,
2373 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2374 non-nil instead of just setting enable_multibyte_characters in the
2375 buffer to nil.
2376
40e33037
GM
23772001-08-22 Gerd Moellmann <gerd@gnu.org>
2378
374388c3
GM
2379 * dispextern.h (struct face_cache): Add member
2380 menu_face_changed_p.
2381
2382 * xfaces.c (menu_face_changed_default): New variable.
2383 (menu_face_changed_count): Variable removed.
2384 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2385 the menu_face_changed_default flag, otherwise set the FRAME's
2386 menu_face_changed_p flag if the `menu' face has been changed.
2387 Prevent calling set_font_frame_param if FRAME is t.
2388 (make_face_cache): Initialize cache's menu_face_changed_p
2389 from menu_face_changed_default.
2390 (realize_basic_faces): Look into the frame's face cache to
2391 determine if the menu appearance needs updating.
2392
40e33037
GM
2393 * keymap.c (access_keymap): Fix last change to not consider
2394 IDX when it has modifiers.
2395
859ea4b8
GM
23962001-08-21 Gerd Moellmann <gerd@gnu.org>
2397
2398 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2399 . BINDING) exists, where GENERIC-CHAR is the generic character of
2400 the charset of IDX, return BINDING unless there exists a binding
2401 for IDX itself.
2402
e8660d73
GM
24032001-08-16 Gerd Moellmann <gerd@gnu.org>
2404
cca1b1d7
GM
2405 * xrdb.c (SYSV): Don't define on Solaris 2.
2406 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2407
e8660d73 2408 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2409 of the screen line, not text line, containing IT's current position.
e8660d73 2410
93aba6fc
GM
24112001-08-15 Gerd Moellmann <gerd@gnu.org>
2412
288d4e06
GM
2413 * window.c (window_scroll_pixel_based): Don't recenter if
2414 PT is partially visible in the window.
2415
3452efc2
SM
2416 * xterm.c (expose_window_tree, expose_window, expose_line):
2417 Return 1 when overwriting mouse-face.
82f053ab
GM
2418 (expose_frame): If mouse-face was overwritten, redo it.
2419
93aba6fc
GM
2420 * xfaces.c (x_update_menu_appearance): Don't call
2421 set_frame_menubar, let the next redisplay do it.
2422
858a55c1
AI
24232001-08-14 Andrew Innes <andrewi@gnu.org>
2424
2425 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2426 drawing glyph string.
2427
3a990b67
EZ
24282001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2429
2430 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2431 running HI-UX/MPP.
2432
04386463
GM
24332001-08-14 Gerd Moellmann <gerd@gnu.org>
2434
2435 * xfaces.c (x_update_menu_appearance): Save and restore value of
2436 interrupt_input_blocked.
2437
3e6385a4
GM
24382001-08-13 Gerd Moellmann <gerd@gnu.org>
2439
b0e619b4
GM
2440 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2441 a line start, move back to the line start.
3452efc2 2442
0de73d5a
GM
2443 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2444 exactly when a mini-buffer is active.
2445
3e6385a4
GM
2446 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2447 in units of 1/8 character on non window-system frames.
2448 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2449
d1b5f629
EZ
24502001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2451
2452 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2453 a doc string.
2454
eaa2319f
GM
24552001-08-09 Gerd Moellmann <gerd@gnu.org>
2456
8e3189f0
GM
2457 * keyboard.c (Vpre_help_message): New variable.
2458 (syms_of_keyboard): Initialize and staticpro it.
2459 (show_help_echo): Record current message before displaying a
2460 help-echo, and restore that message when clearing the help.
2461
eaa2319f
GM
2462 * xfns.c (x_create_im): Remove prototype.
2463
2464 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2465
2466 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2467
eaa2319f
GM
24682001-08-08 Gerd Moellmann <gerd@gnu.org>
2469
2470 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2471 windows whose height has changed, disable partially visible lines.
eaa2319f 2472
17fdcfc8
GM
24732001-08-07 Gerd Moellmann <gerd@gnu.org>
2474
22d01aed 2475 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2476 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2477
17fdcfc8
GM
2478 * xdisp.c (start_display): Don't try to determine the continuation
2479 lines width if lines are truncated. It's superfluous and leads to
2480 incorrect results if POS is not visible in the window after
2481 reseating the iterator at the previous line start.
2482
8e3fe78e
GM
24832001-08-06 Gerd Moellmann <gerd@gnu.org>
2484
2485 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2486
98a8938c
GM
24872001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2488
2489 * alloc.c (init_stack): Remove declaration.
2490
18f9986a
GM
24912001-08-03 Gerd Moellmann <gerd@gnu.org>
2492
5e1f85e0
GM
2493 * keyboard.c (read_key_sequence): Check that key is an integer
2494 before comparing it with quit_char.
2495 (add_command_key): Use larger_vector.
2496 (read_char_x_menu_prompt): Instead of converting symbol and
2497 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2498 which cannot be confused with valid events.
5e1f85e0
GM
2499 (read_char): When reading from Vunread_command_events, check for
2500 events of the form (EVENT . disabled) instead of
2501 (EVENT . nil).
2502
18f9986a
GM
2503 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2504 a float, determine the max height from the frame's height.
2505
fbc7f2a6
GM
25062001-08-02 Gerd Moellmann <gerd@gnu.org>
2507
2508 * xdisp.c (redisplay_internal): Take message_cleared_p into
2509 account only if minibuf_level == 0.
2510
81b1a79d
GM
25112001-08-01 Gerd Moellmann <gerd@gnu.org>
2512
e5c60873
GM
2513 * xdisp.c (redisplay_internal): Add a check for the last
2514 displayed message.
3452efc2 2515
6e019995
GM
2516 * xdisp.c (message_cleared_p): New variable.
2517 (clear_message): Set message_cleared_p when clearing the current
2518 message.
2519 (redisplay_internal): Look at message_cleared_p to capture
2520 the case that the echo area should be cleared.
2521
308a74d8
GM
2522 * keyboard.c (command_loop_1): Fix spelling of
2523 resize_echo_area_exactly.
2524
3452efc2 2525 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2526
2527 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2528
81b1a79d
GM
2529 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2530 current matrix when the window gets smaller.
2531
ada329e6
EZ
25322001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2533
2534 * print.c (strout): Cast the character passed to insert_char to
2535 unsigned char, to avoid sign extension when it is promoted to int.
2536
ed86208c
GM
25372001-07-31 Gerd Moellmann <gerd@gnu.org>
2538
2539 * fileio.c (Finsert_file_contents): Don't treat a return value
2540 of 0 from emacs_read as an IO error.
2541
6594ac22
GM
25422001-07-30 Gerd Moellmann <gerd@gnu.org>
2543
cef68af5
GM
2544 * keyboard.c (abs): New macro.
2545 (double_click_fuzz): New variable.
2546 (make_lispy_event): Use it to determine what makes a double-click.
2547 (syms_of_keyboard): DEFVAR_INT it.
2548
6594ac22
GM
2549 * xmenu.c (set_frame_menubar): Take into account that
2550 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2551 <raeburn@gnu.org>.
2552
75c5350a
GM
25532001-07-27 Gerd Moellmann <gerd@gnu.org>
2554
2555 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2556
2557 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2558 of row's visible height.
2559
2560 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2561 deal with the first overlay string having an image `display' property.
2562 (try_window_reusing_current_matrix, compute_line_metrics):
2563 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2564 row is invisible above and part of the row is at the same time
2565 invisible below the window.
2566
ac49effe
GM
25672001-07-26 Gerd Moellmann <gerd@gnu.org>
2568
2569 * xfns.c (x-show-tip): Doc fix.
3452efc2 2570
ac49effe
GM
2571 * xfns.c (Vx_max_tooltip_size): New variable.
2572 (syms_of_xfns): DEFVAR_LISP it.
2573 (Fx_show_tip): Set frame's window_width to the width of the
2574 window. Use a maximum tooltip size specified by
2575 Vx_max_tooltip_size, if that has valid contents.
2576 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2577
8c3b00cb
AI
25782001-07-26 Andrew Innes <andrewi@gnu.org>
2579
2580 * w32term.c (x_display_list): New variable.
2581 (w32_term_init): Set it.
2582
2583 * w32term.h (x_display_list): New extern.
2584
16098288
GM
25852001-07-26 Gerd Moellmann <gerd@gnu.org>
2586
2587 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2588 is non-nil, instead of when redisplaying_p is non-zero.
2589 See comment there.
16098288
GM
2590 (mark_window_display_accurate_1): Add an assertion.
2591
64c5be50
GM
25922001-07-25 Gerd Moellmann <gerd@gnu.org>
2593
e743f599
GM
2594 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2595
563b384d
GM
2596 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2597 events so that we get a chance of processing expose events.
2598
64c5be50
GM
2599 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2600
296808a5
GM
26012001-07-24 Gerd Moellmann <gerd@gnu.org>
2602
2603 * xfns.c (valid_image_p): Protect better against invalid image
2604 specifications. Previous code could signal an error.
2605
5247262a
GM
26062001-07-23 Gerd Moellmann <gerd@gnu.org>
2607
3452efc2 2608 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2609 presence of display table entries.
2610 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2611
dd42b31a
GM
2612 * dispnew.c (adjust_glyph_matrix): In the optimization for
2613 windows whose height has changed, use the new window height
2614 to compute which rows to invalidate.
2615
9e5a7f2a
GM
2616 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2617 (MAX_10_EXP): New macro.
2618 (Fformat): Use it.
2619
5247262a
GM
2620 * coding.c (code_convert_region): Handle the multibyte case if
2621 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2622
177ab8ce
GM
26232001-07-20 Gerd Moellmann <gerd@gnu.org>
2624
6e07c0a5
GM
2625 * dispextern.h (struct face): Change type of `stipple' to
2626 int; it's an ID.
2627
177ab8ce
GM
2628 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2629
b5b80599
GM
26302001-07-19 Gerd Moellmann <gerd@gnu.org>
2631
4e2a256b
GM
2632 * dispnew.c (update_window): Don't set the cursor at the end
2633 of the update if display update has been paused.
2634
3452efc2 2635 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2636
c1fd9232
KR
26372001-07-18 Ken Raeburn <raeburn@gnu.org>
2638
2639 * fns.c (Fset_char_table_default): Check that a charset is defined
2640 before checking its dimension.
2641
928a85c1
KR
26422001-07-17 Ken Raeburn <raeburn@gnu.org>
2643
2644 * coding.c (setup_coding_system): Don't do any designation based
2645 on reg_bits if charset is not yet defined.
2646
fb4c6c96 2647 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2648 pointer, using eassert.
2649
de11c1ea
GM
26502001-07-17 Gerd Moellmann <gerd@gnu.org>
2651
3452efc2
SM
2652 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2653 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2654
467f1209
GM
26552001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2656
2657 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2658
c3d6be34
GM
26592001-07-16 Gerd Moellmann <gerd@gnu.org>
2660
c1d61a7d
GM
2661 * fileio.c (unwind_read): Function removed.
2662 (read_non_regular, read_non_regular_quit): New functions.
2663 (Finsert_file_contents): When reading from non-regular files,
2664 arrange to catch a `quit' and terminate the loop. Rearrange
2665 code so that a `quit' when reading from a regular file doesn't
2666 insert text in the buffer.
2667
c3d6be34
GM
2668 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2669 Clear faces afterwards.
2670 (clear_font_table): Take a x_display_info parameter. Don't free
2671 fonts being the default font of any frame on the given display.
2672
e06aa1f9
GM
26732001-07-13 Gerd Moellmann <gerd@gnu.org>
2674
2675 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2676 instead of CHAR_STRING which can signal an error.
2677
2678 * charset.c (char_to_string_1): Extracted from char_to_string.
2679 Return -1 instead of signaling an error.
2680 (char_to_string): Use it.
2681
2682 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2683
176c92e6
SM
26842001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2685
2686 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2687 is t, don't try to append anything to it.
2688
1c56232f
EZ
26892001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2690
2691 * dired.c (file_name_completion): Pass dp->d_name to
2692 Fstring_match, not elt, which is always nil here.
2693
1d2b2268
GM
26942001-07-12 Gerd Moellmann <gerd@gnu.org>
2695
2696 * xselect.c (x_decline_selection_request): Handle errors
2697 caused by receivers that have vanished.
2698
2699 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2700 ignoring events on foreign windows in #if 0. Always dispatch
2701 the event after checking it with x_handle_property_notify.
2702
2703 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2704 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2705 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2706 (toplevel): Add prototypes for file-local functions.
2707 (x_atom_to_symbol): Remove DPYINFO parameter.
2708
fe5a0162
SM
27092001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2710
2711 * w32menu.c (menubar_selection_callback, w32_menu_show):
2712 Initialize `entry' to nil.
2713 (w32_dialog_show): Remove unused `save_wv' variable.
2714 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2715
a777242c
GM
27162001-07-11 Gerd Moellmann <gerd@gnu.org>
2717
8ee5b6a3
GM
2718 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2719
d0e2444e
GM
2720 * fileio.c (unwind_read): Print a message when discarding inserted
2721 text or switching the buffer to unibyte. Change parameter.
2722 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2723
a777242c
GM
2724 * fileio.c (unwind_read): New function.
2725 (Finsert_file_contents): Record it as unwind-function for
2726 the case that reading is interrupted by C-g.
2727
ae794295
GM
27282001-07-10 Gerd Moellmann <gerd@gnu.org>
2729
fe5a0162 2730 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2731 update when scrolling_window returns 0.
2732
6b05fae3
GM
2733 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2734
2735 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2736 for the case that x_decode_color signals an error.
6b05fae3 2737
ae794295
GM
2738 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2739
bb6e8cee
GM
27402001-07-09 Gerd Moellmann <gerd@gnu.org>
2741
2742 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2743 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2744 around ioctls.
2745
36b40a8a
EZ
27462001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2747
24b97d4b
EZ
2748 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2749 doc string line for dos-timezone-offset.
2750
36b40a8a
EZ
2751 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2752 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2753 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2754 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2755
2756 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2757
0967b4b0
GM
27582001-07-05 Gerd Moellmann <gerd@gnu.org>
2759
f25cfe53
GM
2760 * sound.c: Include Emacs' header files with #include "...".
2761
0967b4b0
GM
2762 * eval.c (specbind): Additionally record the buffer that was
2763 current when a buffer-local or frame-local variable was bound.
2764
c347a1c3
GM
27652001-07-04 Gerd Moellmann <gerd@gnu.org>
2766
2767 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2768 to unibyte characters in unibyte buffers.
2769
6332ca8a
GM
27702001-07-03 Gerd Moellmann <gerd@gnu.org>
2771
38472d44
GM
2772 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2773 the frame on the binding stack. Change format of entries for
2774 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2775 (unbind_to): Handle unbinding a frame-local variable.
2776
6332ca8a 2777 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2778 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2779 (dump_glyph_row): Print row's continuation_lines_width.
2780 (try_window_id): Take the shortcut if ZV is visible in the
2781 window, but there are actually no changes at ZV.
2782
63d1b174
GM
27832001-07-02 Gerd Moellmann <gerd@gnu.org>
2784
4c175203
GM
2785 * xterm.h (x_free_dpy_colors): Add prototype.
2786
2787 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2788 right number of arguments.
2789
0b54ce28
GM
2790 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2791 ($(lwlibdir)TAGS): New target.
4c175203 2792 (TAGS): Fix dependency list.
0b54ce28 2793
63d1b174
GM
2794 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2795 with input blocked.
2796
d827466c
GM
27972001-06-30 Gerd Moellmann <gerd@gnu.org>
2798
2799 * emacs.c (main): Remove extern declaration for sys_nerr, which
2800 isn't used and causes a compilation error with GCC 3.0 on
2801 FreeBSD 4.3.
2802
b5cb1ada
GM
28032001-06-27 Gerd Moellmann <gerd@gnu.org>
2804
a5d3ec3f 2805 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2806 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2807 (toplevel): Include <signal.h> and syssignal.h.
2808
b5cb1ada
GM
2809 * sound.c (vox_configure, vox_close): Turn off atimers
2810 around ioctls.
2811
d9bad487
GM
28122001-06-26 Gerd Moellmann <gerd@gnu.org>
2813
fdbb67fe
GM
2814 * keyboard.c (read_char) <non_reread>: Record the previous idle
2815 start time before calling timer_stop_idle.
2816 (read_char) <reread_first>: After processing a help-echo event,
2817 restore the previous idle start time.
2818
d9bad487
GM
2819 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2820 the start of invisible text.
2821 (setup_for_ellipsis): New function.
2822 (next_overlay_string): After all overlay strings have been
2823 processed, display an ellipsis if necessary.
2824 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2825 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2826
2827 * dispextern.h (struct iterator_stack_entry): Add member
2828 display_ellipsis_p.
2829
2b9c25e0
GM
28302001-06-25 Gerd Moellmann <gerd@gnu.org>
2831
80de57df
GM
2832 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2833 on the value of the wait-for-wm frame parameter.
2834
2835 * xterm.h (struct x_output): Add member wait_for_wm.
2836
2837 * xfns.c (Qwait_for_wm): New variable.
2838 (x_frame_parms): Add entry for `wait-for-wm".
2839 (x_set_wait_for_wm): New function.
2840 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2841 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2842
2b9c25e0
GM
2843 * xdisp.c (try_window_id) <all changes below window end>: Don't
2844 take this shortcut if ZV is visible in the window.
2845 (try_window_id): When checking for window start being in changed
2846 text, don't check that the buffer's size has changed.
2847
f772775c
RS
28482001-06-23 Richard M. Stallman <rms@gnu.org>
2849
2850 * minibuf.c (Fcompleting_read): Doc fix.
2851
fa9090b8
GM
28522001-06-19 Gerd Moellmann <gerd@gnu.org>
2853
2854 * composite.c (Ffind_composition_internal): Accept ZV
2855 and a string's end position as POS.
2856
f6f1beba
GM
28572001-06-18 Gerd Moellmann <gerd@gnu.org>
2858
2859 * composite.c (Ffind_composition_internal): Check POS
2860 for validity.
2861
0ae83348
EZ
28622001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2863
2864 * editfns.c (Fmessage_box): If the frame is not under a window
2865 system, output the message in the echo area.
2866
e4cdc335
RS
28672001-06-14 Richard M. Stallman <rms@gnu.org>
2868
2869 * xdisp.c (try_window_id): When EOB is visible, don't treat
2870 insertion at EOB as if it were "off the bottom of the screen."
2871
a55a5f3c
AI
28722001-06-11 Andrew Innes <andrewi@gnu.org>
2873
2874 * w32proc.c (create_child): Add new parameter is_gui_app.
2875 (w32_executable_type): Add new parameter is_gui_app.
2876 (sys_spawnve): Use it.
2877 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2878 SIGQUIT. This matches better how the signals are interpreted by
2879 MSVC compiled programs.
2880 (syms_of_ntproc): Update docstring.
2881
1b85dc1c
SM
28822001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2883
2884 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2885 well otherwise note_mouse_highlight might optimize away highlighting
2886 if we pass over that same overlay again.
2887
b75f8eab
EZ
28882001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2889
2890 * lread.c (Fload): Document that the argument is run via
2891 substitute-in-file-name.
2892
94843cc1
GM
28932001-05-31 Gerd Moellmann <gerd@gnu.org>
2894
b14659e6
GM
2895 * Makefile.in (bootstrap-doc): New target.
2896 (bootstrap-emacs): Depend on it.
2897
0894672f
GM
2898 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2899 auto-save-list-file-name when shutting down Emacs, because
2900 creating the directory might signal an error, and leaves
2901 Emacs in a strange state.
2902
94843cc1
GM
2903 * term.c: (tty_cursor_hidden): New variable.
2904 (update_begin): Don't call tty_hide_cursor. Clean up.
2905 (update_end, set_terminal_window, set_scroll_region): Clean up.
2906 (ring_bell, reset_terminal_modes): Clean up.
2907 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2908 on tty_cursor_hidden.
2909 (write_glyphs): Call tty_hide_cursor.
2910
db3a49a6
SM
29112001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2912
2913 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2914
8bd189fb
GM
29152001-05-30 Gerd Moellmann <gerd@gnu.org>
2916
6f1be3b9
GM
2917 * xfns.c (enum image_value_type): New enumerator
2918 IMAGE_STRING_OR_NIL_VALUE.
2919 (parse_image_spec): Handle it.
2920 (xbm_format, pbm_format): Use it for :foreground and :background.
2921 (xbm_load, pbm_load): Check for nil color names.
2922
8bd189fb
GM
2923 * xterm.c (note_mouse_highlight): If an overlapping overlay
2924 exists, but we find that we highlight the same overlay as before,
2925 don't do the highlighting again.
2926
7bdba03c
GM
29272001-05-29 Gerd Moellmann <gerd@gnu.org>
2928
4c329aa8
GM
2929 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2930 Protect unibyte strings created by replacing their multibyte
2931 equivalents in menu_items.
2932
e15e2828
GM
2933 * keymap.c (Fsingle_key_description): NUL-terminate the string
2934 buffer before calling build_string.
2935
7bdba03c
GM
2936 * callproc.c (Fcall_process): Deal with decode_coding returning
2937 CODING_FINISH_INCONSISTENT_EOL.
2938
89c8dc6c
GM
29392001-05-28 Gerd Moellmann <gerd@gnu.org>
2940
db3a49a6 2941 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2942 an item's name with its key description in case the description
2943 is a multibyte string.
2944
2945 * keymap.c (Fsingle_key_description): Create a multibyte string
2946 only if necessary.
2947
eb04d6cd
GM
2948 * macros.c (Fstart_kbd_macro): Doc fix.
2949
8bd6307f
GM
2950 * xterm.c (cursor_in_mouse_face_p): New function.
2951 (x_draw_stretch_glyph_string): Use it to choose a different GC
2952 when drawing a cursor within highlighted text.
2953
e26c4089
GM
2954 * editfns.c (char_property_eq): Put in #if 0.
2955
2956 * indent.c (string_display_width): Put in #if 0.
2957
2958 * lread.c (Fload): Remove unused label.
2959
89c8dc6c
GM
2960 * termcap.c (speeds): Put in #if 0.
2961
9a1211f2
GM
29622001-05-18 Gerd Moellmann <gerd@gnu.org>
2963
29148a3f
GM
2964 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2965
9a1211f2
GM
2966 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2967 transformation matrix by 10.
2968
09393d07
GM
29692001-05-16 Gerd Moellmann <gerd@gnu.org>
2970
2971 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2972 only if it's equal to the former foreground pixel color.
db3a49a6 2973 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2974 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2975
460e6bae
GM
29762001-05-16 Dave Love <fx@gnu.org>
2977
2978 * insdel.c (signal_before_change, signal_after_change): Consider a
2979 local change hook which changes the buffer.
99c78ce8
GM
2980
2981 * process.c (read_process_output): Don't call signal_after_change
2982 and update_compositions after insert_from_string_before_markers.
2983
dbcf3c03
GM
29842001-05-16 Gerd Moellmann <gerd@gnu.org>
2985
a90b3d3c
GM
2986 * xfaces.c (split_font_name): Use the right field when
2987 checking for `[...]' syntax.
2988
1b7818b4
GM
2989 * buffer.c (copy_overlays): New function.
2990 (clone_per_buffer_values): Use it.
2991
2992 * buffer.h (OVERLAY_PLIST): New macro.
2993
9bae8781
GM
2994 * keymap.c (Fsingle_key_description): Replace a build_string with
2995 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2996
dbcf3c03
GM
2997 * fontset.c (Ffontset_info): Check that face is non-null
2998 before accessing its fields.
2999
8a1ae4dd
GM
30002001-05-15 Gerd Moellmann <gerd@gnu.org>
3001
18a0a39e
GM
3002 * keyboard.c (read_key_sequence): Prevent generating a fake
3003 prefix key twice.
3004
e335b66a
GM
3005 * xfaces.c (split_font_name): Handle `[...]' for the right
3006 font name fields.
3007
8a1ae4dd
GM
3008 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3009 of CCL_STAT_INVALID_CMD.
3010
3cf80731
SM
30112001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3012
33568849
SM
3013 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3014 in <var> has no default value yet.
3015
3cf80731
SM
3016 * xfaces.c (try_alternative_families): First try the FAMILY.
3017 And if nothing is found in the end, try again with scalable fonts.
3018 (try_font_list): Let try_alternative_families do a bit more of
3019 the work. Only use FAMILY if it is not nil.
3020 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3021
933b0249
GM
30222001-05-14 Gerd Moellmann <gerd@gnu.org>
3023
58e5af83
GM
3024 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3025 pointer shape when show_mouse_face has already done it.
33568849 3026
58e5af83 3027 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3028 full-width rows.
3029
7b16a6bf
GM
3030 * xfaces.c (split_font_name): Make sure to leave the loop
3031 with the right value of `i'.
3cf80731 3032
933b0249
GM
3033 * xfaces.c (split_font_name): Handle matrix transformations
3034 in the pixel and point size fields of XLFD font names.
3035 (xlfd_point_size): Likewise.
3036
dddcbf00
EZ
30372001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3038
3cf80731 3039 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3040 (x_to_w32_font): Add prototype.
3041
7689ef0b
EZ
3042 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3043 redefining, to avoid compiler warnings.
3044
e7c15bba
EZ
3045 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3046
dddcbf00
EZ
3047 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3048 (w32_get_bdf_glyph): Cast between unsigned char and char when
3049 passing arguments to subroutines, to shut up compiler warnings.
3050 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3051 GET_HEX_VAL.
3052
3053 * xfaces.c: Include keyboard.h before frame.h, not after it.
3054
3055 * widget.c: Include keyboard.h before frame.h.
3056
3057 * w32term.h (struct image, struct face): Forward declaration, to
3058 avoid compiler warnings.
3059
7bd2d083
GM
30602001-05-11 Gerd Moellmann <gerd@gnu.org>
3061
47e72862
GM
3062 * keyboard.c (read_key_sequence): Don't modify events when
3063 generating fake prefix keys (mode-line, scroll-bar, ...) since
3064 this prevents proper processing of such events when pushed back
3065 into unread-command-events.
3066
dd5f324b
GM
3067 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3068 actually redrawn. Make the function static.
3069 (note_mouse_highlight): Fix a case where the mouse cursor
3070 was changed back to the text cursor.
3071
3072 * xterm.h (clear_mouse_face): Remove prototype.
3073
d88a79d4
GM
3074 * xdisp.c (try_window_id): Fix the fix and set the right
3075 window_end_vpos.
3076
3077 * xdisp.c (try_window_id): Fix computation of window end in the
3078 case that lines were deleted at the end of the window. Add some
3079 more debug_method_adds.
0416532f 3080
7bd2d083
GM
3081 * xfaces.c (try_alternative_families): New function.
3082 (try_font_list): Use it. If ATTRS specifies a family, check
3083 fonts from that family first.
3084 (choose_face_font): Remove code setting the family part of
3085 the pattern to nil.
3086
23fca891
GM
30872001-05-10 Gerd Moellmann <gerd@gnu.org>
3088
ff9aa2ca
GM
3089 * xdisp.c (try_window_id): Fix case of all changes before
3090 the window start.
7b2654b5 3091
23fca891
GM
3092 * xdisp.c (try_window_id): Add some xasserts.
3093
e9726794
GM
30942001-05-09 Gerd Moellmann <gerd@gnu.org>
3095
3096 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3097
9e53a675
GM
30982001-05-09 Dave Love <fx@gnu.org>
3099
3100 * xdisp.c (GIVE_UP): Fix for K&R C.
3101
0d487c52
GM
31022001-05-09 Gerd Moellmann <gerd@gnu.org>
3103
fe88d421
GM
3104 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3105
0d487c52
GM
3106 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3107 back to the text cursor shape without need.
3108
1e9fc92e
GM
31092001-05-07 Gerd Moellmann <gerd@gnu.org>
3110
a2a6232e
GM
3111 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3112
3113 * dispextern.h (inverse_video): Declare extern.
3114
1e9fc92e
GM
3115 * keyboard.c (delete_kboard): Handle the case that selected_frame
3116 has been deleted in the course of x_connection_closed.
3117
12949a7f
EZ
31182001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3119
7b2654b5
SM
3120 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3121 Fix the change from 2001-04-30.
12949a7f 3122
2fa2f461
GM
31232001-05-03 Gerd Moellmann <gerd@gnu.org>
3124
a779d213
GM
3125 * xfns.c (file_dialog_unmap_cb): New function.
3126 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3127 where a dialog is closed via the window manager.
3128
7b2654b5 3129 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3130 the window start or all below the window end mostly rewritten.
3131 (redisplay_window): Move the tests if try_window_id is
3132 applicable to try_window_id.
3133 (GIVE_UP): New macro.
3134
3356df63
GM
31352001-05-02 Gerd Moellmann <gerd@gnu.org>
3136
a39202f6 3137 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3138 currently being updated, mark the frame garbaged.
3139 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3140 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3141
3356df63
GM
3142 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3143 again if it has already been drawn.
3144
a9d2fd1d
SM
31452001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3146
3147 * syntax.c (update_syntax_table): Check that oldi has the same
3148 properties as old_prop before deciding not to invalidate.
3149
c95fc5f1
GM
31502001-04-30 Gerd Moellmann <gerd@gnu.org>
3151
a9793e45
GM
3152 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3153 read-only text that is so because of text properties.
3154
c95fc5f1 3155 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3156 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3157 windows that are components of a Lucid menu bar.
3158
5a5d9185
GM
31592001-04-27 Gerd Moellmann <gerd@gnu.org>
3160
3161 * term.c (turn_on_face): Fix reverse video handling on terminals
3162 that don't support colors.
3163
ba973f7a
GM
31642001-04-26 Gerd Moellmann <gerd@gnu.org>
3165
3166 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3167 a non-buffer.
3168
8c56a983
GM
31692001-04-25 Gerd Moellmann <gerd@gnu.org>
3170
a728644c
GM
3171 * term.c (toggle_highlight): New function.
3172 (turn_on_face): Change handling of reverse video.
3173
7b2654b5
SM
3174 * process.c (wait_reading_process_input):
3175 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3176
bfd8410f
GM
3177 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3178 of the number of overlays to check.
3179
be2488ca
GM
3180 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3181
8c56a983
GM
3182 * xdisp.c (try_window_id): Fix a case where window_end_pos
3183 and window_end_bytepos were not adjusted.
3184
522d42f7
GM
31852001-04-23 Gerd Moellmann <gerd@gnu.org>
3186
3187 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3188 zero instead of -1.
3189
78c1afb6
EZ
31902001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3191
a9d2fd1d
SM
3192 * process.c (wait_reading_process_input) [!subprocesses]:
3193 Don't reference waiting_for_user_input_p, it's not defined in the
3194 branch without async subprocesses support.
78c1afb6 3195
a2fab450
GM
31962001-04-19 Gerd Moellmann <gerd@gnu.org>
3197
a122a38e
GM
3198 * keyboard.c (delete_kboard): Prevent a dangling reference
3199 from current_kboard to KB, which is freed.
3200
a9d2fd1d
SM
3201 * process.c (wait_reading_process_input):
3202 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3203 read_key_sequence aware of buffer changes from under it.
3204
0f8d6dc7
GM
32052001-04-18 Gerd Moellmann <gerd@gnu.org>
3206
eeffb293
GM
3207 * xfaces.c (Qscalable_fonts_allowed): New variable.
3208 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3209 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3210 removed.
eeffb293 3211 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3212 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3213 for scalable-fonts-allowed to t.
eeffb293 3214
0f8d6dc7
GM
3215 * fileio.c (Finsert_file_contents): If the file size returned from
3216 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3217 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3218
eec2d1de
EZ
32192001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3220
3221 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3222 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3223 (__memalign_hook): Make the two prototypes consistent.
3224
f4f480bd
GM
32252001-04-17 Gerd Moellmann <gerd@gnu.org>
3226
3227 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3228 matrix of mini-windows.
3229
52283633
SM
32302001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3231
3232 * intervals.c (find_interval): Don't rebalance during signal handling.
3233
ec2423c9
GM
32342001-04-11 Gerd Moellmann <gerd@gnu.org>
3235
30cb0001 3236 * fns.c: Include blockinput.h.
52283633 3237
ec2423c9
GM
3238 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3239
719d83ad
GM
32402001-04-10 Gerd Moellmann <gerd@gnu.org>
3241
60f8d735
GM
3242 * fns.c (Fcompare_strings): Fix return values.
3243
afffeb57
GM
3244 * window.c (window_scroll): Change the meaning of N to mean
3245 N screen-fulls or N lines.
3246 (window_scroll_pixel_based, window_scroll_line_based)
3247 (scroll_command, Fscroll_other_window): Change accordingly.
3248
52283633
SM
3249 * window.c (window_scroll_pixel_based, Frecenter):
3250 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3251 height of the window.
3252
3253 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3254 instead of using it.last_visible_y for the height of the window.
52283633 3255
719d83ad 3256 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3257 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3258
3259 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3260 able to write to hidden and system files. From Dan Holmsand
3261 <dan@eyebee.com>.
719d83ad 3262
8ddf3ee1
GM
3263 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3264 Holmsand <dan@eyebee.com>.
719d83ad 3265
522ed7fb
GM
32662001-04-09 Gerd Moellmann <gerd@gnu.org>
3267
9170e5d4
GM
3268 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3269
522ed7fb
GM
3270 * window.c (window_internal_height): Return 1 less if the
3271 window has a header line.
3272
3273 * xdisp.c (try_window_id): When scrolling on a terminal, take
3274 the change of window_internal_height into account.
3275
ceeb3d7d
EZ
32762001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3277
3278 * gmalloc.c (align): If the argument SIZE would overflow
3279 __malloc_ptrdiff_t, fail right away.
3280
63685b9d
GM
32812001-04-06 Gerd Moellmann <gerd@gnu.org>
3282
3283 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3284 Make sure the tooltip is completely visible.
3285 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3286
3287 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3288
3289 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3290
3ffb33bb
DL
32912001-04-06 Dave Love <fx@gnu.org>
3292
52283633
SM
3293 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3294 Fix test of `from'.
3ffb33bb 3295
869fb12c
GM
32962001-04-06 Gerd Moellmann <gerd@gnu.org>
3297
52283633 3298 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3299
869fb12c
GM
3300 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3301
441bf856
GM
33022001-04-05 Gerd Moellmann <gerd@gnu.org>
3303
4d664b04
GM
3304 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3305
52283633 3306 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3307
30ca89f5
GM
3308 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3309 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3310
3311 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3312 shell widget's position only if it is non-null.
3313
52283633
SM
3314 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3315 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3316
81a81c0f
GM
3317 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3318 FILENAME to bring it in synch with the documentation.
3319
441bf856
GM
3320 * xfaces.c (realizing_basic_faces_p): Renamed from
3321 realize_default_face_p.
3322 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3323 (realize_default_face): Don't set the flag.
3324
702a1e8e
GM
33252001-04-04 Gerd Moellmann <gerd@gnu.org>
3326
1013f4e3
GM
3327 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3328
52283633
SM
3329 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3330
1013f4e3
GM
3331 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3332 the buffer that was used for echoing.
3333
702a1e8e
GM
3334 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3335 (first_font_matching): Removed unused function.
3336 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3337 (may_use_scalable_font_p): Remove parameter FONT; rename
3338 parameter NAME to FONT.
3339 (x_face_list_fonts): Fix missing bounds check.
3340 (realizing_default_face_p): New variable.
3341 (realize_default_face): Set and clear that flag.
3342 (x_face_list_fonts): When called during the realization of the
3343 default face, and no matching fonts are found when ignoring
3344 scalable fonts and fonts matching a regexp from
3345 face-ignored-fonts, try without ignoring fonts.
3346
f9dbcda4
GM
33472001-04-03 Gerd Moellmann <gerd@gnu.org>
3348
ad18ffb1
GM
3349 * xfns.c (postprocess_image): New function.
3350 (lookup_image): Call it for all image types except PostScript.
3351 (x_kill_gs_process): Call postprocess_image.
3352
f9dbcda4
GM
3353 * xterm.c (x_use_underline_position_properties): New variable.
3354 (x_draw_glyph_string): Use it.
3355 (syms_of_xterm): DEFVAR_BOOL it.
3356
651f03b6
GM
33572001-04-02 Gerd Moellmann <gerd@gnu.org>
3358
3359 * xterm.c (x_alloc_nearest_color_1): New function.
3360 (x_alloc_nearest_color): Use it.
3361 (x_color_cells): Take a Display as argument, instead of a frame.
3362 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3363 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3364 (x_initialize): Register cvt_string_to_pixel as resource converter
3365 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3366
73d75a62
GM
33672001-03-30 Gerd Moellmann <gerd@gnu.org>
3368
b2046df8
GM
3369 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3370 (set_iterator_to_next): If a string from a display property ends,
3371 consider the case that this might also be the end of an
3372 overlay string having the display property.
3373
52283633 3374 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3375
87d8eba4
GM
3376 * xdisp.c (reseat_to_string): Undo last change.
3377
73d75a62
GM
3378 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3379 matrix of a window when the header line changes, when
3380 new rows are allocated, or when the width changes.
3381
911a2406
EZ
33822001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3383
52283633 3384 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3385
aea51abe
EZ
33862001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3387
3388 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3389 deprecated.
3390
176bc847
GM
33912001-03-29 Gerd Moellmann <gerd@gnu.org>
3392
ed31fabf
GM
3393 * data.c (Fsubr_interactive_form): New function.
3394 (syms_of_data): Defsubr it.
3395
176bc847
GM
3396 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3397 (live_float_p, live_misc_p): Return 1 only if the offset of the
3398 pointer in its block is >= 0.
3399
e59d0e9d
GM
34002001-03-28 Paul Eggert <eggert@twinsun.com>
3401
3402 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3403 microseconds calcuation. Avoid double-rounding problem.
3404 In doc string, warn that the result is approximate.
3405
f827b862
GM
34062001-03-28 Gerd Moellmann <gerd@gnu.org>
3407
30a3f61c
GM
3408 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3409 bind `inhibit-eval-during-redisplay' to t.
3410
3411 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3412
3413 * xdisp.c (inhibit_eval_during_redisplay)
3414 (Qinhibit_eval_during_redisplay): New variables.
3415 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3416 don't eval, return nil instead.
3417 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3418 Initialize Qinhibit_eval_during_redisplay.
3419
e719f5ae
GM
3420 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3421 the iterator's multibyte_p flag.
3422
deb2613a
GM
3423 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3424 instead of setting it to zero; it's incremented for each frame
3425 where the menu face is changed.
3426
52283633
SM
3427 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3428 change bottom shadow accordingly.
3429
3430 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3431 intersections here.
3432 (expose_window): Do it here instead.
52283633 3433 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3434
f827b862
GM
3435 * bytecode.c (BYTE_CODE_QUIT): New macro.
3436 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3437
4bde0ebb
GM
34382001-03-27 Gerd Moellmann <gerd@gnu.org>
3439
607ec83c
GM
3440 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3441 Give up if matrix starts in an ellipsis.
3442 (init_from_display_pos): Do nothing if POS doesn't specify
3443 a dpvec_index but the iterator has such a position.
3444
0245398f
GM
3445 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3446
aba25348
GM
3447 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3448 x/y position is (0, 0) after destroying the menu bar, restore
3449 its original position.
3450
4bde0ebb
GM
3451 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3452 (init_from_display_pos): Use it.
3453 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3454
8cdb267e
GM
34552001-03-26 Gerd Moellmann <gerd@gnu.org>
3456
3457 * xdisp.c (try_window_id): Undo last change.
3458
9948db79
EZ
34592001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3460
3461 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3462
3463 * buffer.c (syms_of_buffer): Doc fix.
3464
2eddf899
GM
34652001-03-26 Gerd Moellmann <gerd@gnu.org>
3466
3467 * xfaces.c (x_update_menu_appearance): Use local variable
3468 popup_path for setting font resources.
3469
6c145d35
EZ
34702001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3471
6a65b1b5
EZ
3472 * frame.c (Fframe_list): Don't reference tip_frame if
3473 HAVE_WINDOW_SYSTEM is not defined.
3474
6c145d35
EZ
3475 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3476 <wl@gnu.org>.
3477
d74c1900
GM
34782001-03-25 Gerd Moellmann <gerd@gnu.org>
3479
20fbd925
GM
3480 * xdisp.c (init_from_display_pos): Test invisible property
3481 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3482
927c5b3b
GM
3483 * xdisp.c (redisplay_internal) <update one window>: Make sure
3484 last_arrow_position and last_arrow_string are set.
3485
d74c1900
GM
3486 * frame.c (Fframe_list): Don't return a tooltip frame.
3487
091f8878
GM
34882001-03-23 Gerd Moellmann <gerd@gnu.org>
3489
52283633
SM
3490 * xdisp.c (mark_window_display_accurate_1): New function,
3491 extracted from mark_window_display_accurate.
3492 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3493 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3494 (mark_window_display_accurate): Use it.
3495 (redisplay_internal): Use it for the selected window.
3496 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3497 for the selected frame.
3498
ac90c44f
GM
3499 * xdisp.c Use make_number, for readability.
3500 (try_window_id): Disable rows below the window end.
3501 (try_window_reusing_current_matrix): Use cursor_row_p.
3502 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3503 of rows.
3504 (init_from_display_pos): If POS specifies a position in a display
3505 vector, maybe get the iterator set up for that ellipsis.
43c09969 3506
091f8878
GM
3507 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3508
991786dd
EZ
35092001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3510
3511 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3512
6c29b43c
GM
35132001-03-23 Gerd Moellmann <gerd@gnu.org>
3514
3515 * xfaces.c (x_update_menu_appearance): Use a different path
3516 for Lucid popup menus.
3517
d8731202
SM
35182001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3519
3520 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3521
3522 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3523 (string_buffer_position): Use `make_number'.
3524
f61a541b
GM
35252001-03-22 Gerd Moellmann <gerd@gnu.org>
3526
3c9e997b
GM
3527 * xfaces.c (x_update_menu_appearance): Renamed from
3528 x_set_menu_face_resources. Use different resources for popups.
3529
3530 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3531 (GC_CHECK_STRING_BYTES): Don't define.
3532
364cd450
GM
3533 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3534 Removed, together with subroutines.
3535 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3536 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3537
d8731202
SM
3538 * dispextern.h (x_set_menu_resources_from_menu_face):
3539 Remove prototype.
364cd450 3540
d8731202 3541 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3542 Remove calls to x_set_menu_resources_from_menu_face.
3543
d8731202
SM
3544 * xfaces.c (xm_set_menu_resources_from_menu_face):
3545 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3546
3547 * xmenu.c: Include widget.h.
3548 (single_submenu): Return int. Some cleanup.
3549 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3550
140330de
GM
35512001-03-21 Gerd Moellmann <gerd@gnu.org>
3552
3553 * xterm.c (x_update_window_end): Handle overwritten mouse face
3554 also for tool bar windows.
3555 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3556 DRAW is DRAW_IMAGE_RAISED.
3557
1741905c
GM
35582001-03-20 Gerd Moellmann <gerd@gnu.org>
3559
fa88947e
GM
3560 * print.c (syms_of_print): Doc fixes.
3561
1741905c
GM
3562 * fns.c (Fmd5): Doc fix.
3563
ade0bee1
GM
35642001-03-19 Gerd Moellmann <gerd@gnu.org>
3565
357e7376
GM
3566 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3567 Clear area of the frame not occupied by the scroll bar.
3568
c2c097cc
GM
3569 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3570 tip frame's root window buffer to *tip* right after creating
3571 the frame.
3572
ade0bee1
GM
3573 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3574 is an integer don't have to be for space characters.
3575
88c6e37e
GM
35762001-03-16 Gerd Moellmann <gerd@gnu.org>
3577
52283633
SM
3578 * indent.c (current_column, current_column_1, Fmove_to_column)
3579 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3580
c62eed76
KH
35812001-03-15 Kenichi Handa <handa@etl.go.jp>
3582
3583 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3584 drawing glyph string.
3585
c899e7e6
GM
35862001-03-15 Gerd Moellmann <gerd@gnu.org>
3587
d0bbfc99
GM
3588 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3589 (command_loop_1): Undo last change.
3590
03d1a189
GM
3591 * xterm.c (fast_find_position): Return the correct vpos.
3592
c899e7e6 3593 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3594 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3595 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3596 Call store_symval_forwarding with BUF null.
3597 (set_internal): Call store_symval_forwarding with the BUF
3598 parameter passed to set_internal. Formerly, the value was always
3599 set in the current buffer; the buffer recorded in specbind for
3600 this case wasn't used.
3601 (arith_driver): Reindent.
3602
52283633
SM
3603 * buffer.c (swap_out_buffer_local_variables):
3604 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3605
3606 * lisp.h (store_symval_forwarding): Change prototype.
3607
3608 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3609
57ac7c81
GM
36102001-03-14 Gerd Moellmann <gerd@gnu.org>
3611
697617d9
GM
3612 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3613 FOR_DELETION. Avoid resizing the mini-window of the selected
3614 frame if FOR_DELETION is set.
3615 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3616 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3617 signature.
3618
3619 * window.c (Fset_window_configuration): Change call to
3620 do_switch_frame to new format.
3621
3622 * keyboard.c (quit_throw_to_read_char): Change call to
3623 do_switch_frame to new format.
3624
3625 * lisp.h (do_switch_frame): Change prototype.
3626
819dce0f
GM
3627 * frame.c (Fframe_parameters): In the `buffer-list' frame
3628 parameter, store the buffer list of FRAME, not the list of the
3629 selected frame.
3630
57ac7c81
GM
3631 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3632 box just because the glyph row's full_width_p flag is set.
3633
65008712
GM
36342001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3635
3636 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3637 skip the padding blanks inserted in extend_face_to_end_of_line,
3638 before checking for trailing whitespace.
3639
159cf431
GM
36402001-03-13 Gerd Moellmann <gerd@gnu.org>
3641
52283633 3642 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3643 Remove special handling for LessTif/Motif.
3644 (toplevel): Don't include Xm/Xm.h.
3645
52283633
SM
3646 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3647 Remove workaround code for LessTif; it doesn't work anymore.
3648
2564ea1b 3649 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3650 Xm/ScrollBarP.h.
afcdc0a1 3651
52283633
SM
3652 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3653 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3654 contemporary LessTif.
3655
52283633
SM
3656 * xfaces.c (xm_set_menu_resources_from_menu_face):
3657 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3658
159cf431
GM
3659 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3660 removing button grabs.
3661
c6f7429a
KH
36622001-03-13 Kenichi Handa <handa@etl.go.jp>
3663
cb82d767
KH
3664 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3665 and clip-large-size-font as obsolete.
3666
c6f7429a
KH
3667 * lread.c (read_multibyte): Check the validity of multibyte
3668 sequence. If invalid, return the first byte.
3669
760cefb5
GM
36702001-03-12 Gerd Moellmann <gerd@gnu.org>
3671
3672 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3673 before running the command; timer functions or process
3674 filters may have set it.
3675
5141f9d0
EZ
36762001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3677
3678 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3679 Doc fix.
3680
b6a15240
GM
36812001-03-12 Gerd Moellmann <gerd@gnu.org>
3682
3683 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3684 to sprintf.
3685
95522746
GM
36862001-03-09 Gerd Moellmann <gerd@gnu.org>
3687
db14cfc5
GM
3688 * dispextern.h (string_buffer_position): Add prototype.
3689
52283633 3690 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3691 (single_display_prop_string_p): New functions.
3692
3693 * xterm.c (note_mouse_highlight): If there's no help-echo on
3694 a string, look at the buffer text ``under'' it.
3695
3696 * keyboard.c (make_lispy_event): Add string info to the event,
3697 analogous to what's done on mode lines.
3698 (read_key_sequence): For a click on a string, consider `local-map'
3699 and `keymap' of that string.
3700
52283633
SM
3701 * keyboard.c (make_lispy_event, make_lispy_movement):
3702 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3703
3704 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3705
3706 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3707 POS; return void.
3708
95522746
GM
3709 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3710 flags argument to emacs_open; it seems to conflict with O_EXCL.
3711
898a399d
KH
37122001-03-09 Kenichi Handa <handa@etl.go.jp>
3713
28cd4910
KH
3714 * composite.h (struct composition): Change types of members;
3715 glyph_len to unsigned, width to unsigned short.
898a399d 3716
4cdf6a6c
AI
37172001-03-08 Andrew Innes <andrewi@gnu.org>
3718
3719 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3720 menu titles.
3721
129004d3
GM
37222001-03-08 Gerd Moellmann <gerd@gnu.org>
3723
221dd3e7
GM
3724 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3725 instead of nil.
3726
52283633 3727 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3728 help-echo in strings.
3729 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3730 (fast_find_string_pos): New function.
3731
52283633
SM
3732 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3733 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3734
3735 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3736 Handle `mouse-face'.
3737
3738 * dispextern.h (face_at_string_position): Change prototype.
3739
52283633 3740 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3741
129004d3
GM
3742 * keyboard.c (make_lispy_event): Avoid generating drag events
3743 if the mouse hasn't actually moved to another buffer position.
52283633 3744
80c8ab8c
DL
37452001-03-08 Dave Love <fx@gnu.org>
3746
129004d3 3747 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3748
989521fd
GM
37492001-03-08 Gerd Moellmann <gerd@gnu.org>
3750
3751 * process.c (Fset_process_window_size): Fix a typo.
3752
bb5c338d
KH
37532001-03-08 Kenichi Handa <handa@etl.go.jp>
3754
3755 * coding.c (detect_coding_sjis): Do more rigid check.
3756 (detect_coding_big5): Likewise.
3757 (decode_coding_sjis_big5): Likewise.
3758 (Fdetect_coding_region): Call detect_coding_system with tailing
3759 anchor byte `\0' for more rigid detection.
52283633 3760 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3761 (Fdetect_coding_string): Likewise.
3762
8b8f9197
SM
37632001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3764
3765 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3766 a string before extracting its data.
3767
3bdf2660
GM
37682001-03-07 Gerd Moellmann <gerd@gnu.org>
3769
3770 * window.c (Frecenter): Rewrite code handling negative values
3771 of ARG on graphical frames.
3772
37732001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3774
3775 * window.c (displayed_window_lines): If W->start is outside the
3776 accessible portion of the buffer, call start_display with BEGV or
3777 ZV instead of W->start.
3778
471f86b9
GM
37792001-03-07 Gerd Moellmann <gerd@gnu.org>
3780
2ab62c6c
GM
3781 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3782
471f86b9
GM
3783 * process.c (Fset_process_filter): Don't crash if the input
3784 file descriptor of PROCESS is closed.
3785 (Fset_process_window_size): Likewise.
3786
101922c3
GM
37872001-03-06 Kenichi Handa <handa@etl.go.jp>
3788
3789 * xterm.c (XTflash): Make the timeout of select shorter, and call
3790 select repeatedly until the desired time expires.
3791
45d051a7
GM
37922001-03-06 Gerd Moellmann <gerd@gnu.org>
3793
3794 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3795
3796 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3797
3798 * lisp.h (Vwindow_list): Declare extern.
3799
8f372c46
EZ
38002001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3801
3802 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3803
f16a7aa5
GM
38042001-03-06 Gerd Moellmann <gerd@gnu.org>
3805
157ae273
GM
3806 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3807 to detect a case where we have to highlight a different region
3808 despite not having left the currently highlighted region.
3809 Set mouse_face_overlay in the x_display_info.
45d051a7 3810 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3811
3812 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3813
3814 * buffer.c (mouse_face_overlay_overlaps): New function.
3815
3816 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3817 (Qmouse_face): Declare extern.
3818
f16a7aa5
GM
3819 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3820 if face_change_count is non-zero.
3821
827afcac
KH
38222001-03-06 Kenichi Handa <handa@etl.go.jp>
3823
3824 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3825 that the source is unibyte.
3826
14c7242e
DL
38272001-03-05 Dave Love <fx@gnu.org>
3828
827afcac 3829 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3830
c28b847b
GM
38312001-03-05 Gerd Moellmann <gerd@gnu.org>
3832
3833 * minibuf.c (read_minibuf): Clean up the binding stack if
3834 called noninteractively.
3835
b86644f2
KH
38362001-03-05 Kenichi Handa <handa@etl.go.jp>
3837
3838 * coding.c (syms_of_coding): Docstring modified.
3839
203682cc 38402001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3841
3842 * charset.c (char_to_string): If a single byte char has modifier
3843 bits that can't be reflected to the character code, ignore them
45d051a7 3844 instead of signaling an error.
b86644f2 3845
e30bd7b7
EZ
38462001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3847
3848 * s/msdos.h: Update copyright notice.
3849
3850 * dosfns.h: Update copyright notice.
3851
3852 * dosfns.c: Update copyright notice.
3853
3854 * msdos.c: Update copyright notice.
3855
b52b65bd
GM
38562001-03-02 Gerd Moellmann <gerd@gnu.org>
3857
3858 * xterm.c (glyph_rect): New function.
3859 (XTmouse_position): Use it to raise the threshold for mouse
3860 movement event generation.
3861
53c4b1e6
EZ
38622001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3863
3864 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3865 specifies (reverse . t), reverse the initial screen colors.
3866 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3867 but we are reversing the colors, set bg_set, not fg_set.
3868 Likewise for setting background-color and reversing: set fg_set.
3869 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3870 in effect.
3871
3872 * xfaces.c (Finternal_set_lisp_face_attribute)
3873 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3874 parameters alist.
3875
f964b4d7
GM
38762001-03-02 Gerd Moellmann <gerd@gnu.org>
3877
ef53d75e
GM
3878 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3879 to a single slash in the middle of file names.
3880
52283633 3881 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3882 Accept only alphanumeric time zone names.
3883
f964b4d7
GM
3884 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3885 or width area.
3886 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3887 a widget to zero height.
52283633 3888
c3c45f65
GM
38892001-03-01 Gerd Moellmann <gerd@gnu.org>
3890
3891 * window.c (Fwindow_end): Call move_it_past_eol only if
3892 ending up on a partially visible line.
3893
028d739a
DL
38942001-03-01 Dave Love <fx@gnu.org>
3895
3896 * ccl.c (Fccl_execute): Doc fix.
3897
57c5889c
GM
38982001-03-01 Gerd Moellmann <gerd@gnu.org>
3899
35f59f6b
GM
3900 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3901 of the tool bar before calling x_figure_window_size.
3902
f84ff02c
GM
3903 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3904 NULL after destroying it, otherwise XTread_socket can access a
3905 destroyed widget when input is unblocked.
3906
8b8f9197 3907 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3908
57c5889c
GM
3909 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3910 same name as before, although there was a change in fontsets.
3911
224227d1
KR
39122001-02-28 Ken Raeburn <raeburn@gnu.org>
3913
4560730a
KR
3914 * lisp.h (Fframe_parameter): Declare.
3915
224227d1 3916 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3917 Lisp_Object.
224227d1 3918
ece93c02
GM
39192001-02-28 Gerd Moellmann <gerd@gnu.org>
3920
11ef99b9
GM
3921 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3922 NULL instead.
3923
3924 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3925 NULL instead.
3926
ece93c02
GM
3927 * alloc.c (toplevel): Include process.h.
3928 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3929 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3930 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3931 (allocate_vector, allocate_hash_table, allocate_window)
3932 (allocate_frame, allocate_process, allocate_other_vector):
3933 New functions.
ece93c02
GM
3934 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3935 (mark_maybe_pointer): New function.
52283633 3936 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3937 remain and not Lisp_Objects.
3938 (min_heap_address, max_heap_address): New variables.
3939 (mem_find): Return MEM_NIL if START is below min_heap_address or
3940 above max_heap_address.
3941 (mem_insert): Compute min_heap_address and max_heap_address.
3942
3943 * process.c (make_process): Use allocate_process.
3944
3945 * frame.c (make_frame): Use allocate_frame.
3946
3947 * window.c (make_window, make_dummy_parent): Use allocate_window.
3948 (Fcurrent_window_configuration): Use allocate_other_vector.
3949
3950 * lisp.h (allocate_vectorlike): Remove prototype.
3951 (allocate_vector, allocate_other_vector, allocate_frame)
3952 (allocate_window, allocate_process, allocate_hash_table):
3953 Add prototypes.
3954
3955 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3956 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3957
063af457
KH
39582001-02-27 Kenichi Handa <handa@etl.go.jp>
3959
3960 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3961 treat the produced bytes as a valid multibyte sequence.
3962
3963 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3964 (ccl_driver) <CCL_WriteMultibyteChar2>:
3965 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3966 <ccl_finish>: Set ccl->eight_bit_control properly.
3967
3968 * ccl.h (struct ccl_program): New member eight_bit_control.
3969
f58c6494
SM
39702001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3971
3972 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3973 accessible_keymaps_char_table.
3974 (accessible_keymaps_char_table): Obey `is_metized'.
3975 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3976 Lisp_Object.
3977
c596c392
GM
39782001-02-26 Gerd Moellmann <gerd@gnu.org>
3979
3980 * dispnew.c: Check HAVE_TERM_H before including term.h.
3981
425de386
AI
39822001-02-24 Andrew Innes <andrewi@gnu.org>
3983
3984 * makefile.w32-in: Update copyright notice.
3985
2ba11bbd
SM
39862001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3987
3988 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3989
66c56ed1
KH
39902001-02-24 Kenichi Handa <handa@etl.go.jp>
3991
4c1593ce
KH
3992 * Makefile.in (lisp): Add international/utf-8.elc.
3993
66c56ed1
KH
3994 * fontset.c (Fnew_fontset): Fix handling of the case that an
3995 element of FONTLIST is a cons of family and registry.
3996
796ead7e
JR
39972001-02-23 Jason Rumney <jasonr@gnu.org>
3998
3999 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4000 to height unconditionally.
4001
4002 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4003 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4004 (x_insert_glyphs): Call window_box_left to obtain the left
4005 x-coordinate of the area to shift.
4006
4007 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4008 safe_run_hooks.
4009
f6839838
AI
40102001-02-22 Andrew Innes <andrewi@gnu.org>
4011
52283633 4012 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4013 ($(BLD)\dispnew.obj):
4014 ($(BLD)\editfns.obj):
4015 ($(BLD)\fileio.obj):
4016 ($(BLD)\filelock.obj):
4017 ($(BLD)\keyboard.obj):
4018 ($(BLD)\w32proc.obj):
4019 ($(BLD)\process.obj):
4020 ($(BLD)\sysdep.obj): Ditto.
4021
4022 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4023 header files.
52283633
SM
4024 ($(BLD)/dispnew.$(O)):
4025 ($(BLD)/editfns.$(O)):
4026 ($(BLD)/fileio.$(O)):
4027 ($(BLD)/filelock.$(O)):
4028 ($(BLD)/keyboard.$(O)):
4029 ($(BLD)/w32proc.$(O)):
4030 ($(BLD)/process.$(O)):
f6839838
AI
4031 ($(BLD)/sysdep.$(O)): Ditto.
4032
c224f70b
GM
40332001-02-22 Gerd Moellmann <gerd@gnu.org>
4034
51695746
GM
4035 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4036 at the start of the function, check that the \n in it->c is
4037 from the iterator's current position.
52283633 4038
a61b7058
GM
4039 * xdisp.c (handle_single_display_prop): Add parameter
4040 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4041 properties which replace the display of text with something else.
4042 (handle_display_prop): Call handle_single_display_prop with
4043 additional argument saying if we already replaced text display
4044 with something else. Use AREF.
52283633 4045 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4046 (decode_mode_spec_coding): Use AREF and ASIZE.
4047
3473f362
GM
4048 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4049 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4050 * vmstime.h: Files removed.
52283633 4051
2bb58df3
GM
4052 * unexencap.c, unexfx2800.c: Files removed.
4053
c224f70b
GM
4054 * dispnew.c (direct_output_for_insert): Give up if we are showing
4055 a message or just cleared the message because we might need to
4056 resize the echo area window or display an empty echo area.
4057
ffc9ff0c
GM
40582001-02-21 Gerd Moellmann <gerd@gnu.org>
4059
0528abe1
GM
4060 * xdisp.c (redisplay_internal): Do the
4061 mark_window_display_accurate after all windows have been
4062 redisplayed because this call resets flags in buffers which are
4063 needed for proper redisplay.
4064
52283633
SM
4065 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4066 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4067 the old names.
4068
52283633
SM
4069 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4070 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4071
4072 * msdos.h (struct x_output): Rename busy_window to
4073 hourglass_window, busy_p to hourglass_p.
4074
52283633
SM
4075 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4076 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4077
4078 * xfns.c: Rename everything containing *busy_cursor* and similar
4079 to *hourglass*.
4080 (syms_of_w32fns): Rename x-busy-pointer-shape to
4081 x-hourglass-pointer-shape, display-busy-cursor to
4082 display-hourglass, busy-cursor-delay to hourglass-delay.
4083
4084 * w32fns.c: Rename everything containing *busy_cursor* and similar
4085 to *hourglass*.
4086 (syms_of_w32fns): Rename x-busy-pointer-shape to
4087 x-hourglass-pointer-shape, display-busy-cursor to
4088 display-hourglass, busy-cursor-delay to hourglass-delay.
4089
4090 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4091 of its busy_p flag.
4092
4093 * dispextern.h (start_hourglass, cancel_hourglass)
4094 (display_hourglass_p): Renamed from *busy_cursor*.
4095
ab2c5f0a
GM
40962001-02-20 Gerd Moellmann <gerd@gnu.org>
4097
d17e49a8
GM
4098 * keyboard.c (read_char): When an event from unread-command-events
4099 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4100
fa97adf6
GM
4101 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4102 equal to the current buffer.
4103
ab2c5f0a
GM
4104 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4105 nil, otherwise we're left with truncate_lines t when a message
4106 is printed with message-truncate-lines bound to t.
4107
aeac019e
GM
41082001-02-19 Gerd Moellmann <gerd@gnu.org>
4109
c8bc6f65
GM
4110 * window.c (Fmove_to_window_line): Undo last change.
4111 (displayed_window_lines): Call line_bottom_y to determine
4112 the line's bottom position.
4113
4114 * dispextern.h (line_bottom_y): Add prototype.
4115
52283633 4116 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4117 (pos_visible_p): Use it.
4118
980a2d69
GM
4119 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4120 set redisplaying_p to 0 here instead of in Frecursive_edit.
4121 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4122 set redisplaying_p.
4123
52283633 4124 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4125 New variables.
4126 (syms_of_xdisp): Initialize new variables.
4127 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4128 Specbind `inhibit-menubar-update' when updating the menu bar.
4129
65048e97
GM
4130 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4131 safe_run_hooks.
4132
4133 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4134 safe_run_hooks.
4135
a57c4026
GM
4136 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4137 is null.
4138
aeac019e
GM
4139 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4140 to the start of the file.
4141
76846b31
GM
41422001-02-16 Gerd Moellmann <gerd@gnu.org>
4143
f3f053f3 4144 * window.c (set_window_buffer): Fix last change.
52283633 4145
f3f053f3
GM
4146 * window.c (set_window_buffer): Set window's vscroll to 0.
4147
dad75588
GM
4148 * window.c (coordinates_in_window): Increase width of area
4149 where the vertical line can be dragged.
4150
c220b753
GM
4151 * xterm.c (x_set_glyph_string_background_width): Extend the
4152 background face to the end of the drawing area in the text
4153 area, only.
4154
c56b1c1b
GM
4155 * xdisp.c (handle_single_display_prop): Set iterator's position
4156 to where the `display' property starts, like for images.
4157 (dump_glyph): New function.
4158 (dump_glyph_row): Use it. Dump info about marginal areas.
4159
4160 * dispnew.c (direct_output_for_insert): Recognize more cases where
4161 glyphs can be written instead of being inserted.
4162
4163 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4164 the left x-coordinate of the area to shift.
4165
76846b31
GM
4166 * dired.c (directory_files_internal): Set result list to nil
4167 before retrying.
4168
0fc71a77
KH
41692001-02-15 Kenichi Handa <handa@etl.go.jp>
4170
4171 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4172 invalid multibyte sequence, treat *SRC as a character of
4173 eight-bit-graphic.
4174
25078b54
EZ
41752001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4176
4177 * textprop.c (Fset_text_properties): Doc fix.
4178
8399f8a0
GM
41792001-02-15 Gerd Moellmann <gerd@gnu.org>
4180
4181 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4182
9a2a6f73
DL
41832001-02-14 Dave Love <fx@gnu.org>
4184
4185 * coding.c: Doc and message fixes.
4186
bf853fee
AI
41872001-02-14 Andrew Innes <andrewi@gnu.org>
4188
4189 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4190 Emacs frame above the screen size.
4191
78c663d8
GM
41922001-02-14 Gerd Moellmann <gerd@gnu.org>
4193
4194 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4195
7cc9f69f
GM
41962001-02-13 Gerd Moellmann <gerd@gnu.org>
4197
0a411995
GM
4198 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4199 case that TO ends up beyond ZV after running before-change-functions.
4200
5ddc1b75
GM
4201 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4202 the selected window if it is showing the buffer in question.
4203
7cc9f69f
GM
4204 * dired.c (directory_files_internal): Initialize errno.
4205 (toplevel): Include errno.h.
4206
2e6621ca
GM
42072001-02-13 Kenichi Handa <handa@etl.go.jp>
4208
4209 * xfaces.c (best_matching_font): New parameter width_ratio.
4210 Multiply avgwidth by width_ratio.
4211 (choose_face_font): Call best_matching_font with width_ratio
4212 calculated from the column width of C.
4213
60222d69
AI
42142001-02-12 Andrew Innes <andrewi@gnu.org>
4215
4216 The following changes are to draw box lines inside characters area
4217 if line-width is negative.
52283633 4218
60222d69
AI
4219 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4220 face->box_line_width is negative.
4221 (x_produce_stretch_glyph): Likewise.
4222 (x_produce_glyphs): Likewise.
4223 (x_estimate_mode_line_height): Likewise.
4224 (x_draw_glyph_string_background): Likewise.
4225 (x_draw_glyph_string_foreground): Likewise.
4226 (x_draw_composite_glyph_string_foreground): Likewise.
4227 (x_draw_glyph_string_box): Likewise.
4228 (x_draw_image_foreground): Likewise.
4229 (x_draw_image_relief): Likewise.
4230 (x_draw_image_foreground_1): Likewise.
4231 (x_draw_image_glyph_string): Likewise.
4232
9804b846
KH
42332001-02-09 Kenichi Handa <handa@etl.go.jp>
4234
4235 The following changes are to draw box lines inside characters area
4236 if line-width is negative.
52283633 4237
9804b846
KH
4238 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4239 face->box_line_width is negative.
4240 (x_produce_stretch_glyph): Likewise.
4241 (x_produce_glyphs): Likewise.
4242 (x_estimate_mode_line_height): Likewise.
4243 (x_draw_glyph_string_background): Likewise.
4244 (x_draw_glyph_string_foreground): Likewise.
4245 (x_draw_composite_glyph_string_foreground): Likewise.
4246 (x_draw_glyph_string_box): Likewise.
4247 (x_draw_image_foreground): Likewise.
4248 (x_draw_image_relief): Likewise.
4249 (x_draw_image_foreground_1): Likewise.
4250 (x_draw_image_glyph_string): Likewise.
4251
4252 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4253 and :line-width can be negative.
52283633 4254 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4255
49be9f70
JR
42562001-02-09 Jason Rumney <jasonr@gnu.org>
4257
4258 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4259 characters the same as ASCII and latin-1.
4260 (x_display_and_set_cursor): Check for the focus frame's selected
4261 window instead of selected_window.
4262 (x_after_update_window_line): Don't clear if frame's internal
4263 border width is zero.
4264 (x_new_font): Don't change a tooltip's size.
4265 (w32_initialize): Set char_ins_del_ok to 1.
4266
4267 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4268 (x_set_font): If font hasn't changed, avoid recomputing
4269 faces and other things.
52283633
SM
4270 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4271 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4272 (x_create_tip_frame): Prevent changing the tooltip's
4273 background color by specifying a color for the default font
4274 in .Xdefaults.
4275 (Qcancel_timer): New variable.
4276 (syms_of_w32fns): Initialize and staticpro it.
4277 (Fx_hide_tip, Fx_show_tip): Use it.
4278 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4279 the timer.
4280 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4281
4282 * w32.c (init_environment): Duplicate local string before putenv.
4283
555e35d2
SZ
42842001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4285
4286 * charset.c (Fstring): A typo.
4287
19c92c94
KH
42882001-02-09 Kenichi Handa <handa@etl.go.jp>
4289
e47a1c33
KH
4290 * charset.c (Fstring): If all arguments are less than 256, return
4291 a unibyte string.
4292
4293 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4294 return a unibyte string.
4295
19c92c94
KH
4296 * coding.c (code_convert_region): After detecting a coding, if
4297 nothing found, set coding->composing to COMPOSITION_NO.
4298 (decode_coding_string): Likewise.
4299
d8e675f5
SM
43002001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4301
4302 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4303 to avoid overflow.
4304
bd503487
KH
43052001-02-07 Kenichi Handa <handa@etl.go.jp>
4306
4307 * charset.c (parse_str_to_multibyte): New function.
4308
4309 * charset.h (parse_str_to_multibyte): Extern it.
4310
4311 * print.c (print_string): If we are going to print a unibyte
4312 string into a multibyte buffer, convert the string to multibyte by
4313 str_to_multibyte.
4314
a8370d72
AI
43152001-02-06 Andrew Innes <andrewi@gnu.org>
4316
4317 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4318 been created. It seems we can get sent window messages such as
4319 WM_ERASEBKGND before we properly update a frame.
4320
c363a1d6
GM
43212001-02-06 Gerd Moellmann <gerd@gnu.org>
4322
4323 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4324 Avoid some unnecessary cursor positioning.
4325
a08332c0
GM
43262001-02-05 Gerd Moellmann <gerd@gnu.org>
4327
52283633 4328 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4329 (LFACE_AVGWIDTH): New macro.
4330 (LFACEP): Use AREF.
4331 (check_lface_attrs): Check LFACE_AVGWIDTH.
4332 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4333 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4334 (merge_face_vectors): Check LFACE_AVGWIDTH.
4335 (Finternal_make_lisp_face): Use AREF.
4336 (xm_set_menu_resources_from_menu_face)
4337 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4338 (Finternal_lisp_face_empty_p): Use AREF.
4339 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4340 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4341 Compare average widths..
4342 (best_matching_font): Arrange for comparing average widths.
4343
52283633
SM
4344 * dispextern.h (enum lface_attribute_index):
4345 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4346
5cb3c8d4
DL
43472001-02-05 Dave Love <fx@gnu.org>
4348
4349 * puresize.h: Revert last change following loadup.el change.
4350
193fba87
AI
43512001-02-05 Andrew Innes <andrewi@gnu.org>
4352
4353 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4354 invocation of temacs, to work with Windows 2000.
4355 (bootstrap-emacs): Ditto.
4356
e16f52ce
GM
43572001-02-05 Gerd Moellmann <gerd@gnu.org>
4358
7a58ab59
GM
4359 * xterm.c (x_display_and_set_cursor): Check for the focus
4360 frame's selected window instead of selected_window.
4361
e89aaabd
GM
4362 * xdisp.c (try_scrolling): If point is in the line below the
4363 window, make sure to move the iterator at least a canonical
4364 char height down.
4365
52283633 4366 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4367
789ce875
KH
43682001-02-05 Kenichi Handa <handa@etl.go.jp>
4369
52283633
SM
4370 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4371 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4372 (ccl_driver): If the CCL program is terminated because of
4373 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4374 destination instead of throwing them away.
4375
20b28f82
GM
43762001-02-02 Gerd Moellmann <gerd@gnu.org>
4377
79fb38c0
GM
4378 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4379 faces and other things.
4380
20b28f82
GM
4381 * xdisp.c (get_next_display_element): Fix case of empty
4382 display table entry.
4383
5a72551e
EZ
43842001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4385
eb24d0bf
EZ
4386 * editfns.c (Fconstrain_to_field): Doc fix.
4387
6a3f48c7
EZ
4388 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4389 into `thoroughly', to make it consistent with the doc string.
4390
5a72551e
EZ
4391 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4392
01acdb05
GM
43932001-02-01 Gerd Moellmann <gerd@gnu.org>
4394
0353b28f
GM
4395 * search.c (search_buffer): Call set_search_regs with a byte
4396 position, not a character position.
4397
01acdb05
GM
4398 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4399 minibuffer-only,
4400
e86b5133
EZ
44012001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4402
4403 * frame.c (Fmodify_frame_parameters): Doc fix.
4404
7442878f
GM
44052001-01-31 Gerd Moellmann <gerd@gnu.org>
4406
01acdb05
GM
4407 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4408 identifier which is not reserved by Standard C.
52283633 4409
7442878f
GM
4410 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4411
4412 * window.c (enum window_part): New enumeration.
4413 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4414 Qright_bitmap_area.
4415 (coordinates_in_window): Return an enumerator from enum
4416 window_part. Fix handling of right scroll bar.
4417 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4418 `right-fringe' instead of `left-bitmap-area' and
4419 `right-bitmap-area'. Use enumerators from enum window_part
4420 instead of hard-coded integers.
52283633
SM
4421 (check_window_containing, window_from_coordinates):
4422 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4423 (syms_of_window): Replace Qleft_bitmap_area and
4424 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4425
7c132cba
EZ
44262001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4427
4428 * editfns.c (Fformat_time_string): Doc fix.
4429
c359dd9e
SM
44302001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4431
4432 * keymap.c (Fwhere_is_internal): Use the first valid binding
4433 if no ascii binding is found (when firstonly is t).
4434
ce070307
GM
44352001-01-31 Gerd Moellmann <gerd@gnu.org>
4436
b4f30ec5
GM
4437 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4438 instead of Finteractive_p.
4439
4440 * lisp.h (interactive_p): Add prototype.
4441
4442 * eval.c (interactive_p): New function.
4443 (Finteractive_p): Use it.
4444
ce070307
GM
4445 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4446
f57b6e64
DL
44472001-01-31 Dave Love <fx@gnu.org>
4448
d61c7afe
DL
4449 * .gdbinit (hook-run): Define to run xreload.
4450
f57b6e64
DL
4451 * textprop.c (Fset_text_properties): Fix newline in doc string.
4452
eef93f99
GM
44532001-01-30 Gerd Moellmann <gerd@gnu.org>
4454
52283633
SM
4455 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4456 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4457
4458 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4459 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4460 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4461
4462 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4463 height.
4464
d9c1f6f9
DL
44652001-01-30 Dave Love <fx@gnu.org>
4466
4467 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4468 AFTER_POTENTIAL_GC.
4469
e8f044a0
GM
44702001-01-29 Gerd Moellmann <gerd@gnu.org>
4471
52283633
SM
4472 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4473 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4474
8e1db7b3
EZ
44752001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4476
4477 * textprop.c (Fset_text_properties): Doc fix.
4478
4eefd9d2
GM
44792001-01-29 Gerd Moellmann <gerd@gnu.org>
4480
4481 * xdisp.c (forward_to_next_line_start): Remove xassert.
4482
fccb8288
EZ
44832001-01-29 Jason Rumney <jasonr@gnu.org>
4484
4eefd9d2 4485 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4486 returning without releasing it.
4487
76581eab
KH
44882001-01-29 Kenichi Handa <handa@etl.go.jp>
4489
4490 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4491 for '^', '$', and '\0'.
4492
83a96b4d
AC
44932001-01-28 Andrew Choi <akochoi@i-cable.com>
4494
5604ec34
AC
4495 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4496 regex for '^', '$', and '\0'.
4497
83a96b4d
AC
4498 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4499 only if current_sblock has been initialized.
4500
4501 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4502 terminal frame even if it is the only visible frame.
4503
c09a6440
KH
45042001-01-28 Kenichi Handa <handa@etl.go.jp>
4505
4506 * fontset.c (font_family_registry): Even if FONTNAME conform to
4507 XLFD, if it specifies other fields than family and registry,
52283633 4508 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4509 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4510 a signle byte character. Don't set FAMILY part to nil here.
4511 It is handled by the caller choose_face_font.
c09a6440
KH
4512 (Fnew_fontset): Call font_family_registry with FORCE 0.
4513 (Fset_fontset_font): Likewise.
4514
4dcd74e6
GM
45152001-01-27 Gerd Moellmann <gerd@gnu.org>
4516
4517 * xdisp.c (display_line): Don't treat a newline as fitting
4518 on the line.
4519
d2906bf8
GM
45202001-01-26 Gerd Moellmann <gerd@gnu.org>
4521
0130fe1a
GM
4522 * window.c (size_window): Set the window's orig_top to nil when
4523 changing heights, so that a future shrink_mini_window won't
4524 restore a bogus height.
4525
550f0e6a
GM
4526 * frame.c (do_switch_frame): If selected frame has a mini-window,
4527 resize that to exact size.
4528
b7b20fbd
GM
4529 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4530
a47b7816
GM
4531 * xdisp.c (display_line): Simplify check for glyphs fitting
4532 entirely in the line.
4533
d2906bf8
GM
4534 * xfns.c (xic_style): New variable.
4535 (create_frame_xic): Move static variable to global scope for
550f0e6a 4536 the case that `static' gets defined away.
d2906bf8 4537
73df2b1e
KH
45382001-01-26 Kenichi Handa <handa@etl.go.jp>
4539
4540 * coding.c (decode_coding): Set a flag for inhibiting
4541 inconsistent eol.
4542 (code_convert_region): Always set saved_coding_symbol.
4543 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4544 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4545
6613cfc4
GM
45462001-01-25 Gerd Moellmann <gerd@gnu.org>
4547
c5e6e06b
GM
4548 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4549 XClearArea.
4550
4551 * xterm.c (x_after_update_window_line): Don't clear if frame's
4552 internal border width is zero.
4553 (x_clear_area): New function.
4554 (x_after_update_window_line, x_clear_end_of_line)
4555 (x_scroll_bar_create, x_scroll_bar_set_handle)
4556 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4557 instead of XClearArea.
4558
4559 * xterm.h (x_clear_area): Add prototype.
4560
6613cfc4
GM
4561 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4562 which doesn't seem necessary anymore with Lesstif 0.92.
4563
650cc6cc
DL
45642001-01-25 Dave Love <fx@gnu.org>
4565
34ac3367
DL
4566 * puresize.h (BASE_PURESIZE): Up to 720000.
4567
650cc6cc
DL
4568 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4569
5e37dc22
GM
45702001-01-25 Gerd Moellmann <gerd@gnu.org>
4571
e1e441f9
GM
4572 * xdisp.c (echo_area_display): Don't call redisplay_internal
4573 when Emacs is shutting down. We can't run hooks etc. that
4574 would be necessary to do a redisplay.
4575
5e37dc22
GM
4576 * lread.c (read_integer): Use type EMACS_INT instead of int.
4577
0fb94c7f
EZ
45782001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4579
4580 * ccl.c (ccl_driver): Fix last change.
4581
e3778624
KH
45822001-01-25 Kenichi Handa <handa@etl.go.jp>
4583
4584 * ccl.h (sturct ccl_program): New member suppress_error.
4585
bb264518 4586 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4587 insert error message to the output.
4588 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4589
4590 * coding.h (struct coding_system): New member suppress_error.
4591
4592 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4593 (Fset_terminal_coding_system_internal): Set the member
4594 suppress_error to 1.
4595 (Fset_safe_terminal_coding_system_internal): Likewise.
4596
245ed2b1
SM
45972001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4598
4599 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4600 as if it was a `charset'.
4601
f9aaedb6
GM
46022001-01-24 Gerd Moellmann <gerd@gnu.org>
4603
4604 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4605 value in where_is_cache; the next lookup in the cache returns
4606 something bogus if we do.
4607
c3902c3e
EZ
46082001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4609
4610 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4611 if HAVE_WINDOW_SYSTEM isn't defined.
4612
3497f73e
GM
46132001-01-24 Gerd Moellmann <gerd@gnu.org>
4614
e7e41584
GM
4615 * fns.c (sweep_weak_table): Fix code taking items out of
4616 the hash collision chain. Some cleanup.
4617
3497f73e
GM
4618 * xterm.c (x_new_font): Don't change a tooltip's size.
4619
4620 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4621 background color by specifying a color for the default font
4622 in .Xdefaults.
4623
3d48e687
KH
46242001-01-24 Kenichi Handa <handa@etl.go.jp>
4625
96531b20
KH
4626 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4627 a workaround for SunOS 4's cc.
4628 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4629 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4630 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4631 statement.
3d48e687 4632
a30629d2
GM
46332001-01-23 Gerd Moellmann <gerd@gnu.org>
4634
4635 * xterm.c (x_set_window_size_1): New function extracted from
4636 x_set_window_size.
4637 (x_set_window_size): Use it.
4638 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4639 doesn't have a widget, like tooltips.
4640
5a43decf
EZ
46412001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4642
52283633 4643 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4644
b0e98867
KH
46452001-01-23 Kenichi Handa <handa@etl.go.jp>
4646
4647 * fns.c (Fset_char_table_default): Fix to make sub char-table
4648 correctly.
4649
50606b4c
GM
46502001-01-22 Gerd Moellmann <gerd@gnu.org>
4651
cb2ddc53 4652 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4653 a desired tool bar string, even if there are no tool bar items.
4654
57c28064
GM
4655 * xdisp.c (Ftool_bar_lines_needed): New function.
4656 (syms_of_xdisp): Defsubr it.
4657
50606b4c
GM
4658 * editfns.c (Fformat): Don't extend text properties from arguments
4659 to padding chars in the result.
4660
2f169c38
EZ
46612001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4662
4663 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4664
0f32f023
AI
46652001-01-20 Andrew Innes <andrewi@gnu.org>
4666
52283633 4667 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4668 (w32_initialize): Don't set term hooks that aren't actually needed
4669 in windowed mode.
4670
4671 * xfaces.c (realize_default_face):
4672 (realize_face):
4673 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4674
4675 * xdisp.c (handle_single_display_prop): Remove references to
4676 FRAME_W32_CONSOLE_P.
4677
52283633 4678 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4679
4680 * frame.h (output_method): Remove output_w32_console method.
4681 (FRAME_W32_CONSOLE_P): Remove macro.
4682
4683 * frame.c (Qw32_console): Remove variable.
4684 (Fframep): Remove references to it.
4685 (syms_of_frame): Ditto.
4686 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4687
4688 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4689 redefinition.
4690
7173eada
KH
46912001-01-20 Kenichi Handa <handa@etl.go.jp>
4692
4693 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4694
755b45ce
AI
46952001-01-19 Andrew Innes <andrewi@gnu.org>
4696
4697 * w32.c (init_environment): Add a version-independent site-lisp
4698 directory to EMACSLOADPATH, after the version dependent one.
4699
0a949811
GM
47002001-01-19 Gerd Moellmann <gerd@gnu.org>
4701
8501998a
GM
4702 * editfns.c (Fbuffer_substring): Doc fix.
4703
52283633
SM
4704 * xdisp.c (message_dolog, message2, message2_nolog):
4705 Rename parameter LEN to NBYTES.
0a949811 4706
e6ebcbbe
KH
47072001-01-19 Kenichi Handa <handa@etl.go.jp>
4708
200ecca2
KH
4709 * charset.c (strwidth): Use c_string_width.
4710 (c_string_width): New function.
4711 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4712 Caller changed.
4713
4714 * charset.h (c_string_width, lisp_string_width): Extern them.
4715
52283633 4716 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4717
e6ebcbbe
KH
4718 * indent.c (check_composition): Check validity of composition.
4719
200ecca2
KH
4720 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4721 characters by calling c_string_width.
4722 (x_consider_frame_title): Get byte length of frame tile string
4723 correctly.
4724 (display_mode_element): Pay attention to width of non-ASCII
4725 characters by calling strwidth.
4726
8692ca92
GM
47272001-01-18 Gerd Moellmann <gerd@gnu.org>
4728
8962e303
GM
4729 * xfns.c (Qcancel_timer): New variable.
4730 (syms_of_xfns): Initialize and staticpro it.
4731 (Fx_hide_tip, Fx_show_tip): Use it.
4732 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4733 the timer.
4734 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4735
91523be9
GM
4736 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4737
4738 * window.h (WINDOW_LIVE_P): New macro.
4739
b0b7ed0e
GM
4740 * window.c (window_size_fixed): New variable.
4741 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4742 the doc string.
4743
06bccf8e
GM
4744 * eval.c (specbind): If binding a per-buffer variable which
4745 doesn't have a buffer-local value in the current buffer, change
4746 the global value by changing the value of the symbol bound in all
4747 buffers not having their own value, to make it consistent with
4748 what happens with other buffer-local variables.
4749
8692ca92
GM
4750 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4751
4752 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4753 when searching for a newline.
4754
bb3a3b50
KH
47552001-01-18 Kenichi Handa <handa@etl.go.jp>
4756
4757 * xdisp.c (display_string): Fix previous change.
4758
c2cc16fa
JR
47592001-01-18 Jason Rumney <jasonr@gnu.org>
4760
4761 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4762 GLYPH_DEBUG is defined.
4763 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4764 true for images with `:ascent 100'.
4765 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4766 meantime, use face MOUSE_FACE_ID.
4767 If first glyph isn't a character glyph, use the ASCII NUL
4768 character to determine the face.
4769 (expose_area): Do not treat left margin specially.
4770 (note_mode_line_highlight): If no local_map, check global keymap.
4771 (note_mouse_highlight): Initialize overlay.
52283633 4772 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4773 (show_scroll_bars): Remove unused function.
4774 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4775 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4776 Clip to row.
52283633 4777 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4778 (x_free_frame_resources): Unload relief colors.
4779
9c11f79e
GM
47802001-01-17 Gerd Moellmann <gerd@gnu.org>
4781
3aec8722 4782 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4783 get_next_display_element when the newline is already found.
4784 This may change the iterator's position, when its current position is
3aec8722
GM
4785 equal to the iterator's stop_charpos.
4786
f3ffc2c3
GM
4787 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4788 zero, use this method only at the end of a line.
4789
52283633 4790 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4791 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4792 if SCALABLE_FONTS_P is set.
52283633 4793
d26d6fd9
GM
4794 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4795 so that scalable fonts are included.
4796
9c11f79e
GM
4797 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4798 In the cache, use a key containing the information if scalable
4799 fonts are included.
4800 (x_load_font): Adapt to change of keys in the font cache.
4801
48022001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4803
d26d6fd9
GM
4804 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4805 XListFonts to take advantage of font caching.
4806
9c11f79e
GM
4807 * xterm.c (x_list_fonts): Ensure caching font information when
4808 called for a null frame, which is the case frequently when Emacs
4809 starts.
4810
51446987
GM
48112001-01-17 Gerd Moellmann <gerd@gnu.org>
4812
f864120f
GM
4813 * xfns.c (QCconversion): Replaces QCalgorithm.
4814
4815 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4816
4817 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4818 of :algorithm.
52283633 4819
e37d1417
GM
4820 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4821 not everything could be displayed.
4822
51446987
GM
4823 * line.h, x-list-font.c: Files removed because unused.
4824
9ad4f3e5
AI
48252001-01-17 Andrew Innes <andrewi@gnu.org>
4826
4827 * dired.c (directory_files_internal): Convert result from readdir
4828 to a unibyte string initially, to avoid possible misinterpretation
4829 of some bytes as the internal form of Emacs characters.
4830
2eda09b5
KH
48312001-01-17 Kenichi Handa <handa@etl.go.jp>
4832
4833 * fns.c (concat): Be sure to avoid putting the same `composition'
4834 property on the adjacent regions.
4835
826f3788
GM
48362001-01-16 Gerd Moellmann <gerd@gnu.org>
4837
52283633 4838 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4839 (Fscroll_right, Fscroll_left): Set it here instead, if called
4840 interactively.
4841
d57b83b3
GM
4842 * buffer.c (Fset_buffer_modified_p): Set buffer's
4843 prevent_redisplay_optimizations_p flag.
4844
826f3788 4845 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4846 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4847 with additional arg.
4848
4849 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4850 Change prototype.
826f3788 4851
826f3788
GM
4852 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4853 FROM_WHERE, for debugging.
4854
261d788b
KH
48552001-01-16 Kenichi Handa <handa@etl.go.jp>
4856
4857 * ccl.c (Fregister_ccl_program): Handle the return value of
4858 resolve_symbol_ccl_program correctly.
52283633 4859 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4860
bccee4f2
GM
48612001-01-15 Gerd Moellmann <gerd@gnu.org>
4862
e4ded23c
GM
4863 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4864 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4865
4866 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4867 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4868 the display; we didn't open it.
4869
bccee4f2
GM
4870 * dispnew.c (save_or_restore_current_matrices): Function removed.
4871 (save_current_matrix, restore_current_matrix): New functions.
4872 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4873 restore the frame's current matrix. Due to the glyph pointer
4874 setup done in adjust_glyph_matrix, there is no easy way to make
4875 saving the current matrix in the desired matrix generally correct,
4876 so don't try it.
4877
ebeccffa
KH
48782001-01-15 Kenichi Handa <handa@etl.go.jp>
4879
4880 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4881 truncation glyphs.
4882 (display_line): Optimize for wide characters.
e4ded23c 4883 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4884 partially. On ttys, produce more than one truncation glyph for
4885 multi-column characters that don't fit on the line.
4886
64388126
KH
48872001-01-13 Kenichi Handa <handa@etl.go.jp>
4888
52283633
SM
4889 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4890 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4891
8edb0a6f
JR
48922001-01-13 Jason Rumney <jasonr@gnu.org>
4893
4894 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4895 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4896 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4897 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4898
52283633
SM
4899 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4900 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4901 (x_draw_image_glyph_string): Adapt to change of image margins.
4902
4903 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4904 variables.
4905
4906 * w32bdf.c (search_file_line, get_cached_font_char)
4907 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4908
4909 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4910
4911 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4912 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4913 (Fw32_send_sys_command): Remove unused variables.
4914 (w32_msg_pump): Add parentheses.
4915
4916 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4917 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4918 Add parentheses.
4919
4956d1ef
GM
49202001-01-12 Gerd Moellmann <gerd@gnu.org>
4921
b30623be
GM
4922 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4923 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4924 being a pair of margins.
4925 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4926 to DEFVAR_LISP. Extend doc.
4927
4928 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4929 margins.
4930 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4931 pair of integers `(X . Y)', use X for the horizontal and Y for the
4932 vertical margin.
4933 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4934 (parse_image_spec): Check it.
52283633
SM
4935 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4936 (tiff_format, gif_format, gs_format):
4937 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4938
52283633
SM
4939 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4940 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4941 (x_draw_image_glyph_string): Adapt to the change of image margins.
4942
4943 * dispextern.h (struct image): Replace member `margin' with
4944 `hmargin' and `vmargin'.
4945
4554cc79
GM
4946 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4947 and GLYPHS.
4948
4949 * dispnew.c (update_text_area): Put code which decrements the
4950 stop position when the row's face extends to the end of the
3bffc665 4951 line in #if 0.
4554cc79 4952
3cccce8d
GM
4953 * xfns.c (x_set_mouse_color): Fix color allocation.
4954
4956d1ef
GM
4955 * keyboard.c: Call get_local_map with new argument list.
4956
4957 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4958
4959 * intervals.h (enum map_property): Removed.
4960 (get_local_map): Change prototype.
4961
4962 * keymap.c: Call get_local_map with new argument list.
4963 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4964
2c2ff7f2
GM
49652001-01-11 Gerd Moellmann <gerd@gnu.org>
4966
a23887b9
GM
4967 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4968 of the size needed for the tool bar string. For the last image,
4969 use a `display' property that reaches to the end of the string.
4970
a7ee2d2e
GM
4971 * xselect.c (selection_request_dpyinfo): New variable.
4972 (x_handle_selection_request): Set it.
4973 (x_selection_request_lisp_error): Don't call
4974 x_decline_selection_request if selection request's display has
4975 been closed.
4976
52283633
SM
4977 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4978 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4979
457b792c
GM
49802001-01-10 Dave Love <fx@gnu.org>
4981
4982 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4983 ${SOME_MACHINE_LISP}, not ${lisp}.
4984
c1efd260
GM
49852001-01-10 Gerd Moellmann <gerd@gnu.org>
4986
52283633
SM
4987 * xdisp.c (display_line): On ttys, produce more than one truncation
4988 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4989
ac95a621
GM
4990 * xselect.c (x_reply_selection_request): Add a comment.
4991
c1efd260
GM
4992 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4993 XkbGetNames instead of XkbGetKeyboard.
4994
1bfb1345
DL
49952001-01-10 Dave Love <fx@gnu.org>
4996
4997 * sysdep.c (random): Revert the declaration.
4998
38119822
GM
49992001-01-09 Gerd Moellmann <gerd@gnu.org>
5000
52283633
SM
5001 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5002 Call function string_bytes.
35f464a7
GM
5003 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5004
5005 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5006 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5007 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5008 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5009 the current sblock.
5010 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5011 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5012 after sweeping strings, and at the end.
5013 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5014
38119822
GM
5015 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5016 ensure that pop_message is called.
5017
5018 * keyboard.c (Fexecute_extended_command): Use a
5019 record_unwind_protect to ensure that pop_message is called.
5020
5021 * lisp.h (push_message_unwind): Add prototype.
5022
5023 * xdisp.c (push_message_unwind): New function.
5024
5025 * fileio.c (do_auto_save_unwind): Do the pop_message here
5026 instead of in Fdo_auto_save.
5027 (Fdo_auto_save): Don't call pop_message.
5028
f47a9ec4
KR
50292001-01-08 Ken Raeburn <raeburn@gnu.org>
5030
5031 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5032 in inner block.
5033
a758f97d
GM
50342001-01-08 Gerd Moellmann <gerd@gnu.org>
5035
6d0afc03
GM
5036 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5037 when increasing window's vscroll.
5038
a758f97d
GM
5039 * macros.c (Qkbd_macro_termination_hook): New variable.
5040 (syms_of_macros): Initialize and staticpro it.
5041 (pop_kbd_macro): Run kbd-macro-termination-hook.
5042
5043 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5044
1bfb1345 50452001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5046
5047 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5048 arglist, for documentation's sake.
5049
0dac6924
AI
50502001-01-06 Andrew Innes <andrewi@gnu.org>
5051
5052 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5053 of *.pdb.
5054
8182406a
AI
50552001-01-05 Andrew Innes <andrewi@gnu.org>
5056
5057 * term.c (update_end): Don't check updating_frame; for some reason
5058 this can be 0 sometimes, such as after dismissing a popup menu,
5059 and isn't necessary given the explicit frame argument.
5060
3828218c
GM
50612001-01-05 Gerd Moellmann <gerd@gnu.org>
5062
5063 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5064 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5065
2f5ded21
GM
50662001-01-04 Gerd Moellmann <gerd@gnu.org>
5067
52283633 5068 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5069
5070 * xfns.c (x_create_tip_frame): Preserve the value of
5071 face_change_count around the creation of the tip frame.
52283633 5072
2f5ded21
GM
5073 * xfns.c (last_show_tip_args): New variable.
5074 (compute_tip_xy): New function.
5075 (Fx_show_tip): Reuse an existing tip frame, if possible.
5076 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5077
dfad65fa
DL
50782001-01-04 Dave Love <fx@gnu.org>
5079
64d4ec0f
DL
5080 * editfns.c (Fformat): Doc fix.
5081
dfad65fa
DL
5082 * systime.h (set_file_times): Prototype.
5083
5084 * widget.h (EmacsFrameSetCharSize_): Prototype.
5085
5086 * sysdep.c (random, srandom): Declare explicitly.
5087
5088 * dispextern.h (move_it_vertically_backward): Declare.
5089
85fe3b5e
GM
50902001-01-04 Gerd Moellmann <gerd@gnu.org>
5091
0f2ac578
GM
5092 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5093 like in Fx_create_frame.
5094
482cca61
GM
5095 * xfaces.c (set_font_frame_param): Don't do anything for
5096 non-graphical frames.
5097
85fe3b5e
GM
5098 * window.c (Fdelete_other_windows): Set window's window_end_valid
5099 to nil when changing the window's start. Don't change the
5100 window's start when its top position hasn't changed. If we do,
5101 this will set the window's optional_new_start, which act's like a
5102 force_start during redisplay with C-x 1 M-> under particular
5103 circumstances (see report from Per Starback to emacs-pretest-bug
5104 from 2000-12-13.).
5105
3e99d3b4
GM
51062001-01-03 Gerd Moellmann <gerd@gnu.org>
5107
a77dc1ec
GM
5108 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5109 short cut at the start of the function. Add an assertion.
5110 (reseat_at_next_visible_line_start): Add an assertion.
5111
2f3cad6c
GM
5112 * window.c (Frecenter): When changing the window start, set the
5113 window's window_end_valid to nil.
5114 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5115
5116 * dispextern.h (move_it_past_eol): Add prototype.
5117
5118 * xdisp.c (move_it_past_eol): New function.
5119
3e99d3b4
GM
5120 * window.c (Fwindow_end): Doc fix.
5121
51222001-01-03 Dave Love <fx@gnu.org>
5123
52283633 5124 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5125
bafb434c
GM
51262001-01-03 Gerd Moellmann <gerd@gnu.org>
5127
5128 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5129 the enabled_p flag of the glyph row at window_end_vpos to 0.
5130 (handle_single_display_prop): Fix last change.
5131
5297fb00
RS
51322001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5133
5134 * window.c (Frecenter): Doc fix.
5135
13d6a61c
AI
51362001-01-02 Andrew Innes <andrewi@gnu.org>
5137
5138 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5139
5140 * frame.h (output_method): Add output_w32_console method.
5141 (FRAME_W32_CONSOLE_P): New macro.
5142
5143 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5144 use output_w32_console method.
5145 (Qw32_console): New Lisp_Object.
5146 (Fframep): Return it.
5147 (syms_of_frame): Init it.
52283633 5148 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5149
5150 * xfaces.c (realize_default_face): Set face foreground and
5151 background to unspecified for w32_console frames.
5152 (realize_face): Realize face cache for w32_console frames.
5153 (realize_tty_face): Accept w32_console frames.
5154
52283633 5155 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5156 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5157 necessary, even if running interactively.
5158
5159 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5160 w32_console frames.
5161
52283633
SM
5162 * w32term.c (x_update_begin):
5163 (x_update_end):
5164 (x_clear_frame):
5165 (x_ins_del_lines):
5166 (x_change_line_highlight):
5167 (x_delete_glyphs):
5168 (w32_ring_bell):
5169 (x_update_begin):
5170 (x_update_end):
5171 (w32_reassert_line_highlight):
5172 (w32_frame_rehighlight):
13d6a61c
AI
5173 (w32_frame_raise_lower): Do nothing if not w32 frame.
5174
5175 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5176
5177 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5178 system doesn't tell us directly.
5179 (Fx_display_visual_class): Implement properly.
5180
d6bb0c0d
GM
51812001-01-02 Gerd Moellmann <gerd@gnu.org>
5182
5183 * window.c (Frecenter): Handle centering in graphical frames
5184 specially. Centering on the basis of line counts doesn't work
5185 reliably with variable-height lines.
52283633 5186
315f5865
EZ
51872001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5188
5189 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5190 and al[].
5191
52283633 5192 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5193 (update_compositions): Remove unused variable `hook'.
5194
5195 * intervals.c (get_local_map): Remove unused variable `tem'.
5196
5197 * doprnt.c (doprnt1): Remove unused variable `size'.
5198
5199 * fns.c (Flength): Remove unused variable `tail'.
5200 (Fdelete): Remove unused variable `size'.
5201
5202 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5203 and `gcpro2'.
5204
52283633 5205 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5206
5207 * data.c (find_symbol_value): Remove extra 3rd argument in the
5208 call to swap_in_symval_forwarding.
5209
52283633 5210 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5211
5212 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5213 (trivial_regexp_p): Remove unused variable `c'.
5214 (boyer_moore): Remove unused variable `k'.
5215
5216 * indent.c (current_column): Remove unused variable `stopchar'.
5217 (Fcompute_motion): Remove unused variable `contin'.
5218
5219 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5220
5221 * dired.c (directory_files_internal): Fix a typo in a comment.
5222 Remove an unused variable `handler'.
52283633 5223 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5224 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5225 on BSD4_2.
5226
52283633 5227 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5228
5229 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5230 and `buf'.
5231 (Fmarker_insertion_type): Remove unused variable `buf'.
5232
5233 * insdel.c (make_gap): Remove unused variable `result'.
5234
52283633 5235 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5236 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5237 (menu_bar_items): Remove unused function-scope variable `tem'.
5238
5239 * fontset.c (fontset_ref): Remove unused variable `i'.
5240 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5241 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5242 (make_fontset_for_ascii_face): Remove unused variable `name'.
5243 (fs_load_font): Remove unused variable `font_idx'.
52283633 5244 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5245 (list_fontsets): Remove unused variable `tail'.
5246 (Fnew_fontset): Remove unused variables `family' and `registry'.
5247 (accumulate_font_info): Remove unused variable `tmp'.
5248 (Ffontset_font): Remove unused variable `id'.
5249 (syms_of_fontset): Remove unused variable `i'.
5250
5251 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5252 to x_term_init.
5253 (lookup_image): Remove unused variable `file'.
5254 (xbm_load): Remove unused variables `bitmap_data', `height', and
5255 `width'. Remove function-local variable `i', leave the
5256 block-local one.
5257 (gif_load): Remove unused variable `inc'.
5258
52283633 5259 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5260 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5261 leave only the one in the inner block.
5262
5263 * xfaces.c (face_fontset, realize_default_face): Remove unused
5264 variable `fontset'.
5265 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5266
5267 * term.c (encode_terminal_code): Remove unused variable `c'.
5268
5269 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5270 char *' instead of `char *'.
5271
5272 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5273 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5274 (Fchar_category_set): Remove unused variables `val', `charset',
5275 `c1' and `c2'.
5276
52283633
SM
5277 * coding.c (detect_coding_iso2022, setup_coding_system):
5278 Remove unused variable `i'.
315f5865
EZ
5279 (detect_coding_mask): Remove unused variable `idx'.
5280 (detect_coding): Remove unused variable `i'.
5281 (ccl_coding_driver): Remove unused variable `result'.
5282 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5283 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5284 (encode_coding_string): Remove unused variables `gcpro1' and
5285 `saved_coding_symbol'.
5286 (Ffind_coding_systems_region_internal): Remove function-local
5287 variable args[], leave only the block-local one.
5288 (code_convert_region1): Remove unused variable `len'.
5289
5290 * charset.c (char_printable_p): Remove unused variable `chars'.
5291 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5292 (str_to_multibyte): Remove unused variable `c'.
5293
5294 * window.c (size_window): Remove block-local variable `min_size'.
5295
5296 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5297 `header_line_height'.
5298 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5299 enum display_element_type.
5300
1a8a9daf
GM
53012001-01-02 Gerd Moellmann <gerd@gnu.org>
5302
6dde6abc 5303 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5304 statements that call X. Save away the error message in a local copy.
5305
1883b2c6
GM
5306 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5307 the start.
5308
a13be207
GM
5309 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5310 in or at the start of invisible text.
5311
1a8a9daf
GM
5312 * dispnew.c (update_window): Don't check_current_matrix_flags.
5313
3608c0f9
JR
53142001-01-01 Jason Rumney <jasonr@gnu.org>
5315
5316 * w32fns.c (x_figure_window_size): Do not allow new_height and
5317 new_width of frame to override specified values.
5318
abb1acc4
KH
53192000-12-30 Kenichi Handa <handa@etl.go.jp>
5320
52283633 5321 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5322
762a68ec
GM
53232000-12-29 Gerd Moellmann <gerd@gnu.org>
5324
52283633 5325 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5326 (update_window) [GLYPH_DEBUG]: Call it.
5327 (scrolling_window): Prevent including current rows which are below
5328 what's displayed in the window.
5329
5330 * xdisp.c (try_window_reusing_current_matrix)
5331 <new start <= old start>: Disable rows in the current matrix
5332 which are below the window after scrolling.
52283633 5333
762a68ec
GM
5334 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5335 is zero. It's not worth the complexity.
5336 (invisible_text_between_p): Put in #if 0 because unused.
5337
2d5912c1
GM
53382000-12-28 Gerd Moellmann <gerd@gnu.org>
5339
46f6a258
GM
5340 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5341 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5342
89f93679
GM
5343 * keyboard.c (echo_char): If C is an integer, always call
5344 push_key_description. Former code could signal an invalid
5345 character error.
5346
5347 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5348 If set, print multibyte text.
5349 (Fsingle_key_description): Call push_key_description with
5350 FORCE_MULTIBYTE set.
5351 (describe_buffer_bindings): Likewise.
5352
5353 * lisp.h (push_key_description): Add prototype.
5354
c06017fb
GM
5355 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5356 around the call to redisplay_internal.
5357
f1d2ce7f
GM
5358 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5359
2d5912c1
GM
5360 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5361
9371f831
KH
53622000-12-28 Kenichi Handa <handa@etl.go.jp>
5363
5364 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5365 (ccl_driver): New local variable `extra_bytes'.
5366
5367 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5368
52283633
SM
5369 * coding.c (setup_coding_system):
5370 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5371 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5372
0c80628a
KH
53732000-12-28 Kenichi Handa <handa@etl.go.jp>
5374
5375 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5376 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5377 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5378 (decode_composition_emacs_mule): New function.
5379 (decode_coding_emacs_mule): Decode composition sequence by calling
5380 decode_composition_emacs_mule.
5381 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5382 (encode_coding_emacs_mule): Changed from macro to function.
5383 If a text contains compositions, encode them correctly.
0c80628a
KH
5384 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5385 that decoding and encoding are required.
5386
3e32cc27
GM
53872000-12-27 Gerd Moellmann <gerd@gnu.org>
5388
5e25feee
GM
5389 * xfaces.c (PT_PER_INCH): New macro.
5390 (xlfd_point_size): Compute real point size from font's pixel size.
5391 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5392 instead of 72.
5393
892d8fcd
GM
5394 * .gdbinit: Comment out the line pointing to the Lesstif source
5395 directory.
5396
12c8b416
GM
5397 * window.c (Frecenter): Use displayed_window_lines instead
5398 of window_internal_height.
5399
6061fbf0
GM
5400 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5401 instead of x-toolkit-scroll-bars-p.
5402 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5403
5404 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5405 instead of x-toolkit-scroll-bars-p.
5406 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5407
3e32cc27
GM
5408 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5409 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5410 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5411 New variables.
5412 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5413 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5414 (build_frame_matrix_from_leaf_window): Remove unused code.
5415 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5416 redisplay history.
5417 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5418 (update_window) [GLYPH_DEBUG]: Likewise.
5419 (syms_of_display): Defsubr dump-redisplay-history.
5420
31798cfe
GM
54212000-12-23 Gerd Moellmann <gerd@gnu.org>
5422
f717c2ba
GM
5423 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5424 the end of the prompt. Set echo_after_prompt to the offset
5425 of echoptr in echobuf.
5426
aeb2b8fc
GM
5427 * xdisp.c (init_from_display_pos): Pop until the iterator's
5428 stack is empty; there may be frames for stretch or images
5429 on the stack.
5430
31798cfe
GM
5431 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5432 (save_or_restore_current_matrix): New function for the same
5433 purpose, but more efficient.
5434 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5435
f8156156
EZ
54362000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5437
5438 * xdisp.c (syms_of_xdisp): Fix last change.
5439
bdd6d4e8
GM
54402000-12-23 Gerd Moellmann <gerd@gnu.org>
5441
5442 * xdisp.c (syms_of_xdisp): Doc fix.
5443
5444 * xdisp.c (redisplay_window): Remove label restore_buffers;
5445 use finish_scroll_bars instead to make sure that scroll bars
5446 are redeemed. If we don't do this, flickering can result from
5447 scroll bars being destroyed and recreated.
5448
9436cdf9
JR
54492000-12-22 Jason Rumney <jasonr@gnu.org>
5450
5451 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5452 in the wrong colors when the foreground is not black.
5453 (expose_window): Don't redraw the window that's currently being
5454 updated.
5455
951f9df5
GM
54562000-12-22 Gerd Moellmann <gerd@gnu.org>
5457
856ff7a7
GM
5458 * window.c (size_window): When setting the window's too_small_ok
5459 flag, compare old size with minimum size depending on WIDTH_P,
5460 don't compare with window_min_width.
52283633 5461
951f9df5
GM
5462 * window.c (delete_window): Simplify somewhat.
5463 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5464 freeing window matrices. The flag windows_or_buffers_changed is
5465 set, so the next redisplay will consider all windows; this should
5466 suffice.
5467
886bc933
KH
54682000-12-22 Kenichi Handa <handa@etl.go.jp>
5469
5470 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5471
5472 * ccl.h (struct ccl_program): New member cr_consumed.
5473
5474 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5475 (CCL_READ_CHAR): Handle EOL conversion here.
5476 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5477
177f4e88
GM
54782000-12-21 Gerd Moellmann <gerd@gnu.org>
5479
52283633 5480 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5481
5482 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5483 otherwise tabs of different size compare equal.
5484
5485 * callint.c (Fcall_interactively): Prevent a compiler warning.
5486
5487 * print.c (print_unwind): Return nil.
5488 (PRINTDECLARE): Initialize all local variables.
5489 (print_preprocess): Add a default case.
5490
8e15274f
GM
5491 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5492
5493 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5494
52283633 5495 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5496 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5497
5498 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5499
5500 * dispnew.c (ensure_frame_matrix): Removed.
5501 (save_frame_matrix, restore_frame_matrix): New functions.
5502 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5503
5504 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5505 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5506
99012074
AI
55072000-12-21 Andrew Innes <andrewi@gnu.org>
5508
5509 * w32term.c (x_update_begin): Regenerate the palette here, rather
5510 than for each window.
5511
5512 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5513 palette is NULL, since this corrupts memory! Also get
5514 display_info reference from frame.
5515
29ef7d2d
JR
55162000-12-21 Jason Rumney <jasonr@gnu.org>
5517
5518 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5519
5520 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5521 to avoid returning without releasing it.
3e27fa1f 5522
3f9d67a6
KH
55232000-12-21 Kenichi Handa <handa@etl.go.jp>
5524
587fc3f9
KH
5525 * keymap.c (push_key_description): Don't convert eight-bit-control
5526 and eight-bit-graphic to multibyte character.
5527
3f9d67a6
KH
5528 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5529 generic character and CODE1 is nil, return the smallest character
5530 in CHARSET.
5531
774ba8c9
DL
55322000-12-20 Dave Love <fx@gnu.org>
5533
5534 * s/osf5-0.h (NSIG): Don't redefine.
5535
88416888
SM
55362000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5537
5538 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5539 excluding menu-bar and tool-bar.
5540 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5541 (menu_item_p): Remove.
5542 (where_is_internal_1): Don't ignore menu-items.
5543
a6426c6f
GM
55442000-12-20 Gerd Moellmann <gerd@gnu.org>
5545
03ff8aab
GM
5546 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5547 into account.
5548
5549 * window.c (make_window): Initialize window's min_hscroll.
5550 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5551 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5552 to zero.
5553 (struct saved_window): New member min_hscroll.
5554 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5555 (Fset_window_configuration): Set window's min_hscroll.
5556 (save_window_save): Save window's min_hscroll.
5557 (compare_window_configurations): Compare min_hscroll values.
5558
5559 * window.h (struct window): New member min_hscroll.
5560
5561 * keyboard.c (echo_prompt): Prevent a compiler warning.
5562
8de4aaf8
GM
5563 * xdisp.c (try_cursor_movement): Fix last change. The real
5564 condition is that PT is at the end of the row, and should
5565 be displayed at the start of the next row.
52283633 5566
3f7e3031
GM
5567 * xdisp.c (try_cursor_movement): If we end on a partially
5568 visible line, end we already decided to scroll, return -1.
5569
a6426c6f
GM
5570 * dispextern.h (ensure_frame_matrix): Add prototype.
5571
5572 * window.c (delete_window, Fsplit_window)
5573 (Fset_window_configuration): Call ensure_frame_matrix.
5574
52283633
SM
5575 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5576 New functions.
a6426c6f
GM
5577 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5578 completed, call fake_current_matrices instead of marking frame
5579 garbaged.
5580
57fa2774
JR
55812000-12-20 Jason Rumney <jasonr@gnu.org>
5582
5583 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5584
d925df90
EZ
55852000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5586
5587 * fns.c (Frequire): Doc fix.
5588
7b93a85b
GM
55892000-12-19 Gerd Moellmann <gerd@gnu.org>
5590
52283633 5591 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5592
c74e645b
GM
5593 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5594 currently displaying a message.
5595
7b93a85b
GM
5596 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5597 xterm.h.
5598 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5599
90d97e64
AI
56002000-12-18 Andrew Innes <andrewi@gnu.org>
5601
5602 * w32.c (w32_strerror): New function.
5603
5604 * w32.h (w32_strerror): New extern.
5605
5606 * w32fns.c (Fw32_shell_execute): Use it.
5607
91c9e6ce
GM
56082000-12-18 Gerd Moellmann <gerd@gnu.org>
5609
5610 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5611
6f4745e2
EZ
56122000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5613
5614 * msdos.c (IT_set_face): Obey inverse_video.
5615
c9e088ce
KH
56162000-12-18 Kenichi Handa <handa@etl.go.jp>
5617
5618 * dired.c (directory_files_internal): Always return decoded filenames.
5619
c3695f5f
GM
56202000-12-18 Gerd Moellmann <gerd@gnu.org>
5621
52d8e4ff
GM
5622 * xterm.c (x_connection_closed): Prevent being called recursively
5623 because of an error condition in XtCloseDisplay.
52283633 5624
62be9979
GM
5625 * xdisp.c (init_iterator): If noninteractive, and the frame's
5626 face cache is null, make one.
5627
52283633 5628 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5629
c3695f5f
GM
5630 * process.c (wait_reading_process_input): Check for pending
5631 input when running timers.
5632
78555fbe
EZ
56332000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5634
52283633 5635 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5636
b2b36264
KH
56372000-12-18 Kenichi Handa <handa@etl.go.jp>
5638
5639 * process.c (read_process_output): Don't run a filter if the code
5640 decoder produces nothing but carryover.
5641
9c543fbf
AI
56422000-12-17 Andrew Innes <andrewi@gnu.org>
5643
5644 * w32.c (sys_rename): Only check errno against EEXIST, and not
5645 EACCES, when determining whether rename failed because the target
5646 exists. This was resulting in indefinite looping on Windows 9x if
5647 the source file was locked by another process.
5648
5649 * w32fns.c (Ffile_system_info): New function.
5650 (syms_of_w32fns): Defsubr it.
5651
10c2b5a8
GM
56522000-12-17 Gerd Moellmann <gerd@gnu.org>
5653
b0228ace
GM
5654 * window.c (coordinates_in_window): Fix computation for
5655 position on vertical line between mode lines.
5656
10c2b5a8
GM
5657 * xfns.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
c844a81a
GM
5662 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5663 Don't alter tip_frame or tip_window.
5664 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5665 was deleted.
5666
6c825f8e
EZ
56672000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5668
5669 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5670 be consistent with the doc string. Reported by NAKAJIMA Mikio
5671 <minakaji@osaka.email.ne.jp>.
5672
af4bb4c8
KH
56732000-12-16 Kenichi Handa <handa@etl.go.jp>
5674
5675 * xfaces.c (Vface_ignored_fonts): New variable.
5676 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5677 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5678
8062e53a
GM
56792000-12-15 Gerd Moellmann <gerd@gnu.org>
5680
e87b8809
GM
5681 * dispnew.c (update_window): Detect pending input every nth line
5682 updated, i.e. do it depending on real work done, and not on the
5683 vpos of the line.
5684
5685 * xterm.c (expose_window): Don't redraw the window that's
5686 currently being updated.
5687
a6768cc5
GM
5688 * window.c (Fset_window_point): Remove test for
5689 cursor_in_non_selected_windows.
5690
4ea7fdca
GM
5691 * lread.c (read1): Recognize end of file after `\\'.
5692
8062e53a
GM
5693 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5694 not unwind_create_frame.
5695
bb7959c1
GM
56962000-12-15 Dave Love <fx@gnu.org>
5697
5698 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5699 bcopy & al.
5700
5701 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5702
ced04c42
KH
57032000-12-15 Kenichi Handa <handa@etl.go.jp>
5704
c5443913
KH
5705 * coding.c (setup_coding_system): Clear all members of the struct
5706 coding_system at first.
bc137305
KH
5707 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5708 argument.
5709 (code_convert_region): Don't override coding->src_multibyte and
5710 coding->dst_multibyte.
c5443913 5711
ced04c42
KH
5712 * fns.c (Fmd5): Docstring improved.
5713
c2d7f289
MB
57142000-12-15 Miles Bader <miles@gnu.org>
5715
5716 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5717 are actually marked as mode-lines; otherwise use
5718 estimate_mode_line_height.
5719
9d7d9263
GM
57202000-12-14 Gerd Moellmann <gerd@gnu.org>
5721
5722 * editfns.c (Fformat): Prevent a buffer overrun when the format
5723 specifies a precision.
5724
7cf0153a
EZ
57252000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5726
5727 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5728 argument is outside the range [2..3].
5729
1de0f662
AI
57302000-12-14 Andrew Innes <andrewi@gnu.org>
5731
5732 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5733 nothing to do. Bind inhibit-quit.
5734 (tip_frame): Make it a Lisp_Object.
5735 (x_create_tip_frame): Set tip_frame after it has been added to
5736 Vframe_list.
5737 (Fx_show_tip): Don't set tip_frame here.
52283633 5738 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5739 (unwind_create_frame, unwind_create_tip_frame): New functions.
5740 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5741 while a frame is only partially constructed.
5742
5743 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5744 (x_free_frame_resources): New function.
5745 (x_destroy_window): Use it.
5746
02387dcc
GM
57472000-12-14 Gerd Moellmann <gerd@gnu.org>
5748
5749 * xfns.c (Fx_backspace_delete_keys_p): New function.
5750 (syms_of_xfns): Defsubr it.
5751
5752 * config.in (HAVE_XKBGETKEYBOARD): Add.
5753
0544ef49
KH
57542000-12-14 Kenichi Handa <handa@etl.go.jp>
5755
98d62747
KH
5756 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5757 Always store string in multibyte representation in echobuf.
5758 (echo_char): Always store string in multibyte representation in
5759 echobuf.
5760 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5761 (read_key_sequence): Adjusted for the change of echo_prompt.
5762
a20193cd
KH
5763 * fns.c (Fmd5): Docstring improved.
5764
191b83b6
KH
5765 * lisp.h (detect_coding_system): Prototype adjusted.
5766
0544ef49
KH
5767 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5768 (detect_coding_emacs_mule, detect_coding_iso2022,)
5769 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5770 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5771 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5772 (detect_coding_mask, detect_coding_system): New argument
5773 MULTIBYTEP. Callers changed.
1da1bb05
KH
5774 (decode_coding_string): Set coding->src_multibyte and
5775 coding->dst_multibyte before calling detect_coding and detect_eol.
5776 Update them after some coding system is detected.
52283633 5777
d5b3eb1b
SM
57782000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5779
5780 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5781
5782 * keyboard.c (menu_bar_items, tool_bar_items):
5783 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5784
f7f8bb69
GM
57852000-12-13 Gerd Moellmann <gerd@gnu.org>
5786
52283633 5787 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5788 New variables.
5789 (unwind_create_frame, unwind_create_tip_frame): New functions.
5790 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5791 while a frame is only partially constructed.
5792
5793 * xterm.h (x_free_frame_resources): Declare.
5794
5795 * xterm.c (x_free_frame_resources): New function.
5796 (x_destroy_window): Use it.
5797
e10da507
GM
5798 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5799 don't interrupt the update for pending input initially, i.e.
5800 update at least some lines.
5801
5802 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5803
d5b3eb1b 5804 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5805
5806 * xfns.c (gray_bitmap_bits): Declare `char *'.
5807
90aa2856
GM
58082000-12-12 Gerd Moellmann <gerd@gnu.org>
5809
5810 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5811 lines start with a relief line.
5812
a308c9cd
DL
58132000-12-12 Dave Love <fx@gnu.org>
5814
5815 * window.c (Fdisplay_buffer): Doc fix.
5816 (Fwindow_list): Remove unused var.
5817
5818 * buffer.h (mmap_set_vars): Declare.
5819
5820 * window.h (Fset_window_point): Declare.
5821
d575011f
EZ
58222000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5823
bf6282d2 5824 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5825 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5826 variable `area'. When looking for a row under (X,Y), give up if some
5827 of the previous rows is not enabled.
d575011f 5828
ecf4d726
GM
58292000-12-12 Gerd Moellmann <gerd@gnu.org>
5830
2ebf6139
GM
5831 * window.c (Fset_window_point): If displaying cursors in windows
5832 other than the selected window, make sure redisplay updates
5833 other windows to show the new value of point in the window.
5834
5835 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5836
bfdb75ee
GM
5837 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5838 the buffer is the sole visible buffer when in the mini-buffer.
5839
52283633 5840 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5841 Bind `inhibit-read-only' to t.
5842 (unwind_with_echo_area_buffer): Use AREF.
5843
c0006262
GM
5844 * xfns.c (Fx_hide_tip): Simplified.
5845
52283633
SM
5846 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5847 instead of `1'.
e9a59cad 5848
ecf4d726
GM
5849 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5850
e5959a9a
GM
58512000-12-11 Gerd Moellmann <gerd@gnu.org>
5852
a3642e49 5853 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5854
44b5a125
GM
5855 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5856 nothing to do. Bind inhibit-quit.
5857 (tip_frame): Make it a Lisp_Object.
5858 (x_create_tip_frame): Set tip_frame after it has been added to
5859 Vframe_list.
5860 (Fx_show_tip): Don't set tip_frame here.
5861
5862 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5863
5864 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5865 Lisp_Object.
5866
5867 * dispextern.h: Change external declaration of tip_frame.
5868
d990421f
GM
5869 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5870 return an empty string.
5871
4db87380
GM
5872 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5873 of the window's update_mode_line flag, since the former is set by
5874 force-mode-line-update, not the latter. This makes
5875 column-number-mode slightly faster.
52283633 5876
e5959a9a
GM
5877 * xdisp.c (try_window_id) <all changes above window start>:
5878 Set the cursor.
5879
169fe44e
GM
58802000-12-11 Paul Eggert <eggert@twinsun.com>
5881
5882 * config.in (HAVE_FTELLO): Remove.
5883 (HAVE_FSEEKO): Add.
5884 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5885 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5886 HAVE_FTELLO.
5887 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5888 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5889
59ec59ae
MB
58902000-12-11 Miles Bader <miles@gnu.org>
5891
5892 * window.c (displayed_window_lines): Don't round up when
5893 converting empty space at bottom to lines.
ff904dd6
MB
5894 Handle non-newline-terminated final lines properly.
5895 (Fwindow_text_height): New function (used to be in lisp).
5896 (syms_of_window): Initialize it.
59ec59ae 5897
42ebfa31
SM
58982000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5899
5900 * syntax.c (scan_lists): Check that the right quote char has the
5901 right Sstring syntax when jumping over strings.
5902 (init_syntax_once): Use Smax rather than 13.
5903
5cdb3cf3
MB
59042000-12-09 Miles Bader <miles@gnu.org>
5905
5906 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5907 with PARTIALLY, inverting the sense.
5908 (window_scroll_pixel_based): Scroll partially visible lines into
5909 place if we hit the beginning or end of the buffer.
a12167c5
MB
5910 (displayed_window_lines): Don't include partially visible lines.
5911 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5912
842b2a94
GM
59132000-12-08 Gerd Moellmann <gerd@gnu.org>
5914
5915 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5916
5917 * tparam.c (tparam1): Change the way buffers are reallocated to be
5918 portable and less obfuscated.
5919
5920 * termcap.c (tgetent): Change the way buffers are reallocated to
5921 be portable and less obfuscated.
5922
5923 * macros.c (store_kbd_macro_char): Change the way buffers are
5924 reallocated to be portable and less obfuscated.
5925
5926 * lread.c (read1): Change the way buffers are reallocated to be
5927 portable and less obfuscated.
5928
5929 * doc.c (Fsubstitute_command_keys): Change the way buffers
5930 are reallocated so that it is portable.
5931
137cad7c
EZ
59322000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5933
5934 * dosfns.c (Ffile_system_info): New function.
5935 (syms_of_dosfns): Defsubr it.
5936
5c7f629c
SM
59372000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5938
5939 * alloc.c (gc_sweep): Add comment.
5940
959e647d
GM
59412000-12-07 Gerd Moellmann <gerd@gnu.org>
5942
52283633
SM
5943 * sound.c (vox_configure): Change order of ioctls.
5944 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5945 Ignore errors when changing volume.
5946 (vox_close): Don't reset the device.
5947
926b7e5e
GM
5948 * process.c (read_process_output): Make sure the process marker's
5949 position is valid when the process buffer is changed in
5950 after-change functions. W3 does that.
52283633 5951
959e647d
GM
5952 * xfns.c (x_free_gcs): New function.
5953
5954 * xterm.h (x_free_gcs): Add prototype.
5955
5956 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5957 freeing GCs here.
5958
5959 * xterm.c (x_destroy_window): Call x_free_gcs so that
5960 resources of non-toolkit X windows will be freed.
5961
478ea067
AI
59622000-12-07 Andrew Innes <andrewi@gnu.org>
5963
5964 * w32fns.c (xlfd_charset_of_font): Fix last change.
5965
fbee3231
DL
59662000-12-06 Dave Love <fx@gnu.org>
5967
67292061
DL
5968 * md5.h (__P): Don't define -- it comes from config.h.
5969
fbee3231
DL
5970 * strftime.c: Change some #if foo to #ifdef foo.
5971
4ee87dbb
AI
59722000-12-06 Andrew Innes <andrewi@gnu.org>
5973
5974 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5975
52283633 5976 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5977 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5978 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5979
9765b4a4
GM
59802000-12-06 Gerd Moellmann <gerd@gnu.org>
5981
d285b373
GM
5982 * alloc.c (gc_sweep): Prevent symbols read during loadup
5983 from being freed.
5984
384333ee
GM
5985 * xdisp.c (underlying_face_id): New function.
5986 (handle_face_prop, face_before_or_after_it_pos): Use it
5987 to determine the face ``under'' a string. Let strings inherit
5988 the face of the buffer under them.
5989
5990 * xfaces.c (face_at_string_position): Update function comment.
52283633 5991
d4b72d58
GM
5992 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5993 matrix if the window's left position has changed; we need to
5994 redraw it in this case.
5995
5996 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5997
e1d05387
GM
5998 * window.c (coordinates_in_window): Check mouse on mode-line or
5999 header-line first.
6000
eb1b0c74
GM
6001 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6002 advertized by the function documentation.
6003
d94d636f
GM
6004 * window.c (syms_of_window): Doc fix.
6005
3887b449
GM
6006 * sound.c (vox_configure): Set volume for left and right channel.
6007 (sound_cleanup): Return nil.
6008
efc8f57a
GM
6009 * xdisp.c (move_it_by_lines): Fix paren typo.
6010
9765b4a4
GM
6011 * xterm.c (x_load_font): Don't use the font's max_bounds for
6012 computing the height of the font. If max_bounds' ascent or
6013 descent are greater than the font's ascent or descent, this means
6014 glyphs overlap, which should be handled now by redisplay.
6015
6529ed87
GM
6016 * window.c (Veven_window_heights): New variable.
6017 (syms_of_window): DEFVAR_LISP it.
6018 (Fdisplay_buffer): Check Veven_window_heights before evening the
6019 window heights.
52283633 6020
0eb2ecde
MB
60212000-12-06 Miles Bader <miles@gnu.org>
6022
6023 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6024 update `default-frame-alist' instead of setting no frame parameters.
6025
03d7a167
KH
60262000-12-06 Kenichi Handa <handa@etl.go.jp>
6027
6028 * composite.c (update_compositions): Fix typo (use the correct
6029 variable).
6030
5f8803c2
JR
60312000-12-05 Jason Rumney <jasonr@gnu.org>
6032
6033 * md5.h: Remove underscores from function declarations.
6034 (__attribute__, __alignof__) [!__GNUC__]: Define.
6035
6036 * md5.c: Delay include of md5.h until after namespace cleaning.
6037
c28a075b
JR
6038 * makefile.w32-in (fns.o): Depend on md5.h
6039 (md5.o): New target.
6040 (sunfns.o): Remove.
6041
6042 * makefile.nt: Likewise.
6043
ff3c7056
JR
60442000-12-05 Jason Rumney <jasonr@altavista.net>
6045
6046 * w32term.c (expose_area): Complete last change.
6047
0c21eeeb
KR
60482000-12-05 Ken Raeburn <raeburn@gnu.org>
6049
6050 * minibuf.c: Include intervals.h.
6051
f201d732
JR
60522000-12-05 Jason Rumney <jasonr@gnu.org>
6053
6054 * w32term.c (x_produce_glyphs): If a font for a component of
6055 a composition is not found, use 1 pixel dot ascent and 0 dot
6056 descent value to avoid displaying terribly tall empty boxes.
6057 (expose_area): Pass x-coordinate relative to the exposed
6058 area to x_draw_glyphs instead of a window-relative coordinate.
6059
21999ab9
GM
60602000-12-05 Gerd Moellmann <gerd@gnu.org>
6061
4d2036e4
GM
6062 * xdisp.c (next_element_from_ellipsis): Save face before selective
6063 display in saved_face_id, and set face_before_selective_p.
6064 (reseat_1): Reset face_before_selective_p.
6065 (append_space, extend_face_to_end_of_line): If iterator's
6066 face_before_selective_p is set, use the face from saved_face_id.
6067 (extend_face_to_end_of_line): For tty frames, make sure to
6068 use the right face id when producing spaces at the end of
6069 the line.
6070
6071 * dispextern.h (struct it): Add face_before_selective_p.
6072
52be17cc
GM
6073 * keyboard.c (record_char): Don't record identical help-echo
6074 events in recent_keys.
6075
8a4f36cc
GM
6076 * xterm.c [USE_X_TOOLKIT]: Close the display.
6077 (xim_close_dpy): Handle case that the display has been closed.
6078
57d6e381
GM
6079 * xterm.c (x_destroy_window): Reset the frame's X window after
6080 destroying it.
6081
21999ab9
GM
6082 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6083 variable window_width.
6084 (line_draw_cost): Fix code skipping over spaces at the end of the
6085 line when must_write_spaces is not set.
6086 (scrolling_window): Fix code inserting runs in list of all runs.
6087
91372bb7
KH
60882000-12-05 Kenichi Handa <handa@etl.go.jp>
6089
6090 * coding.c (setup_coding_system): Be sure to initialize
6091 coding->category_idx.
6092
6c083b4c
GM
60932000-12-04 Gerd Moellmann <gerd@gnu.org>
6094
0c68ce6f 6095 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6096
6452929e
GM
6097 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6098 area to x_draw_glyphs instead of a window-relative coordinate.
6099
d7f31e22
GM
6100 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6101 error in the message.
6102
ae18aa3b
GM
6103 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6104 timer after having read a key. It's not good for code reading
6105 several keys in a loop, like an input method.
6106
caa15ef7
GM
6107 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6108 record undo information for format-decode.
6109
6110 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6111 current buffer is read-only, not if it isn't.
6112
6c083b4c
GM
6113 * keyboard.c (record_char): Record `help-echo' input events
6114 in recent_keys only if they display some help. Don't record
6115 `help-echo' events as macro char.
6116
caa15ef7
GM
61172000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6118
6119 * editfns.c (save_excursion_restore): Don't move point
6120 in another window if it is showing the wrong buffer.
6121 Avoid the call to Fwindow_live_p, for speed.
6122
5a13529b
KH
61232000-12-04 Kenichi Handa <handa@etl.go.jp>
6124
e225faa7
KH
6125 * xfaces.c (struct font_name): New member registry_priority.
6126 (split_font_name): Initialize the above member to zero.
6127 (concat_font_list): New function.
6128 (font_list): Include fonts of all alternative registries.
6129 (FONT_POINT_SIZE_QUANTUM): New macro.
6130 (better_font_p): Ignore point size difference less than
6131 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6132
e89648b4
KH
6133 * xterm.c (x_produce_glyphs): If a font for a component of
6134 a composition is not found, use 1 pixel dot ascent and 0 dot
6135 descent value to avoid displaying terribly tall empty boxes.
6136
5a13529b
KH
6137 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6138
d7935eb6
KR
61392000-12-03 Ken Raeburn <raeburn@gnu.org>
6140
6141 * coding.h (code_convert_string1): Declare.
6142
6143 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6144
52283633 6145 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6146
0dd5e255
JR
61472000-12-02 Jason Rumney <jasonr@gnu.org>
6148
6149 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6150 correctly for single byte character case.
6151 (w32_per_char_metric): Do not try to make any assumptions about
6152 the metrics of BDF fonts.
250cfece 6153 (x_estimate_mode_line_height): If `mode-line' face
52283633 6154 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6155 (note_mouse_highlight): Change the cursor shape on the vertical
6156 border between windows [not enabled].
6157
6158 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6159
6160 * w32fns.c (Fx_create_frame): Reintroduce the call to
6161 face-set-after-frame-defaults.
6162 (Vx_window_horizontal_drag_shape): New variable.
6163 (syms_of_xfns): DEFVAR_LISP it.
6164 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6165 enabled].
0dd5e255 6166
b5d8d2ca
GM
61672000-12-02 Simon Josefsson <simon@josefsson.org>
6168
6169 * fns.c (Fmd5): Use a different logic to decide the coding system
6170 to use.
6171
6172 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6173
fbb87147
EZ
61742000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6175
52283633 6176 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6177
447e9da0
GM
61782000-12-01 Gerd Moellmann <gerd@gnu.org>
6179
7708ced0
GM
6180 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6181 height for YNegative.
6182 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6183 height; also see comment there.
6184
447e9da0
GM
6185 * window.c (coordinates_in_window): Handle computations for
6186 positions on the vertical bar and fringes differently for
6187 window-system frames. Consider some pixels near the vertical bar
6188 as on the bar if the frame doesn't have vertical scroll bars.
6189 Associate positions between mode or header lines with the
6190 right window, the left one.
6191
86d1db20
JR
61922000-12-01 Jason Rumney <jasonr@gnu.org>
6193
6194 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6195
6196 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6197 invalid frame.
6198
a1d58e5b
GM
61992000-12-01 Gerd Moellmann <gerd@gnu.org>
6200
52283633 6201 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6202 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6203 (save_window_save, Fset_window_configuration): Save/restore
6204 window's orig_top and orig_height.
6205
89c609af
JR
62062000-12-01 Jason Rumney <jasonr@gnu.org>
6207
4d177746 6208 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6209
89c609af
JR
6210 * w32fns.c (x_set_cursor_color): Fix last change.
6211
eccc05db
GM
62122000-11-30 Gerd Moellmann <gerd@gnu.org>
6213
31b6671b
GM
6214 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6215 sure that the next redisplay displays the minibuffer, so that
6216 the cursor will be replaced with what the minibuffer wants.
6217
eccc05db
GM
6218 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6219 #ifndef instead of using #if.
6220 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6221 USE_TOOLKIT_SCROLL_BARS is defined.
6222
162de750
JR
62232000-11-30 Jason Rumney <jasonr@gnu.org>
6224
6225 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6226 x_display_cursor.
6227
693c4692
GM
62282000-11-30 Gerd Moellmann <gerd@gnu.org>
6229
6230 * fns.c (Fmd5): Doc fix.
6231
b5d8d2ca 62322000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6233
6234 * fns.c (Fmd5): New function.
6235 (syms_of_fns): Defsubr md5.
6236
6237 * Makefile.in (obj): Add md5.o
6238
b02cd40b
GM
62392000-11-30 Gerd Moellmann <gerd@gnu.org>
6240
edfb795e
GM
6241 * md5.h, md5.c: New files, taken from glibc.
6242
df3aedcf
GM
6243 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6244
b02cd40b 6245 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6246 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6247
8b5176cd
SM
62482000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6249
6250 * eval.c (Frun_hooks): Allow 0 arguments.
6251
346598f1
GM
62522000-11-29 Gerd Moellmann <gerd@gnu.org>
6253
f9396e03
GM
6254 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6255 is over the menu bar widget, say it's not on the frame.
6256
4a967a9b
GM
6257 * xfns.c (Fx_create_frame): Reintroduce the call to
6258 face-set-after-frame-defaults.
6259
346598f1
GM
6260 * eval.c (Fsignal): Reset handling_signal.
6261
222456a1
JR
62622000-11-28 Jason Rumney <jasonr@gnu.org>
6263
6264 * w32menu.c (add_menu_item): Reset menu item text when changing
6265 type to radio button.
6266
8049ddc0
GM
62672000-11-28 Gerd Moellmann <gerd@gnu.org>
6268
346598f1 6269 * xselect.c: Update copyright.
f4f4ee4d 6270
bebe4a2c
GM
6271 * window.c (coordinates_in_window): If on a mode or header line,
6272 but sufficiently close to its start, return ``on vertical
6273 border''. This gives us a way to drag windows horizontally when
6274 using toolkit scroll bars.
6275
6276 * xterm.c (note_mouse_highlight): Change the cursor shape
6277 on the vertical border between windows.
6278
6279 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6280
6281 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6282 (syms_of_xfns): DEFVAR_LISP it.
6283 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6284
8d2c2642
GM
6285 * textprop.c (text_read_only): New function.
6286 (verify_interval_modification): Use it instead of signaling
6287 `text-read-only'. This makes it easier to catch this error
52283633 6288 with a breakpoint.:
8d2c2642 6289
52283633 6290 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6291 not end of line, which includes CR.
6292
5a2bae6c
KH
62932000-11-28 Kenichi Handa <handa@etl.go.jp>
6294
6295 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6296 include no-conversion.
6297
ae31f84d
JR
62982000-11-27 Jason Rumney <jasonr@gnu.org>
6299
6300 * w32fns.c (w32_load_system_font): Always mark font as double byte
6301 if codepage is unicode.
6302
67f1cf4c
GM
63032000-11-27 Gerd Moellmann <gerd@gnu.org>
6304
4a74d071 6305 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6306 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6307
902ae620
GM
6308 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6309 `vertical-line', `mode-line' and `header-line' events.
6310
6311 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6312 of a character, a TAB for instance. This is easier than to set
6313 up the iterator exactly, and it's not a frequent case, so the
6314 additional effort wouldn't really pay off.
6315
c1e279c2
AC
63162000-11-26 Andrew Choi <akochoi@i-cable.com>
6317
67f1cf4c 6318 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6319 init_window_once.
6320
a609568a
JR
63212000-11-25 Jason Rumney <jasonr@gnu.org>
6322
52283633
SM
6323 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6324 Args to window_from_coordinates should be pixel coordinates.
48b21762 6325
a609568a
JR
6326 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6327 redisplay handles them properly.
6328
a658d039
MB
63292000-11-25 Miles Bader <miles@gnu.org>
6330
6331 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6332
d3416cca
JR
63332000-11-24 Jason Rumney <jasonr@gnu.org>
6334
6335 * w32.c (init_environment): Set LANG environment variable based on
6336 locale settings, if not set.
6337
6338 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6339 making tool bar smaller. When clearing the frame, also
6340 clear current matrices. Clear frame when tool bar disappears.
6341 Don't use more lines for the tool-bar than is available.
6342 (x_change_window_heights): New function.
6343
ba193890
GM
63442000-11-24 Gerd Moellmann <gerd@gnu.org>
6345
2be8f184
GM
6346 * xdisp.c (init_from_display_pos): If POS says we're already after
6347 an overlay string ending at POS, make sure to pop the iterator
6348 because it will be in front of that overlay string. When POS is
6349 ZV, we've thereby also ``processed'' overlay strings at ZV.
6350
ba193890
GM
6351 * xfaces.c (lface_from_face_name): Function comment fix.
6352
1862a24e
MB
63532000-11-24 Miles Bader <miles@gnu.org>
6354
6355 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6356 apply `mode-line-inverse-video' -- zero means force display using
6357 the default face, non-zero means display using the specialized face.
6358 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6359
f07fa1b8
KH
63602000-11-23 Kenichi Handa <handa@etl.go.jp>
6361
6362 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6363 hard coded `4'.
6364
2bcdf662
EZ
63652000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6366
6367 * coding.c (decode_coding_emacs_mule): Fix the case of
6368 CODING_EOL_LF, which used uninitialized value of c.
6369
ba8299ff
SM
63702000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6371
6372 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6373
f4117c4d
GM
63742000-11-22 Gerd Moellmann <gerd@gnu.org>
6375
03e757c1
GM
6376 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6377 buffer object.
6378
f4117c4d
GM
6379 * frame.h (struct frame): Replace desired_tool_bar_items,
6380 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6381 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6382
6383 * frame.c (make_frame): Change initialization of tool bar
6384 items accordingly.
6385
6386 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6387 Change references to members deleted from struct frame to use the
f4117c4d
GM
6388 new ones.
6389
6390 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6391 references to members deleted from struct frame to use the new ones.
f4117c4d 6392
52283633 6393 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6394
6395 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6396
6397 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6398 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6399 from struct frame to use the new ones.
6400
f8e2f3f2
MB
64012000-11-23 Miles Bader <miles@gnu.org>
6402
6403 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6404 the face's inverse-video attribute, rather than overriding it.
6405
60e8e0a5
GM
64062000-11-22 Gerd Moellmann <gerd@gnu.org>
6407
6408 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6409 making tool bar smaller.
6410
92dd1b29
DL
64112000-11-22 Dave Love <fx@gnu.org>
6412
6413 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6414
e672fdce
MB
64152000-11-22 Miles Bader <miles@gnu.org>
6416
3a17d6cc
MB
6417 * keyboard.c (Vminibuffer_message_timeout): New variable.
6418 (command_loop_1): Use it to determine message timeout.
6419 (syms_of_keyboard): Initialize it.
6420
60e8e0a5 6421 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6422
e9655d81
KH
64232000-11-22 Kenichi Handa <handa@etl.go.jp>
6424
6425 * sysdep.c: Move the code for declaring h_errno after #include
6426 <netdb.h>.
6427
77270fac
GM
64282000-11-21 Gerd Moellmann <gerd@gnu.org>
6429
cd913aae
GM
6430 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6431 the menu bar when the tooltip is unmapped.
6432
77270fac
GM
6433 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6434 sole visible buffer when we're currently in the mini-buffer, and
6435 give up if so.
52283633 6436
556635d6
JR
64372000-11-21 Jason Rumney <jasonr@gnu.org>
6438
6439 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6440 put on the clipboard.
6441 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6442 copy of what Emacs last put there. If they are the same, do not
52283633 6443 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6444
5b7bde64
MB
64452000-11-22 Miles Bader <miles@gnu.org>
6446
6447 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6448 (syms_of_minibuf): Initialize it.
6449 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6450 to prompt, don't make read-only.
6451
ff23e1dd
GM
64522000-11-21 Gerd Moellmann <gerd@gnu.org>
6453
52283633
SM
6454 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6455 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6456
7aaf4388
GM
6457 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6458
f5f47add 6459 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6460
ff23e1dd
GM
6461 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6462
37c35586
KH
64632000-11-21 Kenichi Handa <handa@etl.go.jp>
6464
6465 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6466 ... #endif scope.
6467
ff9ab414
GM
64682000-11-20 Gerd Moellmann <gerd@gnu.org>
6469
52283633 6470 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6471 screen supports it.
6472
29a01b72
GM
6473 * s/gnu-linux.h: Don't use `#cpu'.
6474
09dfdf85
GM
6475 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6476 not defined in mman.h.
6477
52283633 6478 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6479 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6480 and store an index in the XClientMessageEvent. Storing a
6481 Lisp_Object or pointer can fail on a 64 bit system, since X only
6482 transfers 32 bits.
52283633
SM
6483 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6484
81459ac9
DL
64852000-11-20 Dave Love <fx@gnu.org>
6486
6487 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6488
56c13ae6
GM
64892000-11-20 Gerd Moellmann <gerd@gnu.org>
6490
6491 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6492
495a6df3
KH
64932000-11-20 Kenichi Handa <handa@etl.go.jp>
6494
2bcf3714
KH
6495 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6496 by WIDTH.
6497
495a6df3
KH
6498 * alloc.c (make_string): Fix previous change. Be sure to make
6499 unibyte string correctly.
6500
6d950f4c
GM
65012000-11-19 Gerd Moellmann <gerd@gnu.org>
6502
39b39373
GM
6503 * window.c (Fwindow_list): Change parameter list to be XEmacs
6504 compatible.
6505 (window_list_1): New function.
6506 (window_loop): Use it instead of Fwindow_list.
6507
b95b34e5
GM
6508 * sysdep.c (emacs_ospeed): New variable.
6509 (toplevel): Don't declare ospeed extern.
6510 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6511
6512 * termcap.c (ospeed): Remove.
6513 (tputs) [!emacs]: Remove unused code.
6514 (tgetent): Avoid a compiler warning.
6515
e83dc917
GM
6516 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6517 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6518 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6519
6520 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6521 removed.
6522 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6523 Take the X display as additional argument.
6524 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6525 `Widget' is a pointer type that's not easily stored in Lisp_Object
6526 form in a portable way.
52283633 6527
6d950f4c
GM
6528 * dispnew.c (update_text_area): Fix last change.
6529
e47306e6
GM
65302000-11-18 Gerd Moellmann <gerd@gnu.org>
6531
fb3cd89b
GM
6532 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6533
6534 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6535 clear current matrices.
6536
edaa9aed
GM
6537 * buffer.c (mmap_enlarge): Don't print a message on stderr
6538 if mapping new memory at the end of the existing region fails.
6539
e47306e6
GM
6540 * dispnew.c (update_text_area): Don't skip over equal glyphs
6541 when the last current glyph overlaps the glyph to its right.
6542
509633e3
MB
65432000-11-18 Miles Bader <miles@gnu.org>
6544
6545 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6546 lines that *end* with "..." too (that's the most common case!).
6547
d392e9c5
GM
65482000-11-18 Gerd Moellmann <gerd@gnu.org>
6549
67988445
GM
6550 * xdisp.c (resize_mini_window): Temporarily change to the
6551 mini-window's buffer if necessary.
1bfdbe43 6552
d392e9c5
GM
6553 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6554 the tooltip obscures less text under it.
6555
65562000-11-17 Gerd Moellmann <gerd@gnu.org>
6557
6558 * puresize.h (BASE_PURESIZE): Increase to 700000.
6559
92bb977f
JR
65602000-11-18 Jason Rumney <jasonr@gnu.org>
6561
6562 * w32term.c (w32_draw_bitmap): Use face to set colors.
6563
26fbf20b
DL
65642000-11-17 Dave Love <fx@gnu.org>
6565
6566 * lread.c (Fload): Fix #ifdef for pcc.
6567
100b593b
GM
65682000-11-17 Gerd Moellmann <gerd@gnu.org>
6569
6570 * xdisp.c (pos_visible_p): Compute the default character height
6571 differently.
6572
a288d0d1
GM
65732000-11-16 Gerd Moellmann <gerd@gnu.org>
6574
cac94de6 6575 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6576 knowing the line's height; use the default font's height in that case.
cac94de6 6577
a288d0d1
GM
6578 * xfaces.c (weight_table): Add `demi' with the same meaning as
6579 `demibold'.
6580
981fb6f6
KH
65812000-11-16 Kenichi Handa <handa@etl.go.jp>
6582
2cca872d 6583 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6584 (clear_glyph_row): Delete local static variable null_row.
6585
e5fa381b
JR
65862000-11-15 Jason Rumney <jasonr@gnu.org>
6587
6588 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6589 (w32_alloc_lighter_color): Use new brightness calculations from
6590 xterm.c. Scale delta to be in the range expected by W32.
6591 (w32_draw_relief_rect): Use frame relief colors.
6592
8e42f043
GM
65932000-11-15 Gerd Moellmann <gerd@gnu.org>
6594
6d133d1f
GM
6595 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6596 (Qinhibit_default_face_x_resources): New variable.
6597 (syms_of_frame): Initialize it.
6598 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6599
6600 * xdisp.c (pos_visible_p): Improve function comment.
6601
6602 * lisp.h (BINDING_STACK_SIZE): New macro.
6603
8e42f043
GM
6604 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6605 reading the directory if readdir returns null and errno is EAGAIN
6606 or EINTR.
6607
e8c87124
SM
66082000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6609
6610 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6611 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6612 Set amount_to_scroll to max of dx and scroll_step so that
6613 scroll-conservatively doesn't defeat scroll-step>1.
6614 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6615 scroll-conservatively for line-at-a-time scrolling.
6616
5f0c971d
GM
66172000-11-14 Gerd Moellmann <gerd@gnu.org>
6618
6619 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6620 extra argument.
6621
6622 * xdisp.c (current_mode_line_height, current_header_line_height):
6623 New variables.
6624 (init_xdisp): Initialize them.
6625 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6626 and use exact mode line heights if it is set.
6627
6628 * lisp.h (pos_visible_p): Change prototype.
6629
6630 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6631 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6632 and current_header_line_height first.
52283633
SM
6633 (current_mode_line_height, current_header_line_height):
6634 Declare extern.
5f0c971d 6635
d7361edf
MB
66362000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6637
6638 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6639 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6640 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6641
ee5e440a
MB
66422000-11-14 Miles Bader <miles@gnu.org>
6643
6644 * xterm.c (x_alloc_lighter_color): Include an additive component
6645 too for dark colors, because FACTOR isn't enough.
6646 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6647 New macros.
6648
5ca020fc
GM
66492000-11-13 Gerd Moellmann <gerd@gnu.org>
6650
6651 * keyboard.c (show_help_echo): Call message3_nolog with number of
6652 bytes in the help string as 2nd parameter, instead of the number
6653 of characters.
6654
9d348294
MB
66552000-11-13 Miles Bader <miles@gnu.org>
6656
6657 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6658 (Fload): Use new openp return protocol.
6659 Don't try to use Vload_source_file_function to load .elc files.
6660 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6661 openp return protocol.
6662 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6663
1729bb9a
KH
66642000-11-11 Kenichi Handa <handa@etl.go.jp>
6665
4e677396
KH
6666 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6667
6668 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6669 Defined these macros.
6670 (NLIST_STRUCT): Avoid re-defining it.
6671
1729bb9a
KH
6672 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6673 -I/usr/contrib/X11R6/include.
6674 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6675
a82fe213
JR
66762000-11-10 Jason Rumney <jasonr@gnu.org>
6677
6678 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6679
6680 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6681 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6682
6683 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6684 (Qw32_charset_vietnamese): New symbol.
6685 (xlfd_charset_of_font): New function.
6686 (w32_load_system_font): Use it.
6687 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6688 when Vw32_charset_info_alist is nil to ensure default face always
6689 has font. Use Fcar and Fcdr for safety.
6690 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6691 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6692 pseudo-codepages for special cases.
6693 (w32_to_x_font): New parameter to allow charset portion to be
6694 specified where there is many to one mapping. Callers changed.
6695 (w32_list_fonts): Avoid listing fonts that won't display.
6696
52d89894
GM
66972000-11-10 Gerd Moellmann <gerd@gnu.org>
6698
6699 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6700 (font_list_1): Renamed from font_list.
6701 (font_list): New function, trying alternative registries from
6702 Vface_alternative_font_registry_alist.
6703 (Finternal_set_alternative_font_registry_alist): New function.
6704 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6705 Vface_alternative_font_registry_alist.
6706 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6707
651cd3da
KR
67082000-11-09 Ken Raeburn <raeburn@gnu.org>
6709
6710 * lisp.h (Flooking_at): Declare.
6711
388ac098
GM
67122000-11-09 Gerd Moellmann <gerd@gnu.org>
6713
778fbc46 6714 * dired.c (directory_files_internal): Fix a braino.
52283633 6715
388ac098
GM
6716 * dired.c (directory_files_internal): Add missing GCPRO's.
6717 Some cleanup.
6718
ecaedde1
GM
67192000-11-08 Gerd Moellmann <gerd@gnu.org>
6720
f7eb32aa
GM
6721 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6722 (resize_mini_window): Return quickly if Vresize_mini_window is
6723 nil. Don't return if Vmax_mini_window_height is nil.
6724
6725 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6726 (syms_of_xdisp): Initialize them.
6727 (resize_mini_window): Act according to the setting of
6728 Vresize_mini_window.
6729 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6730
ecaedde1
GM
6731 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6732 scroll bar widget after configuring it, so that it will appear at
6733 the right position from the start.
6734 (XTredeem_scroll_bar): Cleaned up.
6735
3747ef2c
KH
67362000-11-08 Kenichi Handa <handa@etl.go.jp>
6737
6738 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6739 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6740 division by two.
6741
6742 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6743
03391420
DL
67442000-11-07 Dave Love <fx@gnu.org>
6745
7758f1c1 6746 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6747
6748 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6749
b5de343d
GM
67502000-11-07 Gerd Moellmann <gerd@gnu.org>
6751
acad3c0b
GM
6752 * window.c (Fset_window_configuration): Don't try to preserve
6753 point in the current buffer, if that buffer is displayed in more
6754 than one window.
6755
b5de343d
GM
6756 * xfaces.c (lookup_named_face): If default face isn't realized,
6757 try to realize it. Return -1 if not successful.
6758 (Fx_list_fonts): Handle case that face cannot be determined.
6759 (Fface_font): Likewise.
6760
cdb1fe49
GM
67612000-11-06 Gerd Moellmann <gerd@gnu.org>
6762
6763 * window.c (displayed_window_lines): Detect partially
6764 visible lines at the bottom correctly.
6765
d3a67486
SM
67662000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6767
6768 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6769 when ensuring we don't do visit in indirect buffer.
6770
ff8dd5d5
KH
67712000-11-06 Kenichi Handa <handa@etl.go.jp>
6772
6773 * composite.h (compose_chars_in_text): Add prototype.
6774
6775 * composite.c (Vcomposition_function_table): New variable.
6776 (Qcomposition_function_table): New variable.
6777 (run_composition_function): Call
6778 Vcompose_chars_after_function with three arguments.
6779 (compose_chars_in_text): New function.
6780 (syms_of_composite): Modified the doc-string of
6781 Vcompose_chars_after_function. Declare composition-function-table
6782 as a lisp variable, and initialize it.
6783
6784 * xfns.c (x_encode_text): Suppress producing escape sequences for
6785 composition.
6786
6787 * xselect.c: Include composite.h.
6788 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6789
d1145f85
AI
67902000-11-05 Andrew Innes <andrewi@gnu.org>
6791
6792 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6793
6794 * sysdep.c (read_input_waiting): Remove extraneous argument to
6795 read_socket_hook.
6796
6797 * w32fns.c (Fx_server_version): Include w32_build_number in the
6798 return list.
6799
6800 * w32heap.c (w32_build_number): New variable.
6801 (cache_system_info): Set it.
6802
6803 * w32heap.h (w32_build_number): Add extern.
6804
6805 * emacs.c (syms_of_emacs): Update docstring for
6806 system-configuration, to reflect the actual usage on MS-Windows.
6807
e85ee976
GM
68082000-10-31 Gerd Moellmann <gerd@gnu.org>
6809
26dcb81b
GM
6810 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6811 process idle timers while waiting for another event.
6812
52283633 6813 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6814 the default face are colored.
6815
e85ee976
GM
6816 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6817 window height hasn't changed.
6818
01b220b6
JR
68192000-10-31 Jason Rumney <jasonr@gnu.org>
6820
6821 * w32term.c (x_produce_glyphs): Handle composite characters.
6822 (x_draw_glyph_string_foreground)
6823 (x_draw_composite_glyph_string_foreground): Restore old font.
6824
4e6b7204
MB
68252000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6826
6827 * minibuf.c (read_minibuf): Reset the undo history just before
6828 starting the recursive-edit.
6829
d4358b37
GM
68302000-10-30 Gerd Moellmann <gerd@gnu.org>
6831
563f68f1
GM
6832 * xfaces.c (menu_face_change_count): New variable.
6833 (Finternal_set_lisp_face_attribute): Increment it for changes
6834 of the `menu' face.
6835 (realize_basic_faces): Reflect changes in the `menu' faces
6836 in menu bars.
6837
82e274d1
GM
6838 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6839 dy obtained from the iterator's y-position after moving from
6840 scroll_margin_pos to PT; see comment there.
52283633 6841
0dbf9fd2
GM
6842 * xdisp.c (safe_eval_handler): Call add_to_log.
6843
906b3b14
GM
6844 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6845 is not a symbol or string.
6846
d4358b37
GM
6847 * xdisp.c (echo_area_display): Don't perform a display update from
6848 inside redisplay. The update will happen anyway at the end of
6849 redisplay, and it can confuse redisplay (GC messages while
6850 redisplaying, for instance.)
6851
70c825df
SM
68522000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6853
cf9b4b0b
SM
6854 * xrdb.c (x_load_resources): Use the class name in the defaults.
6855
70c825df
SM
6856 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6857 (regex_compile): Catch bogus \(\1\).
6858
a1d34b1e
GM
68592000-10-30 Gerd Moellmann <gerd@gnu.org>
6860
cae71efe
GM
6861 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6862 RGB values.
52283633 6863
35efe0a1
GM
6864 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6865 we have a color cache, check that the cached color equals the
6866 allocated color. If not, clear the color cache.
6867
1d3baf74
GM
6868 * window.c (displayed_window_lines): Change buffers if necessary.
6869 Fix computation of displayed lines.
6870
a1d34b1e
GM
6871 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6872 update_menu_bindings to DEFVAR_BOOL.
6873
70737ea9
KH
68742000-10-30 Kenichi Handa <handa@etl.go.jp>
6875
70c825df 6876 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6877
fa0cb51d
KH
6878 * puresize.h (BASE_PURESIZE): Increase to 680000.
6879
70737ea9
KH
6880 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6881
0e4c08e8
JR
68822000-10-29 Jason Rumney <jasonr@gnu.org>
6883
6884 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6885
6886 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6887 (w32_cache_char_metrics): Handle possibility that 'x' does not
6888 exist in a BDF font.
6889 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6890
6891 * w32bdf.h (bdffont): Add nchars.
6892
6893 * w32bdf.c (set_bdf_font_info): Set it.
6894 (w32_BDF_TextOut): Swap byte order of double byte characters.
6895 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6896
45b84006
EZ
68972000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6898
6899 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6900 don't override the colors in frame's param_alist, unless they are
6901 unspecified.
6902
6903 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6904 reverse the effect of the highlight flag.
6905
caf9deee
KR
69062000-10-27 Ken Raeburn <raeburn@gnu.org>
6907
6908 * window.h (Fwindow_live_p): Declare.
6909
ae0b9b46
KR
6910 * undo.c (record_delete): Check that last_undo_buffer is really a
6911 buffer before applying XBUFFER to it.
6912
6913 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6914 Faref.
6915
02067692
SM
69162000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6917
6918 * lisp.h (KEYMAPP): New macro.
6919 (get_keymap): Remove.
6920 (get_keymap_1): Rename get_keymap.
6921
6922 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6923
6924 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6925
6926 * xmenu.c (single_submenu): Use KEYMAPP.
6927 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6928 Use KEYMAPP rather than Fkeymapp.
6929
6930 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6931
6932 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6933 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6934 Use KEYMAPP rather than Fkeymapp.
6935 (single_submenu): Use KEYMAPP.
6936 (w32_menu_show, w32_dialog_show): Use TRUE.
6937
6938 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6939
6940 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6941 (Fkeymapp): Use KEYMAPP.
6942 (get_keymap): Rename from get_keymap_1. Remove old def.
6943 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6944 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6945 (Fminor_mode_key_binding): Don't raise an error if the binding
6946 is not a keymap.
6947 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6948 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6949
6950 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6951 Allow Vspecial_event_map to be autoloaded.
6952 (menu_bar_items): Fetch the keymap rather than using keymapp.
6953 (menu_bar_one_keymap): No need to follow func-indirect any more.
6954 (parse_menu_item): get_keymap_1 -> get_keymap.
6955 (tool_bar_items): Fetch the keymap rather than using keymapp.
6956 (read_key_sequence): Use KEYMAPP.
6957
6958 * intervals.c (get_local_map): Use get_keymap rather than following
6959 function-indirections explicitly.
6960
6961 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6962
f9d80af3
JR
69632000-10-27 Jason Rumney <jasonr@gnu.org>
6964
6965 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6966 point, as Windows has oversized fonts.
6967
6968 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6969
a3ba27da
GM
69702000-10-27 Gerd Moellmann <gerd@gnu.org>
6971
6972 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6973 (freehook, reallochook): Handle null pointer arguments.
6974 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6975
aa3b80cc
SM
69762000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6977
6978 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6979 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6980 Giving in to popular pressure to shut up the compiler with casts.
6981
e24e84cc
GM
69822000-10-27 Gerd Moellmann <gerd@gnu.org>
6983
6984 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6985 signed value, and use a default value computed from the font's
6986 maximum descent.
6987
05ea7ef2
MB
69882000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6989
6990 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6991 that specify a negative underline position can still use underlines.
6992
6993 * window.c (Fpos_visible_in_window_p): Make POS default to
6994 WINDOW's point, not the current buffer's point.
6995
0b95284b
DL
69962000-10-26 Dave Love <fx@gnu.org>
6997
6998 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6999 when it's necessary.
7000
6c5b90af
GM
70012000-10-26 Gerd Moellmann <gerd@gnu.org>
7002
8b6d9dc9
GM
7003 * window.c (size_window): Compute size difference from sum of old
7004 child window sizes instead of from parent's size.
7005
6bc92b2e
GM
7006 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7007 Handle obscured lines at the top of the window.
7008
7009 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7010 down after the last error condition check.
7011
6c5b90af
GM
7012 * frame.c (Fdelete_frame): Run delete-frame-hook.
7013
42f92d4d
KH
70142000-10-26 Kenichi Handa <handa@etl.go.jp>
7015
7016 * coding.c (decode_coding): Fix previous change (check also
7017 CODING_MODE_LAST_BLOCK).
7018
d97151cb
SM
70192000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7020
e7efc503
SM
7021 * regex.c: More `unsigned char' -> `re_char' changes.
7022 Also change several `int' into `re_wchar_t'.
7023 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7024 (PUSH_FAILURE_POINTER): Don't cast any more.
7025 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7026 We want GCC to complain, since this piece of code makes
7027 re_match non-reentrant, which *should* be fixed.
7028 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7029 (EXTEND_BUFFER): Use RETALLOC.
7030 (SET_LIST_BIT): Don't cast.
7031 (re_wchar_t): New type.
7032 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7033 that those two functions will always properly return.
7034 (IMMEDIATE_QUIT_CHECK): Cast to void.
7035 (analyse_first): Use recursion rather than an explicit stack.
7036 (re_compile_fastmap): Can't fail anymore.
7037 (re_search_2): Don't check re_compile_fastmap for failure.
7038 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7039 Now also sets the new value (passed in a new argument).
7040 (re_match_2_internal): Use it.
7041 Also, use a new var `reg' of type size_t when looping through regs
7042 rather than reuse the inappropriate `mcnt'.
7043
d97151cb
SM
7044 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7045 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7046 (where_is_internal): Renamed from Fwhere_is_internal.
7047 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7048 (Fwhere_is_internal): New function wrapping where_is_internal.
7049 (where_is_internal_1): Handle the case where we're filling the cache.
7050 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7051
d5789b65
MB
70522000-10-25 Miles Bader <miles@gnu.org>
7053
7054 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7055
4ecda532
GM
70562000-10-25 Gerd Moellmann <gerd@gnu.org>
7057
7058 * window.c (pos_fully_visible_p): Removed.
7059 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7060 if position is visible and/or fully visible.
7061
7062 * lisp.h (pos_visible_p): Add prototype.
7063
7064 * xdisp.c (pos_visible_p): New function.
7065
68c3a137
KH
70662000-10-25 Kenichi Handa <handa@etl.go.jp>
7067
7068 * process.c (send_process): If OBJECT is t, it means that the data
7069 is from C string, but we should encode it. Before calling
7070 setup_raw_text_coding_system, be sure to flush out data by the
7071 previous coding system.
7072
7ae1c032
MB
70732000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7074
ff4dcd4b
MB
7075 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7076 assignment of startpos to prev when startpos == pos.
7077
7ae1c032
MB
7078 * editfns.c (find_field): Set the field stickiness correctly from
7079 overlay fields. Use renamed `text_property_stickiness'.
7080 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7081 Only check text properties, not overlays.
7ae1c032
MB
7082 * textprop.c (get_char_property_and_overlay): New function.
7083 (Fget_char_property): Use it.
7084 * intervals.h (get_char_property_and_overlay): Add declaration.
7085
49801145
SM
70862000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7087
7088 * keymap.c: Use AREF, ASET and ASIZE macros.
7089 (Fmake_sparse_keymap): Docstring fix.
7090 (synkey): Remove.
7091 (shadow_lookup): Move up.
7092 Handle the case where lookup-key returns an integer.
7093 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7094 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7095 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7096 Simplify/rewrite the keymap-finding code.
7097 Add check for command shadowing, using shadow_lookup.
7098
39e776cd
SM
70992000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7100
7101 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7102 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7103 a symbol.
7104
2488aba5
AI
71052000-10-24 Andrew Innes <andrewi@gnu.org>
7106
7107 * dired.c (directory_files_internal_unwind): New function.
7108 (directory_files_internal): Use it to ensure closedir is called
7109 even if expand-file-name or file-attributes throw, eg. because of
7110 a user interrupt. Also enable immediate_quit while calling
7111 re_search, so that matching can be interrupted as well.
7112
b94fdf61
AI
71132000-10-24 Andrew Innes <andrewi@gnu.org>
7114
7115 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7116 NT-Emacs only.
7117 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7118 so that re_search functions only quit when callers expect them to.
7119
71202000-10-24 Kenichi Handa <handa@etl.go.jp>
7121
7122 * regex.c (regex_compile): Change the way of handling a range from
7123 a char less than 256 to a char not less than 256.
7124
1946f901
GM
71252000-10-24 Gerd Moellmann <gerd@gnu.org>
7126
7ae2f10f
GM
7127 * window.c (size_window): Prevent setting window's width or
7128 height to a negative value (esp. with XSETFASTINT).
7129
5dcab13e
GM
7130 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7131 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7132 (protect_malloc_state) [GC_MALLOC_CHECK &&
7133 GC_PROTECT_MALLOC_STATE]: New function.
7134 (PROTECT_MALLOC_STATE): New macro.
7135 (__malloc_initialize, morecore, _malloc_internal)
7136 (_free_internal) _realloc_internal): Use it to make _heapinfo
7137 read-only outside of gmalloc.
7138
63e1b552
GM
7139 * keymap.c: Update copyright.
7140
1946f901
GM
7141 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7142 a symbol.
7143
4fa09beb
GM
71442000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7145
7146 * filelock.c (unlock_all_files): Use unlock_file to expand each
7147 buffer's file_truename before trying remove its lock file.
7148
23afac01
EZ
71492000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7150
7151 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7152 or CRLF, decode EOLs.
7153
04448b95
KH
71542000-10-24 Kenichi Handa <handa@etl.go.jp>
7155
7156 * window.c (Fdisplay_buffer): Fix doc.
7157
3090a5a5
JR
71582000-10-23 Jason Rumney <jasonr@gnu.org>
7159
7160 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7161 ASCII font of default fontset on Windows.
7162
7163 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7164 xterm.c comment below).
7165
7166 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7167
a83fee2c
GM
71682000-10-23 Gerd Moellmann <gerd@gnu.org>
7169
7170 * xterm.c (x_connection_closed): Reset handling_signal.
7171
52283633 7172 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7173
6ffdb539
MB
71742000-10-23 Miles Bader <miles@gnu.org>
7175
7176 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7177 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7178 maintain old behavior.
7179 * minibuf.c (Fminibuffer_complete): Likewise.
7180
7f1c969b
MB
71812000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7182
7183 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7184 that when a font can't be exactly centered, it errs up rather than
7185 down.
7186
23afac01 71872000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7188
52283633 7189 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7190
1a578e9b
AC
71912000-10-23 Andrew Choi <akochoi@i-cable.com>
7192
7193 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7194
7195 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7196 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7197
7198 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7199 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7200 syms_of_search, x_term_init, and init_keyboard before calling
7201 init_window_once. Also, call syms_of_xmenu.
7202
7203 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7204 default fontset to Monaco.
7205
7206 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7207 NewMacWindow and DisposeMacWindow.
7208 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7209 instead of calling NewMacWindow and setting fields of
7210 f->output_data.mac directly. Call init_frame_faces.
7211 (Fdelete_frame) [macintosh]: Remove unused code.
7212 (Fmodify_frame_parameters) [macintosh]: Call
7213 x_set_frame_parameters instead of mac_set_frame_parameters.
7214
7215 * frame.h [macintosh]: Define menu_bar_lines field in struct
7216 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7217
7218 * keyboard.c [macintosh]: Include macterm.h.
7219 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7220 and menu_bar_activate_event type events as for X and NT.
7221 (make_lispy_event) [macintosh]: Construct lisp events of type
7222 MENU_BAR_EVENT as for X and NT.
7223
7224 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7225 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7226 (sys_subshell) [macintosh]: Remove definition entirely.
7227 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7228 Vwindow_system_version here. Remove initialization of
7229 Vx_bitmap_file_path.
7230 (read_input_waiting): Correct the number of parameters passed to
7231 read_socket_hook.
7232 Move all Macintosh functions to mac/mac.c.
7233
7234 * term.c [macintosh]: Include macterm.h.
7235
7236 * window.c [macintosh]: Include macterm.h.
7237
7238 * xdisp.c [macintosh]: Include macterm.h. Declare
7239 set_frame_menubar and pending_menu_activation.
7240 (echo_area_display) [macintosh]: Do not return if terminal frame
7241 is the selected frame.
7242 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7243 Allow only the selected frame to set menu bar.
7244 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7245 calling FRAME_EXTERNAL_MENU_BAR (f).
7246 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7247
7248 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7249 and check_x. Declare XCreateGC. Define x_create_gc and
7250 x_free_gc. Initialize font_sort_order.
7251 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7252 but call x_list_fonts instead of w32_list_fonts.
7253 (Finternal_face_x_get_resource) [macintosh]: Do not call
7254 display_x_get_resource.
7255 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7256 (realize_x_face) [macintosh]: Load the font if it is specified in
7257 ATTRS.
52283633 7258 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7259
1ffbabe3
SM
72602000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7261
7262 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7263 is nil: since we go to the end of submap anyway, we'd end up
7264 setting nil to nil.
7265 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7266 doesn't obey autoload.
7267
bed43f1d
EZ
72682000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7269
1ffbabe3 7270 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7271
ea4233a7
JR
72722000-10-21 Jason Rumney <jasonr@gnu.org>
7273
7274 * w32term.c (w32_cache_char_metrics): Double check that font is
7275 really fixed pitch before trusting tmPitchAndFamily.
7276
f3d3c491
AI
72772000-10-21 Andrew Innes <andrewi@gnu.org>
7278
7279 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7280
7281 * w32term.h: Extern decl for w32_cache_char_metrics.
7282
7283 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7284
7285 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7286 (w32_unload_font): Free per_char array if present.
7287
7288 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7289 cached information in emulated XFontStruct to handle common cases
7290 quickly. Do not allocate XCharStruct for return.
7291 (w32_native_per_char_metric): New function.
7292 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7293 allocating one.
7294 (x_produce_glyphs): Don't get an HDC. Change calls to
7295 w32_per_char_metric to match arg change above. Remove calls to
7296 free results.
7297 (w32_get_glyph_overhangs): Ditto.
7298 (w32_cache_char_metrics): New function.
7299
7300 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7301 ($(BLD)/casefiddle.$(O)): Remove compile command.
7302 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7303 ($(BLD)/dispnew.obj):
7304 ($(BLD)/keyboard.obj):
7305 ($(BLD)/w32inevt.obj):
7306 ($(BLD)/w32bdf.obj):
7307 ($(BLD)/alloc.obj):
7308 ($(BLD)/buffer.obj):
7309 ($(BLD)/editfns.obj):
7310 ($(BLD)/emacs.obj):
7311 ($(BLD)/fileio.obj):
7312 ($(BLD)/fns.obj):
7313 ($(BLD)/indent.obj):
7314 ($(BLD)/insdel.obj):
7315 ($(BLD)/intervals.obj):
7316 ($(BLD)/minibuf.obj):
7317 ($(BLD)/print.obj):
7318 ($(BLD)/scroll.obj):
7319 ($(BLD)/sysdep.obj):
7320 ($(BLD)/textprop.obj):
7321 ($(BLD)/widget.obj):
f3d3c491
AI
7322 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7323 ($(BLD)/term.obj): Add dependency on dispextern.h.
7324
52283633
SM
7325 * makefile.nt ($(BLD)\dispnew.obj):
7326 ($(BLD)\keyboard.obj):
7327 ($(BLD)\w32inevt.obj):
7328 ($(BLD)\w32bdf.obj):
7329 ($(BLD)\alloc.obj):
7330 ($(BLD)\buffer.obj):
7331 ($(BLD)\editfns.obj):
7332 ($(BLD)\emacs.obj):
7333 ($(BLD)\fileio.obj):
7334 ($(BLD)\fns.obj):
7335 ($(BLD)\indent.obj):
7336 ($(BLD)\insdel.obj):
7337 ($(BLD)\intervals.obj):
7338 ($(BLD)\minibuf.obj):
7339 ($(BLD)\print.obj):
7340 ($(BLD)\scroll.obj):
7341 ($(BLD)\sysdep.obj):
7342 ($(BLD)\textprop.obj):
7343 ($(BLD)\widget.obj):
f3d3c491
AI
7344 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7345 ($(BLD)\term.obj): Add dependency on dispextern.h
7346
18ad4821
EZ
73472000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7348
7349 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7350 with an additional argument of Qt.
7351
de54681a
MB
73522000-10-21 Miles Bader <miles@gnu.org>
7353
7354 * window.c (pos_fully_visible_in_window_p): New function.
7355 (Fpos_visible_in_window_p): Add FULLY argument.
7356 Use pos_fully_visible_in_window_p.
7357 (window_scroll_pixel_based, window_scroll_line_based): Update
7358 calls to Fpos_visible_in_window_p.
7359 * lisp.h (Fpos_visible_in_window_p): Update prototype
7360
13c844fb
GM
73612000-10-20 Gerd Moellmann <gerd@gnu.org>
7362
7363 * alloc.c (toplevel): Conditionalize compilation of mem_*
7364 functions differently.
52283633 7365
d9506268
JR
73662000-10-20 Jason Rumney <jasonr@gnu.org>
7367
7368 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7369 mem_init where it used to be. mem_z etc not defined otherwise.
7370
8094989b
GM
73712000-10-20 Gerd Moellmann <gerd@gnu.org>
7372
7373 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7374 GC_MALLOC_CHECK.
7375 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7376 structure definition and related variabled to the top of the file.
7377 Include this code when GC_MALLOC_CHECK is defined.
7378 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7379 register/unregister allocated region.
7380 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7381 which isn't allocated.
7382 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7383 something which is already in use.
7384 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7385 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7386 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7387 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7388
7389 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7390 _malloc_internal instead of malloc.
7391 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7392 of free.
7393
ea456eb4
AI
73942000-10-20 Andrew Innes <andrewi@gnu.org>
7395
7396 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7397 Windows.
7398 (my_strftime) <macro>: Don't use macro arg list when redefining as
7399 _strftime_copytm.
7400 (my_strftime) <function>: Supply 0 as ut argument.
7401
e64c3a75
JR
74022000-10-19 Jason Rumney <jasonr@altavista.net>
7403
7404 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7405 including dispextern.h, as it stops faces from working.
7406
7407 * w32fns.c (Fx_create_frame): Don't bother calling
7408 face-set-after-frame-default since the caller does it for us
7409 anyway. Clean up calls to x_get_arg to be consistent with X.
7410
7411 * w32term.c (x_produce_glyphs): Handle
7412 unibyte_display_via_language_environment correctly.
7413 (w32_draw_box_rect): Fix the calculation of width and height.
7414
7415 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7416 as it has stopped working.
7417 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7418 menu-bar.
7419
17401c97
GM
74202000-10-19 Gerd Moellmann <gerd@gnu.org>
7421
7422 * eval.c (skip_debugger): Prevent a compiler warning.
7423 (Fcondition_case): Likewise.
7424 (Fbacktrace_frame): Use a null interactive spec.
7425
773272d8
KH
74262000-10-19 Kenichi Handa <handa@etl.go.jp>
7427
7428 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7429
a42943e9
GM
74302000-10-18 Gerd Moellmann <gerd@gnu.org>
7431
e50517d9
GM
7432 * strftime.c: Sync with glibc, file version 1.78.
7433 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7434 should no longer be used according to ISO 8601.
7435
9035a35a
GM
7436 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7437 no map for meta_prefix_char, don't try to use it as a keymap.
7438 Instead, if T_OK is non-zero, look up a default binding, if any,
7439 otherwise, if T_OK is zero, return nil.
7440
a42943e9
GM
7441 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7442 (x_to_xcolors, png_load): Use x_query_color.
7443
52283633
SM
7444 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7445 New functions.
a42943e9
GM
7446 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7447 which can be slow.
7448 (x_copy_color, x_alloc_lighter_color): Likewise.
7449
7450 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7451 (x_query_color, x_query_colors): Add prototype.
7452
7453 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7454 check_string_bytes only if not noninteractive, increase count to 50.
7455
00de2987
MB
74562000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7457
7458 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7459 markers correctly.
7460
54918e2b
GM
74612000-10-17 Gerd Moellmann <gerd@gnu.org>
7462
1f0b3fd2
GM
7463 * alloc.c (pure_bytes_used): Renamed from pureptr.
7464 (ALIGN): New macro.
7465 (pure_alloc): New function.
7466 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7467 Use it.
7468 (Fpurecopy): Use PURE_POINTER_P.
7469
68c5d1db
GM
7470 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7471 PT has moved backward.
52283633 7472
9a038881
GM
7473 * xdisp.c (cursor_row_p): Take continued lines into account.
7474
361b097f
GM
7475 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7476 string's size_byte.
7477 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7478 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7479 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7480 string allocated.
7481
54918e2b
GM
7482 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7483 of selective display off while searching for the next line start.
7484
03ed0806
KH
74852000-10-17 Kenichi Handa <handa@etl.go.jp>
7486
7487 * Makefile.in (term.o): Depend on dispextern.h.
7488
7e05cdaf
SM
74892000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7490
7491 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7492
a6801fd1
GM
74932000-10-16 Gerd Moellmann <gerd@gnu.org>
7494
483de32b
GM
7495 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7496 the iterator at the beginning, so that they can be set later on,
7497 for instance in reseat_at_next_visible_line_start, without being
7498 overwritten.
7499
a6801fd1
GM
7500 * xfns.c (pbm_format): Add :foreground and :background keywords.
7501 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7502 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7503
dbf1fcc1
EZ
75042000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7505
7506 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7507
52283633 7508 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7509
7510 * msdos.c (IT_set_face): Compare highlighted face with the default
7511 face, and invert colors if these faces' colors are identical.
7512 (Fmsdos_remember_default_colors): Don't swap foreground and
7513 background colors in initial_colors[].
7514 (IT_set_frame_parameters): Don't swap frame's foreground and
7515 background pixels. If ALIST includes "(reverse . t)", swap
7516 foreground-color and background-color properties in frame's
7517 param_alist. If the original frame's param_alist doesn't specify
7518 the colors, store unspecified-fg and unspecified-bg, reversed if
7519 required.
7520
7521 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7522 the colors are unspecified and reversed, reverse fore- and back-
7523 ground in the returned value.
7524 (Fframe_parameter): Ditto.
7525
b41fe2c3 75262000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7527
3a6b59d9
GM
7528 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7529 get_last_unchanged_at_beg_row.
7530 (find_first_unchanged_at_end_row): Renamed from
7531 get_first_unchanged_at_end_row.
7532 (find_first_unchanged_at_end_row): Convert assertions to
7533 unconditional tests which abort. When looking for a row in
7534 unchanged text, don't go further back than first_text_row.
7535
b41fe2c3
GM
7536 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7537 Don't add in the last line's height when deciding if the new
7538 position is below the scroll margin.
9d1af64f 7539
b41fe2c3 75402000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7541
7542 * editfns.c (Fconstrain_to_field): Check carefully for field
7543 boundaries if either OLD_POS or NEW_POS has a non-nil field
7544 property, even if they're the same.
7545
c412cb7b
KH
75462000-10-16 Kenichi Handa <handa@etl.go.jp>
7547
7548 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7549 height for XFillRectangle.
7550
5586f3eb
SM
75512000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7552
7553 * syntax.c (Fstring_to_syntax): New function extracted from
7554 Fmodify_syntax_entry.
7555 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7556 (skip_chars, Fforward_comment): Remove unused variables.
7557 (syms_of_syntax): Add defsubr for string-to-syntax.
7558 (describe_syntax): Add code for comment and string fences.
7559
db785038
SM
75602000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7561
7562 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7563 Do the meta->esc mapping. Call get_keyelt before returning.
7564 Start scanning from the second element (the first is always `keymap')
7565 to make it easier to detect when we reach a parent map.
7566 Handle the case of inheriting from a symbol whose function is a map.
7567 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7568 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7569 (get_keyelt, Flookup_key): Update call to access_keymap.
7570 Remove the meta->esc mappings.
7571 (define_as_prefix): Delete old disabled code.
7572 (menu_item_p): New function.
7573 (where_is_internal_1): Skip over the few remaining menu items.
7574 * lisp.h (access_keymap): Update prototype.
7575 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7576 Update call to access_keymap.
7577 (follow_key, read_key_sequence): Update calls to access_keymap.
7578 Remove the meta->esc mappings.
7579
cafafe0b
GM
75802000-10-13 Gerd Moellmann <gerd@gnu.org>
7581
a2e2a7f6
GM
7582 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7583 with additional argument.
7584
cafafe0b
GM
7585 * xdisp.c (cursor_row_p): New function.
7586 (try_cursor_movement, display_line): Use it.
52283633 7587
cafafe0b
GM
7588 * xdisp.c (append_space): Also save/restore iterator's current
7589 character and its length.
7590
7591 * xdisp.c (init_from_display_pos): Add an assertion.
7592 (handle_stop): Don't set iterator's add_overlay_start.
7593 (handle_invisible_prop): Likewise.
7594 (load_overlay_strings): If text under an overlay is invisible,
7595 take both before- and after-strings into account when the iterator
7596 is positioned either at the start or at the end of the overlay.
7597 (forward_to_next_line_start): Rewritten.
7598 (reseat_at_next_visible_line_start): Rewritten.
7599 (set_iterator_to_next): Add parameter RESEAT_P.
7600
7601 * dispextern.h (struct it): Remove member add_overlay_start.
7602 (set_iterator_to_next): Change prototype.
7603
c744452b
KH
76042000-10-13 Kenichi Handa <handa@etl.go.jp>
7605
7606 * coding.c (code_convert_region): Be sure to initialize
7607 coding->category_idx.
e4a3f4e1
KH
7608 (decode_coding_string): Set coding->src_multibyte and
7609 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7610 (encode_coding_string): Set coding->src_multibyte and
7611 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7612
321fd26f
SM
76132000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7614
7615 * xfns.c (Fx_create_frame): Don't bother calling
7616 face-set-after-frame-default since the caller does it for us anyway.
7617
76832439
EZ
76182000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7619
7620 * window.c (coordinates_in_window): Fix detection of vertical line
7621 on character terminals.
7622
2483cf58
GM
76232000-10-12 Gerd Moellmann <gerd@gnu.org>
7624
7625 * editfns.c (save_excursion_save): Additionally record the
7626 selected window.
7627 (save_excursion_restore): If buffer was visible in a window, and a
7628 different window was selected, and the old selected window is
7629 still live, restore point in that window.
7630
eb991b25
KH
76312000-10-12 Kenichi Handa <handa@etl.go.jp>
7632
8a0eba09
KH
7633 * xterm.c (x_produce_glyphs): Handle
7634 unibyte_display_via_language_environment correctly.
7635
20401fcc
KH
7636 * regex.c (regex_compile): Change the way of handling a range from
7637 unibyte char to multibyte char.
7638
7639 * syntax.c (skip_chars): Change the way of handling a range from
7640 unibyte char to multibyte char.
7641
eb991b25
KH
7642 * process.c (read_process_output): Cancel previous change.
7643
365dd325
EZ
76442000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7645
c1b096cb
EZ
7646 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7647
365dd325
EZ
7648 * charset.c (Ffind_charset_string): Doc fix.
7649 (Ffind_charset_region): Doc fix.
7650
eb483c2b
KH
76512000-10-11 Kenichi Handa <handa@mule.m17n.org>
7652
7653 * process.c (read_process_output): Fix previous change. Adjust
7654 multibyteness of text to insert in a buffer by
52283633 7655 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7656
b40bfb99
AS
76572000-10-10 Andreas Schwab <schwab@suse.de>
7658
7659 * alloc.c (mark_object): Remove all workarounds installed on
7660 1993-08-08.
7661
caff31d4
KH
76622000-10-10 Kenichi Handa <handa@etl.go.jp>
7663
52283633 7664 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7665 (base64_encode_1): Make it work for a text of multibyte form.
7666 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7667 case. Don't call str_to_multibyte because base64_decode_1
7668 produces correct multibyte form for eight-bit codes.
52283633 7669 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7670 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7671 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7672 codes.
7673
7674 * charset.h (CHAR_STRING): Optimized for single byte characters.
7675
cba026ef
AS
76762000-10-09 Andreas Schwab <schwab@suse.de>
7677
7678 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7679 -1 after socket is closed, to fall through to error processing.
7680
1e21fe48
EZ
76812000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7682
7683 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7684 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7685 background-color, change also the colors of the default face for
7686 this frame.
7687
a640322e
EZ
76882000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7689
7690 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7691 them extern (they are defined on xfaces.c).
7692 (syms_of_msdos): Don't intern and don't staticpro
7693 Qbackground_color and Qforeground_color.
7694
a115794c
EZ
76952000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7696
7697 * frame.c (Fframe_parameter): For non-windowed frames, if
7698 f->param_alist says foreground or background color is unspecified,
7699 call tty_color_name to return the color name computed from the
7700 frame's current colors.
7701
f5533b63
DL
77022000-10-06 Dave Love <fx@gnu.org>
7703
7704 * terminfo.c (ospeed): Don't declare.
7705
7706 * sysdep.c: Don't include string.h.
7707 (h_errno): Declare conditional also on TRY_AGAIN.
7708
7709 * charset.c (Ffind_charset_string): Doc fix.
7710
52283633 7711 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7712 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7713 error messages.
7714
2b06561a
DL
77152000-10-05 Dave Love <fx@gnu.org>
7716
7717 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7718 position like menu-bar.
7719
ca839c85
GM
77202000-10-05 Gerd Moellmann <gerd@gnu.org>
7721
7722 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7723
7724 * xdisp.c (handle_single_display_prop): Use safe_call1.
7725 (safe_call): Renamed from call_function.
7726 (safe_call1): New function.
7727 (handle_fontified_prop): Use safe_call1 instead of call1.
7728 (safe_eval): Renamed from eval_form.
7729 (safe_eval_handler): Renamed from eval_handler.
7730 (handle_single_display_prop, display_mode_element): Use safe_eval
7731 instead of eval_form.
7732
7733 * xfaces.c (merge_face_heights): Use safe_call instead of
7734 call_function.
7735
7736 * keyboard.c (show_help_echo): Use safe_call instead of
7737 call_function; use safe_eval instead of eval_form.
7738
7739 * lisp.h (safe_call): Renamed from call_function.
7740 (safe_eval): Renamed from eval_form.
7741 (safe_call1): Add prototype.
7742
a3489ece
MB
77432000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7744
7745 * xfns.c (image_ascent): Rearrange ascent calculation for the
7746 has-a-font case.
7747
35810b6f
SM
77482000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7749
7750 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7751 (where_is_internal_1): Don't bother ignoring menu-items any more.
7752
3dc78168
GM
77532000-10-04 Gerd Moellmann <gerd@gnu.org>
7754
7755 * keyboard.c (update_menu_bindings): New variable.
7756 (parse_menu_item): Use AREF. If update_menu_bindings
7757 is 0, don't update menu bindings.
7758 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7759
1efc2bb9
EZ
77602000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7761
7762 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7763 to `mark_object'.
7764
3f679f55
SM
77652000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7766
7767 * syntax.c (forw_comment): Match nestedness of ender/starter.
7768 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7769 (prev_char_comstart_first): Remove.
7770 (back_comment): Check two-char comment markers more carefully
7771 to better handle overlapping cases like *//* or /* */* */ ...
7772 Match nestedness of ender/starter.
7773
2021ab61
DL
77742000-10-02 Dave Love <fx@gnu.org>
7775
7776 * config.in (HAVE_GAI_STRERROR): Add undef.
7777
7778 * process.c (Fopen_network_stream): Use it.
7779
7780 * m/alpha.h (NO_REMAP): Don't define.
7781
64e6cc18
GM
77822000-10-02 Gerd Moellmann <gerd@gnu.org>
7783
7784 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7785 return with a string converted to an integer or vice versa when
7786 Vmocklisp_arguments is t.
7787 (Fsignal): Likewise. The function can return for `quit'.
7788 (struct gcpro): Declare member `var' to point to a volatile
7789 Lisp_Object.
7790
7791 * eval.c (error): Prevent compiler warning.
7792
b1904cd9
SM
77932000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7794
7795 * keymap.c (keymap_memberp): New function.
7796 (Fset_keymap_parent): Use it.
7797 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7798 Use keymap_memberp to avoid creating cycles.
7799 (access_keymap): Use KEYMAPP.
7800
71c9ec51
GM
78012000-09-30 Gerd Moellmann <gerd@gnu.org>
7802
7803 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7804 gai_strerror. Make sure xerrno is set if connect fails. Improve
7805 error recovery.
71c9ec51 7806
c70c6b58
JR
78072000-09-29 Jason Rumney <jasonr@gnu.org>
7808
7809 * w32term.c (w32_char_font_type, w32_encode_char)
7810 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7811 (w32_bdf_per_char_metric): New function.
7812 (w32_per_char_metric): Use it.
7813 (x_draw_glyph_string_background): Always draw background for BDF
7814 glyphs.
7815
7816 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7817 GDI object which is a scarce resource.
7818
7819 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7820 (get_quoted_string): Fix limit on memchr search.
7821 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7822 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7823 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7824 (get_cached_font_char, cache_char_offset): Use macro
7825 BDF_CODEPOINT_RANGE_COVER_P.
7826 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7827 (clear_cached_bitmap_slots): New function.
7828 (GET_HEX_VALUE): G-Z, g-z are not hex.
7829 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7830 (get_bitmap_with_cache): Use new cache implementation.
7831 (create_offscreen_bitmap): New function.
7832 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7833
7834 * w32term.c (x_produce_glyphs): If the distance from the current
7835 position to the next tab stop is less than a canonical character
7836 width, use the tab stop after that.
7837 (x_draw_glyphs): Handle case START and END are out of bounds more
7838 carefully.
7839 (x_clear_mouse_face): Block/unblock input.
7840 (x_display_and_set_cursor): Don't show a hollow box cursor for
7841 buffers whose cursor_type is nil.
7842
fe01239f
GM
78432000-09-29 Gerd Moellmann <gerd@gnu.org>
7844
52283633 7845 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7846
7847 * dispextern.h (updating_frame): Declare extern.
7848
e7c52f1f
AS
78492000-09-29 Andreas Schwab <schwab@suse.de>
7850
7851 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7852
de6e1f7c
GM
78532000-09-29 Gerd Moellmann <gerd@gnu.org>
7854
25126faa
GM
7855 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7856 use its function definition.
7857 (tool_bar_items): Likewise.
7858
de6e1f7c 7859 * lisp.h (fatal): Declare NO_RETURN.
52283633 7860
454ee39b
KH
78612000-09-29 Kenichi Handa <handa@etl.go.jp>
7862
7863 * keymap.c: Remove the line "#undef NULL".
7864
96301c5f
GM
78652000-09-28 Gerd Moellmann <gerd@gnu.org>
7866
52283633 7867 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7868
efffeeb4
DL
78692000-09-28 Dave Love <fx@gnu.org>
7870
ecb8b666
DL
7871 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7872
dc3cd20f
DL
7873 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7874
7875 * .gdbinit (xreload): Note its need on GNU/Linux.
7876
efffeeb4
DL
7877 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7878 r_alloc, r_alloc_free.
7879
8610d903
KH
78802000-09-28 Kenichi Handa <handa@etl.go.jp>
7881
7882 * syntax.c (skip_chars): Handle negation correctly.
7883
8901d1ac
GM
78842000-09-27 Gerd Moellmann <gerd@gnu.org>
7885
6f22f1ad
GM
7886 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7887 with non-zero FORCE_P argument.
7888
52283633 7889 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7890 Add assertions.
7891
7892 * xdisp.c (window_box_height): Add an assertion.
7893
7894 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7895 tool-bar than is available.
7896 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7897
36f1966f
DL
78982000-09-27 Dave Love <fx@gnu.org>
7899
efffeeb4 7900 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7901
31d929e5
GM
79022000-09-26 Gerd Moellmann <gerd@gnu.org>
7903
c98863bf
GM
7904 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7905 instead of BITS_PER_INT.
7906 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7907 EMACS_UINT, respectively.
7908 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7909
7910 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7911
7912 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7913
77072ab1
GM
7914 * window.c (freeze_window_starts): Construct last argument for
7915 foreach_window differently.
7916
7917 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7918
7919 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7920 EMACS_UINT instead of `int' and `unsigned int'.
7921 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7922
7923 * frame.h (struct frame): Make the `nothing' member of union
7924 output_data an EMACS_INT.
7925
52283633 7926 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7927 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7928 size in the sdata structure.
7929 (SDATA_NBYTES, SDATA_DATA): New macros.
7930 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7931 differently for the different layout of the sdata structure.
7932 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7933 in sdata.
7934 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7935 Check that size recorded in the string size and size recorded in
7936 the sdata structure agree.
7937
3e60b029
DL
79382000-09-25 Dave Love <fx@gnu.org>
7939
7940 * buffer.c: Include stdio.h.
7941
7942 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7943
3e60b029
DL
7944 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7945
7946 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7947 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7948 (__malloc_extra_blocks): Declare as __malloc_size_t.
7949
8ff16b4e
GM
79502000-09-25 Gerd Moellmann <gerd@gnu.org>
7951
755a2ccd
GM
7952 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7953
d8b4516f
GM
7954 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7955 (read_char): If help-echo is showing, preserve the echo area
7956 when redisplaying.
7957
7958 * xdisp.c (help_echo_showing_p): New variable.
7959 (set_message): Reset it to 0.
7960 (init_xdisp): Initialize help_echo_showing_p.
7961
7962 * dispextern.h (help_echo_showing_p): Declare extern.
7963
7964 * config.in: Fix typo in __GNUC_MINOR__.
7965
7966 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7967
b11af2dd
GM
7968 * s/freebsd.h (POSIX_SIGNALS): Define.
7969
8ff16b4e
GM
7970 * xterm.c (x_clear_mouse_face): Block/unblock input.
7971
844eb643
DL
79722000-09-24 Dave Love <fx@gnu.org>
7973
7974 * fns.c (base64_encode_1): Fix last change.
7975
b30ab1b3
GM
79762000-09-22 Gerd Moellmann <gerd@gnu.org>
7977
7978 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7979
7980 * xdisp.c (try_window_reusing_current_matrix): More fixes
7981 for the case window has a header-line.
7982
c6cbe5f0
DL
79832000-09-22 Dave Love <fx@gnu.org>
7984
4c7c1f3f
DL
7985 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7986 a doc string.
7987
7988 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7989
c6cbe5f0
DL
7990 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7991
550a625e
GM
79922000-09-21 Gerd Moellmann <gerd@gnu.org>
7993
4c7c1f3f 7994 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7995 for GCC >= 2.5.
7996
52283633
SM
7997 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7998 Declare NO_RETURN.
fca99116 7999
80d26f99
GM
8000 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8001 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8002 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8003 warnings.
52283633 8004
80d26f99
GM
8005 * marker.c (byte_char_debug_check): Return void.
8006
623a0aae
GM
8007 * xfns.c (Fx_create_frame): Set default frame parameter value
8008 for tool-bar-lines to 1.
8009
8010 * dispnew.c (scrolling_window): Compare y-positions of rows
8011 equal at the start. Some simplification.
8012
8013 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8014 reused rows' y-position in the case window has a header-line, and
8015 new window start is greater than old window start.
8016
42ac0ae5
GM
8017 * process.c (process_sent_to): New variable.
8018 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8019 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8020 Declare more parameters volatile.
8021
550a625e
GM
8022 * lread.c (Vrecursive_load_depth_limit): New variable.
8023 (Fload): Check recursive loads whose recursion depth exceeds
8024 Vrecursive_load_depth_limit.
8025 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8026
8320414c
GM
80272000-09-20 Gerd Moellmann <gerd@gnu.org>
8028
f46c275e
GM
8029 * fileio.c (Fread_file_name): Doc fix.
8030
8031 * editfns.c (Fmessage_or_box): Doc fix.
8032
8033 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8034
b7e11c5b 8035 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8036
8320414c
GM
8037 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8038 symbols are specified, add color translations to the cache.
52283633 8039 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8040 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8041 xpm_cache_color.
8042 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8043 structures to xpm_init_color_cache.
8044
da1608d9
GM
80452000-09-19 Gerd Moellmann <gerd@gnu.org>
8046
52283633 8047 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8048
6badfa25
AI
80492000-09-19 Andrew Innes <andrewi@gnu.org>
8050
8051 * makefile.nt (bootstrap-emacs): Don't change directory.
8052
3a5f42bb
KH
80532000-09-19 Kenichi Handa <handa@etl.go.jp>
8054
1b7649bd
KH
8055 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8056
3a5f42bb
KH
8057 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8058 If output buffer is too small, signal an appropriated error.
8059
9f83cf0b
DL
80602000-09-18 Dave Love <fx@gnu.org>
8061
52283633 8062 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8063 (current_active_maps): Remove redundant get_local_map call.
8064
28c7826c
GM
80652000-09-18 Gerd Moellmann <gerd@gnu.org>
8066
5cefa566
GM
8067 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8068 cursor for buffers whose cursor_type is nil.
52283633 8069
6fed3546
GM
8070 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8071 a feature to implement that is already implemented.
8072 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8073 warnings.
8074
8075 * xfns.c (x_clear_image_1): New function.
8076 (x_clear_image): Use it.
52283633 8077 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8078
05b1f851
GM
8079 * dispnew.c (update_window): Move test for invisible lines
8080 at the top to update_window_line.
8081 (update_window_line): Handle invisible lines here.
8082
f4779de9
GM
8083 * xfns.c (clear_image_cache): Clear current matrices of all
8084 frames sharing an image cache. Block input while freeing
8085 images. Fix timestamp comparison.
8086 (x_clear_image): Also free the mask.
8087
28c7826c
GM
8088 * xfns.c (lookup_image): Block input while loading the image so
8089 that we won't get interrupted in a state where the image isn't yet
8090 set up completely.
8091 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8092 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8093 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8094 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8095
b7412313
GM
80962000-09-16 Gerd Moellmann <gerd@gnu.org>
8097
8098 * dispnew.c (update_window): Make sure to make desired rows
8099 current even if they are completely invisible at the top
8100 of a window.
8101
47e351a3
GM
81022000-09-15 Gerd Moellmann <gerd@gnu.org>
8103
7f8f1edc
GM
8104 * xfns.c (lookup_image): Build mask before applying an algorithm.
8105 Recognize algorithm `disabled'.
8106 (cross_disabled_images): New variable.
8107 (COLOR_INTENSITY): New macro.
8108 (x_detect_edges): Use COLOR_INTENSITY.
8109 (x_disable_image): New function.
8110 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8111
8112 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8113 disabled state, don't apply an image transformation algorithm if
8114 the user specified an image for the disabled state. Use
28c7826c 8115 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8116 user hasn't specified an image.
8117
ebb8f116
GM
8118 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8119 allocation functions with the XPM lib.
8120 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8121 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8122 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8123 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8124 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8125 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8126 functions, if possible, because these handle color allocation
8127 failure more gracefully.
8128 (Fimage_mask_p): New function.
8129
47e351a3
GM
8130 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8131 (Qedge_detection, Qheuristic): New symbols.
8132 (syms_of_xfns): Initialize new symbols.
8133 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8134 `algorithm (edge-detection ...)'.
8135 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8136 (tiff_format, gif_format, gs_format): Add `:mask'.
8137 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8138 (GIF_MASK, GS_MASK): New enumerators.
8139 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8140 (emboss_matrix, laplace_matrix): New variables.
8141 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8142 (x_edge_detection): New functions.
8143 (x_laplace): Rewritten in terms of x_detect_edges.
8144 (x_build_heuristic_mask): If image has a mask, free it.
8145
fe83b953
AI
81462000-09-14 Andrew Innes <andrewi@gnu.org>
8147
8148 * makefile.w32-in: Revert to Unix line endings.
8149
3021e816
AI
81502000-09-14 Andrew Innes <andrewi@gnu.org>
8151
8152 * makefile.w32-in: Standardize indentation somewhat.
8153 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8154 cater for differences between shells.
8155
8156 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8157
2a32b5ea
GM
81582000-09-14 Gerd Moellmann <gerd@gnu.org>
8159
8160 * xterm.c (x_produce_glyphs): If the distance from the current
8161 position to the next tab stop is less than a canonical character
8162 width, use the tab stop after that.
8163
b4331e96
DL
81642000-09-14 Dave Love <fx@gnu.org>
8165
8166 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8167
ef9e4345
GM
81682000-09-14 Gerd Moellmann <gerd@gnu.org>
8169
085536c2
GM
8170 * xdisp.c (handle_fontified_prop): While running fontification
8171 functions, bind `fontification-functions' and
8172 `after-change-functions' to nil.
8173
ef9e4345
GM
8174 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8175 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8176
8177 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8178
8179 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8180 USE_MMAP_FOR_BUFFERS.
8181
8182 * insdel.c (make_gap): Use enlarge_buffer_text.
8183
8184 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8185 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8186 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8187 from former r_alloc_* functions in ralloc.c.
52283633 8188 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8189 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8190 (mmap_init) [REL_ALLOC_MMAP]: New function.
8191 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8192 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8193 BUFFER_FREE.
8194
8195 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8196 (enlarge_buffer_text): Add prototype.
8197
8198 * ralloc.c: Remove everything having to do with the use of mmap.
8199
f8608968
GM
82002000-09-13 Gerd Moellmann <gerd@gnu.org>
8201
2a494b2d
GM
8202 * sound.c (Fplay_sound): Doc fix.
8203
8c907a56
GM
8204 * keyboard.c: Avoid some more compiler warnings.
8205 (parse_tool_bar_item): Ignore cached key bindings.
8206
f8608968
GM
8207 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8208 and allocation of Lisp data.
8209
6ab70e9a
GM
82102000-09-12 Gerd Moellmann <gerd@gnu.org>
8211
d12d0a9b
GM
8212 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8213 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8214 defaults first.
8215
6ab70e9a
GM
8216 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8217
63c36c3c
KH
82182000-09-12 Miyashita Hisashi <himi@meadowy.org>
8219
8220 * ccl.c: Comment fixed.
8221 (MAX_MAP_SET_LEVEL): Increased to 30.
8222 (PUSH_MAPPING_STACK): Enclose with do-while block.
8223 (POP_MAPPING_STACK): Likewise.
8224 (stack_idx_of_map_multiple): New variable.
8225 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8226 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8227 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8228 (ccl_driver) <CCL_MapSingle>: Likewise.
8229 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8230 with the case where looking up process reaches to the end of
8231 map-set, and call CCL programs as the above change.
8232
7ee3bd7b
GM
82332000-09-11 Gerd Moellmann <gerd@gnu.org>
8234
8ec8a5ec
GM
8235 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8236 that might be clobbered by longjmp.
8237 (check_x_display_info, x_decode_color, create_frame_xic)
8238 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8239 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8240
f74b0705
GM
8241 * lread.c (init_lread): Set Vloads_in_progress to nil.
8242 (Fload): Show list of recursively loaded files, when signaling an
8243 error.
8244
7ee3bd7b
GM
8245 * lread.c (Vloads_in_progress): New variable.
8246 (record_load_unwind): New function.
8247 (Fload): Check for recursive loads.
8248 (syms_of_lread): Initialize Vloads_in_progress.
8249 (read_integer, read1): Avoid some compiler warnings.
8250
8251 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8252 compiler warnings.
8253
974e1e5b
MB
82542000-09-11 Miles Bader <miles@gnu.org>
8255
8256 * editfns.c (Fbuffer_string): Doc fix.
8257
9824c4e3
GM
82582000-09-10 Gerd Moellmann <gerd@gnu.org>
8259
8260 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8261
6a72fdd1
KR
82622000-09-09 Ken Raeburn <raeburn@gnu.org>
8263
8264 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8265 whether to include other header files.
8266
28e6fb66
GM
82672000-09-09 Gerd Moellmann <gerd@gnu.org>
8268
52283633 8269 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8270 by Fmemq as a boolean.
28e6fb66 8271
7f8b6551
SM
82722000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8273
8274 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8275
a8710abf
GM
82762000-09-08 Gerd Moellmann <gerd@gnu.org>
8277
d1a02881
GM
8278 * ralloc.c (mmap_fd): Remove initializer which can make it
8279 read-only in a dumped Emacs.
8280 (mmap_fd_1): New variable.
8281 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8282 restore it from there.
8283 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8284 unconditionally so that mmap_fd can be initialized there.
8285 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8286 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8287 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8288
c454aac1
GM
8289 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8290
8291 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8292 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8293
fc653ef2
GM
8294 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8295
3015eec0
GM
8296 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8297 inheritance.
8298
bfe0ee88
GM
8299 * xdisp.c (try_window_id): When trying to locate cursor in
8300 unchanged rows at the top, handle the case that we can't find it.
8301
a8710abf
GM
8302 * xterm.c (x_draw_glyphs): Handle case START and END are out
8303 of bounds more carefully.
8304
6b7d4ae4
DL
83052000-09-08 Dave Love <fx@gnu.org>
8306
423193c5
DL
8307 * s/sol2.h (REL_ALLOC_MMAP): Define.
8308 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8309
8310 * ralloc.c: Don't include string.h (redundant).
8311 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8312 [!MAP_ANON]: Include fcntl.h.
8313 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8314 (r_alloc, r_re_alloc, r_alloc_free)
8315 (mmap_enlarge, mmap_set_vars): Use it.
8316 (r_alloc_init_fd): New function.
8317 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8318 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8319 malloc type.
8320
8321 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8322 Remove vm-limit.o.
8323
6b7d4ae4
DL
8324 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8325 change to __NetBSD__.
8326
44d31981
KH
83272000-09-08 Kenichi Handa <handa@etl.go.jp>
8328
8329 * search.c (compile_pattern): Check the multibyteness of cached
8330 string and PATTERN.
8331
aad40737
MB
83322000-09-08 Miles Bader <miles@gnu.org>
8333
8334 * xfaces.c (default_face_vector): Function removed.
8335 (Finternal_merge_in_global_face): Restore old global/local
8336 attribute override order. Use inline loop instead of calling
8337 default_face_vector.
8338
91a211b5
GM
83392000-09-07 Gerd Moellmann <gerd@gnu.org>
8340
8341 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8342 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8343 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8344 where necessary, in case POINTER_TYPE is `void'.
8345
03419440
EZ
83462000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8347
8348 * frame.c (make_terminal_frame): Initialize frame foreground and
8349 background colors to unspecified, for the initial instance of an
8350 MSDOS frame.
8351
f46f845b
GM
83522000-09-07 Gerd Moellmann <gerd@gnu.org>
8353
24f76fbf
GM
8354 * ralloc.c (mmap_find): Fix overlap computation.
8355 (mmap_enlarge): Compute nbytes before trying to find an
8356 overlapping region.
8357
f46f845b
GM
8358 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8359 instead of `!='.
8360
8361 * lread.c (syms_of_lread): Change value of regexp
8362 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8363
8364 * xmenu.c (xdialog_show): When looking up the selection in
8365 menu_items, take `quote' boundaries into account; this corresponds
8366 to a nil ITEM in x-popup-dialog.
8367
3c014385
KH
83682000-09-07 Kenichi Handa <handa@etl.go.jp>
8369
fd6f711b
KH
8370 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8371 not 0x81.
8372 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8373
3c014385 8374 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8375 encoding, not decoding. Fix the handling of latin-jisx0201.
8376 Check for the charset katakana-jisx0201 too.
3c014385 8377 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8378 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8379
0da3ecef
GM
83802000-09-07 Gerd Moellmann <gerd@gnu.org>
8381
ab0ee409
GM
8382 * xfaces.c (Vparam_value_alist): New variable.
8383 (syms_of_xfaces): Initialize it.
8384 (Finternal_set_lisp_face_attribute): Avoid more consing.
8385
8386 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8387 specially.
8388 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8389 (Qbackground_mode): New variable.
8390 (syms_of_frame_1): Initialize Qbackground_mode.
8391
8392 * lisp.h (Qdisplay): Declare extern.
1091dd67 8393
0da3ecef
GM
8394 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8395 change face on all frames, and change the default for new frames.
8396
b14654b9
DL
83972000-09-07 Dave Love <fx@gnu.org>
8398
8399 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8400
d24fd56f
KH
84012000-09-07 Kenichi Handa <handa@etl.go.jp>
8402
794f3670
KH
8403 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8404
0fddd0dc
KH
8405 * charset.c: Include composite.h
8406 (lisp_string_width): New function.
8407 (Fstring_width): Call lisp_string_width instead of strwidth.
8408
8409 * Makefile.in (charset.o): Depends on composite.h.
8410
d24fd56f
KH
8411 * process.c (read_process_output): Before inserting the decoded
8412 text in the buffer, adjust the multibyteness.
8413
fa0b693c
GM
84142000-09-06 Gerd Moellmann <gerd@gnu.org>
8415
52283633 8416 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8417 buffer's text buffer is null, map new memory.
8418
0a58f946
GM
8419 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8420 POINTER_TYPE and size_t.
8421 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8422 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8423 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8424 [REL_ALLOC_MMAP]: New macros.
8425 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8426 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8427 [REL_ALLOC_MMAP]: New functions.
8428
8429 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8430 before and after unexec.
8431
8432 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8433 text buffers if necessary.
8434
8435 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8436 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8437 in prototypes.
8438
fa0b693c
GM
8439 * config.in (HAVE_MMAP): Add #undef.
8440
877055f6
GM
84412000-09-05 Gerd Moellmann <gerd@gnu.org>
8442
08ba3862
GM
8443 * frame.c (Qdisplay_type): New variable.
8444 (syms_of_frame_1): Initialize it.
8445 (Fframe_parameter): New function that avoids consing.
8446 (syms_of_frame): Defsubr it.
8447
66ffe51c
GM
8448 * buffer.c (Fother_buffer): Consider buffers as invisible when
8449 they are displayed in a window on an invisible frame.
8450
877055f6
GM
8451 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8452 get-largest-window always return nil.
8453
bb970e67
GM
84542000-09-04 Gerd Moellmann <gerd@gnu.org>
8455
8456 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8457 variable; recognize Emacs 19 elc files.
8458
7a3d0e0e
MB
84592000-09-04 Miles Bader <miles@gnu.org>
8460
8461 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8462 before initially popping up the menu, so the menu doesn't flash
52283633 8463 when the face settings are significantly different from the defaults.
7a3d0e0e 8464
14473664
SM
84652000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8466
8467 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8468 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8469 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8470 (BIT_UNIBYTE): Remove.
8471 (re_match_2_internal): Delete corresponding code and streamline the
8472 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8473 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8474 (re_wctype_t): New type.
8475 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8476 (regex_compile): Use them and fix handling of overly long char classes.
8477
c1174479
AI
84782000-09-03 Andrew Innes <andrewi@gnu.org>
8479
f8803e97
AI
8480 * makefile.w32-in: Change to DOS line endings.
8481
c1174479
AI
8482 * s/ms-w32.h (ORDINARY_LINK): New define.
8483
8484 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8485 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8486
8487 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8488 (distclean): Delete them here instead.
8489
44ef7cf6
AI
8490 * w32proc.c (compare_env): Convert to uppercase for comparison,
8491 not lowercase, to match how the native Windows shell works.
8492
49b3bd82
JR
84932000-09-03 Jason Rumney <jasonr@gnu.org>
8494
8495 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8496 CVS changes the line-ends when checking in/out on DOS/Windows.
8497
8498 * makefile.nt (emacs): Do not change directory to run temacs, as
8499 the load-path is set relative to current directory.
8500
a3d35a39
MB
85012000-09-03 Miles Bader <miles@gnu.org>
8502
8503 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8504
d276b0cf
GM
85052000-09-02 Gerd Moellmann <gerd@gnu.org>
8506
715e84c9
GM
8507 * xdisp.c (redisplay_mode_lines): New function.
8508 (display_mode_lines): Return number of mode lines displayed.
8509 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8510 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8511
8892f40b
GM
8512 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8513 string.h and strings.h.
8514 (index) [HAVE_INDEX]: Add prototype.
8515
d276b0cf
GM
8516 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8517 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8518
8519 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8520 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8521
38404229
GM
85222000-09-01 Gerd Moellmann <gerd@gnu.org>
8523
8524 * lread.c (read1): Accept `?' as symbol constituent, for
8525 compatiblity with XEmacs.
8526
c0f9ea08
SM
85272000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8528
8529 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8530 (struct re_pattern_buffer): Remove newline_anchor.
8531 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8532 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8533 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8534 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8535 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8536 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8537 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8538 Get rid of references to newline_anchor.
8539 (regcomp): Allocate and precompute a fastmap.
8540
8c0f83fe
GM
85412000-08-31 Gerd Moellmann <gerd@gnu.org>
8542
8543 * lread.c (openp): GCPRO local variable `filename'.
8544
4bb91c68
SM
85452000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8546
8547 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8548
8549 * regex.c: Merge some changes from GNU libc. Add prototypes.
8550 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8551 Use memcmp and memcpy instead of bcopy and bcmp.
8552 (init_syntax_once): Use ISALNUM.
8553 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8554 (REG_UNSET_VALUE): Remove. Use NULL instead.
8555 (REG_UNSET, re_match_2_internal): Use NULL.
8556 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8557 New macros.
8558 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8559 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8560 (regex_compile): In handle_interval, return an error rather than try to
8561 unfetch the interval if we can't find the closing brace.
8562 Obey the RE_NO_GNU_OPS syntax bit.
8563 (TOLOWER): New macro.
8564 (regcomp): Use it.
8565 (regexec): Allocate regs.start and regs.end as one block.
8566
5226a931
GM
85672000-08-30 Gerd Moellmann <gerd@gnu.org>
8568
868dd24b
GM
8569 * xdisp.c (echo_area_display): Check display_completed instead
8570 of calling detect_input_pending.
8571
8572 * dispnew.c (update_frame): Only set display_completed here; move
8573 the update_begin and update_end calls here from update_frame_1.
8574 (update_frame_1): Don't set display_completed here, don't call
8575 update_begin/update_end.
8576
5226a931
GM
8577 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8578 instead of store_frame_param.
8579
2a8bd25f
GM
85802000-08-29 Gerd Moellmann <gerd@gnu.org>
8581
8582 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8583 desired window matrix hasn't been displayed, use the current row
8584 instead. Make sure that only those frame rows are updated for
8585 which there exists a corresponding enabled desired row.
52283633 8586
ba3478d9
MB
85872000-08-29 Miles Bader <miles@gnu.org>
8588
8589 * xfaces.c (default_face_vector): New function.
8590 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8591
87d0f685
GM
85922000-08-29 Gerd Moellmann <gerd@gnu.org>
8593
8594 * lread.c (openp): Prevent temporary string passed to
8595 Ffile_readable_p from being garbage collected.
8596
6fa86045
DL
85972000-08-28 Dave Love <fx@gnu.org>
8598
8599 * keymap.c (store_in_keymap): Add `static' to declaration.
8600
bb17930d
GM
86012000-08-28 Gerd Moellmann <gerd@gnu.org>
8602
8603 * emacs.c, callint.c, doc.c, editfns.c
8604 (toplevel) [HAVE_STRING_H]: Include string.h.
8605 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8606 (index): Remove prototypes which might conflict with non-standard
8607 definitions of index/strchr.
8608
8609 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8610 (rindex): Define only if !HAVE_RINDEX.
8611
8612 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8613
8614 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8615
87188200
MB
86162000-08-28 Miles Bader <miles@gnu.org>
8617
8618 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8619 made inconsistent by a font-related attribute in FROM.
8620 (merge_face_inheritance): Add function comment.
8621
41a68aef
KH
86222000-08-28 Kenichi Handa <handa@etl.go.jp>
8623
8624 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8625 the 4th arg (PREV_EVENT) Qt to suppress input method.
8626
f7c436c1
SM
86272000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8628
0b32bf0e
SM
8629 * regex.c: Indent cpp directives and remove parens after `defined'.
8630 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8631 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8632 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8633 (re_compile_pattern): Use size_t for length.
8634 (init_syntax_once): Move to a better place.
8635 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8636 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8637
f7c436c1
SM
8638 * syntax.c (back_comment): Detect cases where a comment-starter is
8639 actually inside another comment as in: /* a // b */ c // d \n.
8640 Make it clear that `comstart_pos' is unused for nested comments.
8641
8642 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8643 (KEYMAPP): New macro.
8644 (Fkeymap_parent, Fset_keymap_parent): Use it.
8645 (fix_submap_inheritance): Mark it static.
8646 (define_as_prefix, describe_buffer_bindings, describe_command)
8647 (describe_translation, describe_map): Complete prototypes.
8648
8649 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8650
8651 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8652 to better match the key-lookup behavior.
8653
6288c62f
GM
86542000-08-27 Gerd Moellmann <gerd@gnu.org>
8655
8656 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8657 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8658
e931344e
EZ
86592000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8660
8661 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8662 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8663 (xterm.o): Depend on coding.h
8664
d10dfeef
KH
86652000-08-26 Kenichi Handa <handa@etl.go.jp>
8666
8667 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8668 the corresponding '#endif'.
8669
2d73e8d3
MB
86702000-08-26 Miles Bader <miles@gnu.org>
8671
8672 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8673 * xfaces.c (QCinherit): New variable.
8674 (syms_of_xfaces): Initialize it.
8675 (LFACE_INHERIT): New macro.
8676 (Finternal_get_lisp_face_attribute)
52283633 8677 (merge_face_vector_with_property)
2d73e8d3
MB
8678 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8679 (check_lface_attrs): Allow new types of face height. Check
8680 inherit attribute.
8681 (CYCLE_CHECK): New macro.
8682 (merge_face_inheritance): New function.
8683 (merge_face_vectors): Merge inherited faces too. Add F and
8684 CYCLE_CHECK arguments.
8685 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8686 (lookup_named_face, lookup_derived_face, realize_named_face)
8687 (face_at_string_position, face_at_buffer_position): Supply
8688 new F and CYCLE_CHECK arguments to merge_face_vectors.
8689 (merge_face_heights): New function.
52283633 8690 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8691 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8692 handle relative face heights.
8693 (lface_same_font_attributes_p): Compare heights using EQ.
8694
6ce974d4
KH
86952000-08-26 Kenichi Handa <handa@etl.go.jp>
8696
8697 * charset.c (char_to_string): Check the character validity.
52283633 8698 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8699
dc1e502d
SM
87002000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8701
8702 * regex.c (PUSH_FAILURE_COUNT): New macro.
8703 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8704 Handle popping of a register's or a counter's data.
8705 (POP_FAILURE_POINT): Use the new name.
8706 (re_match_2_internal): Push counter data on the stack for succeed_n,
8707 jump_n and set_number_at and remove misleading dead code in succeed_n.
8708
bd9d0f3f
GM
87092000-08-25 Gerd Moellmann <gerd@gnu.org>
8710
8711 * xdisp.c (redisplay_internal): If considering all windows on all
8712 frames, update the display for each frame as soon as possible,
8713 instead of first building all desired matrices for all frames, and
8714 then updating them all.
8715 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8716
aa5b8e15
GM
87172000-08-24 Gerd Moellmann <gerd@gnu.org>
8718
17494071
GM
8719 * bytecode.c (mark_byte_stack): Add a comment.
8720
52283633
SM
8721 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8722 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8723 a graphical frame.
8724
c543db81
KH
87252000-08-24 Kenichi Handa <handa@etl.go.jp>
8726
d246d5f5
KH
8727 * minibuf.c (do_completion): Always use compare-string, not
8728 string-equal because the latter doesn't pay attention to
8729 multibyteness of strings.
8730
c543db81
KH
8731 * process.c (create_process): Don't setup raw-text coding here.
8732 (Fopen_network_stream): Don't set coding->src_multibyte and
8733 coding->dst_multibyte here.
8734 (read_process_output): For process filter, return unibyte string
8735 if default-enable-multibyte-characters is nil.
8736 (send_process): If OBJECT is multibyte text, be sure to encoded it
8737 by the specified coding system for the process. Otherwise, setup
8738 raw-text coding.
52283633 8739 (init_process): Don't initialize default-process-coding-system here.
c543db81 8740
9b47cfe0
EZ
87412000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8742
8743 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8744 <scroll-down-aggressively>: Likewise.
8745
f5a36960
KH
87462000-08-23 Kenichi Handa <handa@etl.go.jp>
8747
8748 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8749 zero. Set coding->produced_char correctly.
8750
69a7ffa7
AI
87512000-08-22 Andrew Innes <andrewi@gnu.org>
8752
8753 * makefile.w32-in: New file.
8754
8755 * unexw32.c (unexec): Ignore old_name, and use the actual location
8756 of the current executable instead. Base new_name on this.
8757
8758 * w32proc.c (create_child): Remove reference to security
8759 descriptor, which isn't needed and doesn't compile with mingw32.
8760
8761 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8762 up dllimport attributes.
8763 (x_update_window_end): Update prototype.
8764
8765 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8766 extern, which screws up dllimport attributes.
8767
8768 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8769 up dllimport attributes.
8770
8771 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8772 screws up dllimport attributes.
8773
8774 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8775 up dllimport attributes.
8776 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8777 screws up dllimport attributes.
8778
8779 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8780 up dllimport attributes.
8781
8782 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8783 screws up dllimport attributes.
8784
8785 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8786 screws up dllimport attributes.
8787
8788 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8789 up dllimport attributes.
8790
8791 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8792 unnecessary extern, which screws up dllimport attributes.
8793 (main): Ditto.
8794
8795 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8796 up dllimport attributes.
8797
8798 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8799 unnecessary extern, which screws up dllimport attributes.
8800
8801 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8802 screws up dllimport attributes.
8803
8804 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8805 up dllimport attributes.
8806
8807 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8808
52283633
SM
8809 * w32bdf.c (search_file_line):
8810 (set_bdf_font_info):
8811 (seek_char):
8812 (w32_get_bdf_glyph):
69a7ffa7
AI
8813 (w32_BDF_to_x_font): Fix compile warnings.
8814
52283633 8815 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8816
8817 * w32select.c: Include keyboard.h before frame.h.
8818
8819 * w32fns.c (max): Define macro.
8820 (JOHAB_CHARSET): Define if not known.
8821 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8822 (Fx_show_tip): Synch with X version.
8823
8824 * w32xfns.c: Include keyboard.h before frame.h.
8825
8826 * w32fns.c: Include keyboard.h before frame.h.
8827
8828 * w32term.c: Include keyboard.h before frame.h.
8829
8830 * fontset.c: Include keyboard.h before frame.h.
8831
8832 * w32inevt.c: Include keyboard.h before frame.h.
8833 (MOUSE_MOVED): Define if not known.
8834
8835 * minibuf.c: Include keyboard.h before frame.h.
8836
8837 * keyboard.c: Include keyboard.h before frame.h.
8838
8839 * indent.c: Include keyboard.h before frame.h.
8840
8841 * dispnew.c: Include keyboard.h before frame.h.
8842
8843 * buffer.c: Include keyboard.h before frame.h.
8844
8845 * alloc.c: Include keyboard.h before frame.h.
8846
8847 * print.c: Include keyboard.h before frame.h.
8848
8849 * process.c: Include keyboard.h before frame.h.
8850
8851 * scroll.c: Include keyboard.h before frame.h.
8852
8853 * sysdep.c: Include keyboard.h before frame.h.
8854
8855 * term.c: Include keyboard.h before frame.h.
8856
8857 * window.c: Include keyboard.h before frame.h.
8858
8859 * xdisp.c: Include keyboard.h before frame.h.
8860 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8861
8862 * frame.c: Include keyboard.h before frame.h.
8863
8864 * w32heap.h: Undefine min, max.
8865
8866 * w32gui.h: Undefine min, max.
8867
8868 * unexw32.c: Change PUCHAR to PCHAR.
8869 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8870 (relocate_offset):
8871 (get_section_info):
69a7ffa7
AI
8872 (copy_executable_and_dump_data): Remove unnecessary static defs.
8873 (copy_executable_and_dump_data): Fix compile warnings.
8874
8875 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8876
8877 * w32console.c (min): Define macro.
8878 (clear_frame, write_glyphs): Fix compile warning.
8879
52283633 8880 * w32proc.c (compare_env):
69a7ffa7
AI
8881 (find_child_console): Fix compile warning.
8882
8883 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8884 sys_errlist instead of _sys_errlist.
8885 (get_emacs_configuration_options): New function.
8886
8887 * s/ms-w32.h (sys_nerr): Provide default definition.
8888 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8889 name with _ prepended.
8890 (NSIG): Define if not known.
8891 (get_emacs_configuration): Provide extern declaration.
8892 (get_emacs_configuration_options): Provide extern declaration.
8893 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8894
8895 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8896 (map_w32_filename):
69a7ffa7
AI
8897 (read_unc_volume): Fix compile warning.
8898
8899 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8900 definitions from being used.
8901
8902 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8903
52283633 8904 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8905 (open_unc_volume): Make arg const.
8906
8907 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8908 (read_input_waiting): Remove excess parameter.
8909
8910 * w32.c (init_environment): Call _access.
8911 (check_windows_init_file): Call _close.
8912 (init_user_info): Call _putenv.
8913 (init_environment): Call _putenv and _strdup.
8914 (init_ntproc): Reset volume info cache on startup.
8915
8916 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8917 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8918 cannot override the CRT malloc.
8919
8920 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8921 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8922
8923 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8924 unless we are linking with a static CRT.
8925 (RVA_TO_PTR): Cast result to unsigned char*.
8926
8927 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8928 (add_volume_info): Use xstrdup.
8929
25060080
SM
89302000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8931
8932 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8933 (do_completion, Fminibuffer_complete_word): Use it.
8934 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8935 var so it can take non-boolean values.
8936
6917e6bb
GM
89372000-08-21 Gerd Moellmann <gerd@gnu.org>
8938
acb7cc89 8939 * editfns.c (find_field): Formatting changes.
52283633 8940 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8941 changed to prototypes, some new protypes added, some functions
8942 made static.
8943
8944 * lisp.h (set_time_zone_rule): Add prototype.
8945 (use_dialog_box): External declaration.
8946
0bbfdc25
GM
8947 * keyboard.c (gen_help_event): Add parameter SIZE.
8948 (kbd_buffer_events_waiting): Slightly rewritten.
8949 (clear_event): New function.
8950 (kbd_buffer_get_event): Use it, and clear the input_events of
8951 HELP_EVENTs.
8952 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8953 don't fill the newly created array with nils.
8954 (toplevel): Convert some old-style function forward declarations
8955 to prototypes.
8956
8957 * keyboard.h (gen_help_event): Change prototype.
8958
8959 * xterm.c (XTread_socket): Change calls to gen_help_event.
8960
8961 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8962
6917e6bb
GM
8963 * eval.c (Fmacroexpand): Doc fix.
8964
e5cd3d11
JR
89652000-08-20 Jason Rumney <jasonr@gnu.org>
8966
8967 * w32term.h (x_display_info_for_display): Remove as this function
8968 does not exist on W32.
8969
8970 * w32term.c (help_echo_window): New variable.
8971 (syms_of_w32term): staticpro it.
8972 (note_mode_line_highlight): Set it.
8973 (XTextExtents16): Removed as there is no equivalent on W32.
8974 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8975 the X way of doing this will not work for W32.
8976 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8977 (x_draw_image_foreground): Avoid drawing outside of the clip area
8978 when image doesn't have a mask.
8979 (note_mouse_highlight): Process overlays in the right order of
8980 priority. Set help_echo_window.
8981 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8982 because that's more visible for large images.
8983
8984 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8985 name to single_keymap_panes.
8986 (w32_menu_show): Set wv->title when dealing with titles.
8987 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8988
6e69ab8c
MB
89892000-08-21 Miles Bader <miles@gnu.org>
8990
8991 * minibuf.c (do_completion): Try again if we rewrite the input
8992 string, but no completion was done, so that any completion message
8993 will be correct.
8994
511bd4eb
GM
89952000-08-20 Gerd Moellmann <gerd@gnu.org>
8996
8997 * xfaces.c (lface_equal_p): Compare strings differently.
8998 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8999 (realize_tty_face): Use them.
9000 (syms_of_xfaces): Initialize new variables.
9001 (map_tty_color): New function, extracted from realize_tty_face.
9002 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9003 foreground or background color, store the new color name in the
9004 realized face; previous code trying to do this had no effect.
9005 (realize_tty_face): Use map_tty_color.
9006 (Fclear_face_cache): Set face_change_count and ensure thorough
9007 redisplay.
9008
1433385f
GM
90092000-08-19 Gerd Moellmann <gerd@gnu.org>
9010
511bd4eb
GM
9011 * undo.c (record_first_change, record_marker_adjustment): Don't
9012 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9013
419ac0a2
KH
90142000-08-18 Kenichi Handa <handa@etl.go.jp>
9015
9016 * coding.c (decode_coding_string): Set members consumed,
9017 consumed_char, produced, produced_char of *coding correctly. If
9018 decode_coding doesn't consume any byte, don't try anymore.
9019 (encode_coding_string): Likewise.
9020
7eb9e30d
GM
90212000-08-18 Gerd Moellmann <gerd@gnu.org>
9022
511bd4eb
GM
9023 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9024 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9025
9026 * xdisp.c (redisplay_internal): Compare windows for equality with
9027 EQ, instead of applying XWINDOW to something that might not
9028 be a window.
52283633 9029
dd34a735
KH
90302000-08-18 Kenichi Handa <handa@etl.go.jp>
9031
9032 * fontset.c (Finternal_char_font): Search only the selected frame
9033 for a window of the current buffer.
9034
385ff9e3
GM
90352000-08-18 Gerd Moellmann <gerd@gnu.org>
9036
511bd4eb 9037 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9038 Lisp_Objects.
9039
385ff9e3
GM
9040 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9041 second half of a HELP_EVENT is found at the start of kbd_buffer.
9042
d6abb4c7
MB
90432000-08-18 Miles Bader <miles@gnu.org>
9044
4618074a
MB
9045 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9046
d6abb4c7
MB
9047 * editfns.c (save_restriction_save): Rewrite to use markers.
9048 (save_restriction_restore): Rewrite to understand new form of data
9049 saved by save_restriction_save.
9050 (Fsave_restriction): Remove cautionary note in doc-string.
9051
a7b28523
GM
90522000-08-17 Gerd Moellmann <gerd@gnu.org>
9053
9054 * fileio.c (build_annotations): Add a comment explaining the
9055 return value of format-annotate-function. Replace a spurious call
9056 to Flength with a CONSP test. Call format-annotate-function with
9057 a fifth arg specifying how many times the function is been called
9058 in a row, to let it choose temporary buffers appropriately.
9059
03c9ed77
DL
90602000-08-17 Dave Love <fx@gnu.org>
9061
9062 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9063 declare make_temp_name twice.
9064
52283633 9065 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9066 (unreadpure): Give it an arg.
9067
9068 * unexalpha.c: Prototype fatal_unexec, mark_x,
9069 update_dynamic_symbols. Declare unexec as void.
9070
9071 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9072 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9073
9074 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9075 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9076
9077 * alloca.c: Use #error.
9078 [POINTER_TYPE]: Use it.
9079
9080 * eval.c (Fdefvar): Doc fix.
9081
9082 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9083 INITIALIZE_INTERVAL.
9084
9085 * buffer.h: Avoid DECLARE_INTERVALS.
9086
9087 * config.in: Add size_t.
9088
aae41d97
EZ
90892000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9090
9091 * w16select.c (set_clipboard_data): If there's not enough memory
9092 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9093 expects. In case of other failures, return 3.
9094 (system_error_msg): New error message.
9095 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9096 system_error_msg.
9097
65aa5e85
GM
90982000-08-16 Gerd Moellmann <gerd@gnu.org>
9099
9100 * term.c (write_glyphs): Also turn off inverse video after turning
9101 off other appearances in case TS_exit_attribute_mode is not equal
9102 to TS_end_standout_mode.
9103 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9104 with the same face.
9105 (turn_off_face): Reset standout_mode only if
9106 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9107 is equal to TS_end_standout_mode.
9108
ece23901
KH
91092000-08-16 Kenichi Handa <handa@etl.go.jp>
9110
9d7bcb2e
KH
9111 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9112 sequence at the end of the source block.
9113
ece23901
KH
9114 * ccl.c (Fccl_program_p): Docstring modified.
9115 (Fccl_execute): Likewise.
9116 (Fccl_execute_on_string): Likewise.
9117
5e30eaa2
EZ
91182000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9119
9120 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9121
290602fd
KH
91222000-08-16 Kenichi Handa <handa@etl.go.jp>
9123
9124 The following changes are mainly to fix bugs of
9125 encode/decode-coding-string failing if encoding/decoding return
9126 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9127 variable conversion_buffer.
9128
9129 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9130 decrement dst_end to avoid buffer overflow in the later call of
9131 string_as_multibyte
9132
9133 * coding.h (conversion_buffer_size, conversion_buffer)
9134 (get_conversion_buffer): Extern deleted.
9135
9136 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9137 (conversion_buffer, conversion_buffer_size): Variables deleted.
9138 (get_conversion_buffer): Function deleted.
9139 (struct conversion_buffer): New structure.
9140 (MAX_ALLOCA): New macro.
9141 (allocate_conversion_buffer): New macro.
9142 (extend_conversion_buffer, free_conversion_buffer): New functions.
9143 (ccl_coding_driver): Set coding->result.
9144 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9145 this is the last block of source.
9146 (encode_coding): Likewise. Handle the source block as the last
9147 one only when the whole source text is consumed.
9148 (decode_coding_string): Handle the case that the output buffer is
9149 too small to decode the whole source text. Use
9150 allocate_conversion_buffer, extend_conversion_buffer and
9151 free_conversion_buffer, not get_conversion_buffer.
9152 (encode_coding_string): Likewise.
9153 (init_coding): Function deleted.
52283633 9154 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9155
9156 * emacs.c (main): Don't call init_coding.
9157
52283633 9158 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9159
9160 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9161 (insert_glyphs): Likewise.
9162
9163 * w32console.c (write_glyphs): Use a locally declared
9164 conversion_buffer.
9165
b9f80d41
EZ
91662000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9167
9168 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9169 member of display_info is NULL.
9170
32dc52f7
GM
91712000-08-15 Gerd Moellmann <gerd@gnu.org>
9172
52283633 9173 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9174
32dc52f7 9175 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9176 appearances with capability `me'.
32dc52f7
GM
9177 (write_glyphs): Switch on inverse video before each face change.
9178
4eb22d33
DL
91792000-08-14 Dave Love <fx@gnu.org>
9180
9181 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9182 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9183 (lisp_free): Declare and make static.
9184
9185 * window.c: Fix embedded comment.
9186 (syms_of_window): Fix doc string.
9187
90cbf47e
GM
91882000-08-14 Gerd Moellmann <gerd@gnu.org>
9189
52283633 9190 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9191 make sure to print `C-' before `M-', like in the manual.
9192
440fc135
GM
91932000-08-11 Gerd Moellmann <gerd@gnu.org>
9194
9195 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9196 since they aren't relocated anymore.
52283633 9197 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9198
9199 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9200 partially visible line which is smaller than the window's height.
440fc135 9201
6e264fad
KH
92022000-08-11 Kenichi Handa <handa@etl.go.jp>
9203
9204 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9205 the multibyte form of eight-bit-control characters.
6e264fad
KH
9206 (Fccl_execute_on_string): Initialize ccl->multibyte.
9207
9208 * ccl.h (struct ccl_program): New member multibyte.
9209
9210 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9211
c371f69a
KH
92122000-08-11 Kenichi Handa <handa@etl.go.jp>
9213
9214 * regex.c (regex_compile) <normal_char>: Pay attention to
9215 multibyteness.
9216 (analyse_first) <exactn>: Setup fastmap correctly for
9217 eight-bit-control characters.
9218
92192000-08-11 Kenichi Handa <handa@etl.go.jp>
9220
52283633 9221 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9222
9223 * keyboard.c (make_lispy_event): Handle the new event type
9224 multibyte_char_keystroke.
9225
9226 * xterm.c: Include coding.h.
9227 (XTread_socket): Work around a bug of XmbLookupString. If the
9228 input is from XIM, decode it according to the current locale. In
9229 that case, generate multibyte_char_keystroke events.
9230
b8ddbe71
KH
92312000-08-11 Kenichi Handa <handa@etl.go.jp>
9232
9233 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9234 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9235
47589c8c
GM
92362000-08-10 Gerd Moellmann <gerd@gnu.org>
9237
9238 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9239 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9240 (move_it_in_display_line_to): Record iterator's ascent and descent
9241 before producing glyphs, and restore them when we know the glyph
9242 doesn't fit on the line.
9243 (move_it_to): Restructured so that it's easier to debug. If
9244 moving to a vpos, and not moving to an x or character position,
9245 stop as soon as the specified vpos is reached; don't move further
9246 into that line because that might change the computed line height.
9247 (try_cursor_movement): New function, extracted from the cursor
9248 movement branch of redisplay_window. If ending on a partially
9249 visible line, don't try to scroll if the cursor line is taller
9250 than the window.
9251 (redisplay_window): Use try_cursor_movement.
9252
9253 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9254 because that function doesn't cope with variable-height lines.
9255
9256 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9257 box cursor because that's better visible for large images.
52283633 9258
c51bacd6
MB
92592000-08-10 Miles Bader <miles@gnu.org>
9260
9261 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9262
bea56df7
GM
92632000-08-10 Gerd Moellmann <gerd@gnu.org>
9264
9265 * xdisp.c (Vmessages_buffer_name): New variable.
9266 (message_dolog): Use it.
9267 (syms_of_xdisp): Initialize it.
9268
99cd7364
EZ
92692000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9270
52283633 9271 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9272 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9273 redundant now that keyboard.h is included.
9274
7d093d56
EZ
92752000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9276
9277 * keyboard.c (kbd_buffer_events_waiting): New function.
9278
9279 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9280
9281 * msdos.c: Include keyboard.h.
9282 (XMenuActivate): Empty no_event events from the event buffer. If
9283 no events are left after that, call clear_input_pending.
9284 (mouse_clear_clicks): New function, code moved from mouse_init.
9285 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9286 mouse driver to ``forget'' any past clicks.
9287
9288 * Makefile.in (msdos.o): Depend on keyboard.h.
9289
41e757a6
GM
92902000-08-09 Gerd Moellmann <gerd@gnu.org>
9291
8e7bd231
GM
9292 * lisp.h (input_pending): External declaration.
9293
9294 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9295
8e7bd231
GM
9296 * xdisp.c (echo_area_display): Display thoroughly if input is
9297 pending. Bind redisplay-dont-pause to t during the redisplay.
9298 in case input is pending.
9299
9300 * dispnew.c (Qredisplay_dont_pause): New variable.
9301 (syms_of_display): Initialize and staticpro it.
9302 (update_frame_1): Don't interrupt the display for pending input if
9303 redisplay_dont_pause is set.
52283633 9304
43028b7e
GM
9305 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9306
41e757a6
GM
9307 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9308
2f2174fa
KH
93092000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9310
9311 * callproc.c (Fcall_process): Terminate the unwind-protect around
9312 the post-read-conversion of coding system.
9313
0a6fd67e
MB
9314 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9315 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9316 * buffer.h (overlays_at): Update prototype.
9317 * xdisp.c (next_overlay_change): Update call to overlays_at.
9318 * xfaces.c (face_at_buffer_position): Likewise.
9319 * textprop.c (Fget_char_property): Likewise.
9320 * xterm.c (note_mouse_highlight): Likewise.
9321
0c80756e
MB
9322 * minibuf.c (do_completion): Don't consider a simple change of
9323 case as `completion'.
9324
975f250a
KR
93252000-08-08 Ken Raeburn <raeburn@gnu.org>
9326
52283633 9327 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9328 * undo.c (record_delete): Make sure last_point_position_buffer is
9329 a buffer before comparing pointers.
9330
9331 * coding.h (decode_coding_string): Declare.
9332
9333 * intervals.h (Fprevious_single_char_property_change): Declare.
9334
9335 * textprop.c (Fprevious_single_char_property_change): Don't do
9336 arithmetic directly on lisp objects.
9337
52283633 9338 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9339
9340 * keyboard.h (menu_item_eval_property): Declare.
9341
9342 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9343 reuse as buffer name, instead of recreating (and discarding) every
9344 time a message is logged.
9345 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9346 (current_message_1, truncate_message_1, set_message_1)
9347 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9348 (current_message, truncate_echo_area, display_echo_area)
9349 (resize_echo_area_axactly): Changed calls.
b347b3fd 9350
975f250a 9351 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9352 Lisp object.
975f250a 9353 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9354 must be an integer, not a Lisp object.
975f250a 9355
46dc9912
KH
93562000-08-08 Kenichi Handa <handa@etl.go.jp>
9357
9358 * charset.c (Fchar_width): Doc fix.
9359
9f6d1a6c
GM
93602000-08-08 Gerd Moellmann <gerd@gnu.org>
9361
9362 * charset.c (Fstring_width): Doc fix.
9363
ff3d9573
GM
93642000-08-07 Gerd Moellmann <gerd@gnu.org>
9365
41e757a6 9366 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9367 line, clear ascent and descent members of the iterator structure;
9368 the height of the continued line does not affect the height of the
9369 continuation line.
9370 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9371 line taller than the window.
9372 (redisplay_window) <forced window start>: Handle case that the
9373 middle of the window is not found in any row.
9374 (dump_glyph_row): Show more information.
9375 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9376 first text line in a glyph matrix.
9377
9378 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9379 of the clip area when image doesn't have a mask.
9380
70fc58b3
GM
9381 * fns.c (sweep_weak_table): Fix survival conditions for
9382 key-or-value and key-and-value weakness.
9383
9384 * .gdbinit (xhashtable): New command.
9385
ac0e96ee
GM
9386 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9387 tables out of the list of all weak hash tables.
9388
ff3d9573
GM
9389 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9390 a new buffer is created, make sure echo_area_buffer[] references
9391 the new buffer.
9392
e0d8827b
EZ
93932000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9394
9395 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9396 the doc string.
9397
c6f35378
KH
93982000-08-07 Kenichi Handa <handa@etl.go.jp>
9399
9400 * syntax.c (skip_chars): Fix previous change. Make the handling
9401 of unibyte string consistent with that of regex search.
9402
1fd4c450
GM
94032000-08-05 Gerd Moellmann <gerd@gnu.org>
9404
e49aa397
GM
9405 * xmenu.c (popup_get_selection): Use xfree instead of free.
9406
9407 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9408
9409 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9410
9411 * callproc.c (child_setup): Use xfree instead of free.
9412
9413 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9414 instead of malloc.
9415 (run_mac_command, closedir): Use `xfree' instead of `free'.
9416
9417 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9418
9419 * eval.c (error): Use xfree instead of free.
9420
1fd4c450
GM
9421 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9422
9423 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9424 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9425
82d497fc
KH
94262000-08-05 Kenichi Handa <handa@etl.go.jp>
9427
9428 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9429 conversion.
9430
59f953a2
NF
94312000-08-04 Noah Friedman <friedman@splode.com>
9432
9433 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9434 docstring.
9435
688351f2
GM
94362000-08-04 Gerd Moellmann <gerd@gnu.org>
9437
9438 * syntax.c (skip_chars): Fix typo in error message.
9439
2dad51cc
AS
94402000-08-04 Andreas Schwab <schwab@suse.de>
9441
9442 * m/ia64.h: Moved from s/ia64.h.
9443
99bb2c60
KH
94442000-08-04 Kenichi Handa <handa@etl.go.jp>
9445
082a1df2
KH
9446 * process.c (read_process_output): Big simplification. Handle
9447 composition and post-read-conversion of coding system correctly.
9448 (send_process): Handle composition correctly.
9449
9450 * callproc.c (Fcall_process): Handle post-read-conversion of
9451 coding system if any.
9452
99bb2c60
KH
9453 * coding.c (decode_coding_iso2022): More strict check for handling
9454 single shifting.
082a1df2
KH
9455 (coding_restore_composition): Pay attention to the case that
9456 cmp_data is not set properly (because of invalid code in the
9457 source text).
9458 (run_pre_post_conversion_on_str): Include text properties in the
9459 resulting string.
9460 (decode_coding_string): Set members of coding correctly.
99bb2c60 9461
f4988be7
GM
94622000-08-03 Gerd Moellmann <gerd@gnu.org>
9463
9464 * s/ia64.h: New file.
9465
9466 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9467 Use NULL instead of 0 at the end of variable argument list of
9468 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9469 sizeof (int) < sizeof (void *).
9470
9471 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9472 of variable argument lists of XtVaGetValues and XtVaSetValues.
9473
9474 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9475 variable argument lists of XtVaGetValues and XtVaSetValues.
9476
ead53494
GM
94772000-08-02 Gerd Moellmann <gerd@gnu.org>
9478
9479 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9480 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9481
9482 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9483 prototype.
9484
9485 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9486 in call to Fsingle_key_description.
9487
9488 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9489 Callers changed.
9490
94912000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9492
9493 * window.c (display_buffer_reuse_frames): New variable.
9494 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9495 frames displaying BUFFER.
52283633 9496 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9497
10b0f752
MB
94982000-08-01 Miles Bader <miles@gnu.org>
9499
9500 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9501 when to constrain NEW_POS (they were pretty screwed up before).
9502
16425c4a
EZ
95032000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9504
9505 * msdos.c (run_msdos_command): Save and restore the master
9506 environment, for the case that child_setup signals an error.
9507 When mirroring slashes in DOS shell commands, don't fail when
9508 argv[2] has embedded blanks.
da288c14
EZ
9509 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9510 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9511 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9512
9513 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9514 using alloca; free it after run_msdos_command returns.
9515
27f73852
DL
95162000-07-27 Dave Love <fx@gnu.org>
9517
52283633
SM
9518 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9519 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9520
9521 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9522
c0261b5e
EZ
95232000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9524
9525 * editfns.c (lisp_time_argument): Fix last change.
9526
b548072f
GM
95272000-07-27 Gerd Moellmann <gerd@gnu.org>
9528
3ab82477
GM
9529 * fns.c (Fdelete): Make it work on vectors and strings in addition
9530 to lists.
9531
b548072f
GM
9532 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9533 (syms_of_fns): Initialize new variables.
52283633 9534 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9535 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9536 weakness, with t meaning the same as `key-and-value'.
9537
91ae8751
KH
95382000-07-27 Kenichi Handa <handa@etl.go.jp>
9539
9540 * coding.h (struct coding_system): Member safe_charset deleted.
9541
9542 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9543 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9544 New variables.
91ae8751
KH
9545 (coding_safe_chars): New function.
9546 (CODING_SAFE_CHAR_P): New macro.
9547 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9548 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9549 (detect_coding_iso2022): New local variable safe_chars.
9550 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9551 safe_charsets member of the coding system.
9552 (decode_coding_iso2022): New local variable safe_chars.
9553 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9554 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9555 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9556 (ENCODE_UNSAFE_CHARACTER): New macro.
9557 (encode_coding_iso2022): New local variable safe_chars. Check
9558 unsafe chars.
9559 (setup_coding_system): Delete the code to initialize
9560 coding->safe_charses
9561 (intersection, find_safe_codings): New functions.
9562 (Ffind_coding_systems_region_internal): New function.
9563 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9564 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9565 variable and initialize it.
9566
9567 * fns.c (char_table_ref_and_index): New function.
9568
9569 * lisp.h (char_table_ref_and_index): Add prototype.
9570
34a7a267
SS
95712000-07-26 Sam Steingold <sds@gnu.org>
9572
9573 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9574 (Ffloat_time): New built-in Lisp function.
34a7a267 9575
a95cb10a
GM
95762000-07-26 Gerd Moellmann <gerd@gnu.org>
9577
3353ef5a
GM
9578 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9579 for the character code.
9580
9581 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9582 GNU/Linux.
9583
a95cb10a
GM
9584 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9585 if called for a popup menu.
9586 (xmenu_show): Store help string in widget values.
9587
b4a12321
DL
95882000-07-26 Dave Love <fx@gnu.org>
9589
9590 * syswait.h: Move some definitions.
9591 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9592 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9593 perspicuous definitions.
9594 (WTERMSIG): Fix bit pattern used.
9595
13f5ad37
KH
95962000-07-26 Kenichi Handa <handa@etl.go.jp>
9597
9598 * print.c (print_object): If vector printing is truncated, print
9599 "..." to indicate it as well as the case of list printing.
9600
070fe99c
GM
96012000-07-25 Gerd Moellmann <gerd@gnu.org>
9602
969065c3
GM
9603 * xdisp.c (next_element_from_display_vector): Improve comments.
9604
9605 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9606 for the character code, and the rest for the face id as in 20.x.
9607 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9608
9609 * window.c (window_display_table): Cleaned up.
9610
070fe99c
GM
9611 * syntax.c (Fforward_word): Add last arg nil in call of
9612 Fconstrain_to_field.
9613
bad77ef7
EZ
96142000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9615
969065c3 9616 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9617 identical but for the letter-case, don't call
9618 barf_or_query_if_file_exists.
bad77ef7 9619
c28da489
MB
96202000-07-25 Miles Bader <miles@gnu.org>
9621
9622 * editfns.c (find_field): Honor special `boundary' fields.
9623 (Qboundary): New variables.
9624 (syms_of_editfns): Initialize Qboundary.
9625 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9626 Use scan_buffer instead of find_before_next_newline, because it
9627 allows us to detect the boundary case where there's a newline at
9628 the search limit.
9629 * lisp.h (Fconstrain_to_field): Update external declaration.
9630
e3c31fd5
GM
96312000-07-24 Gerd Moellmann <gerd@gnu.org>
9632
9633 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9634 if that is nil.
c28da489 9635
c66c29a2
DL
96362000-07-24 Dave Love <fx@gnu.org>
9637
9638 * s/sunos4-0.h, s/sol2.h:
9639 (LIBS_TERMCAP): Move from m/sparc.h.
9640
9641 * m/sparc.h (TERMINFO): Moved to system files (probably only
9642 relevant for sunos4 judging by its vintage).
9643 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9644 __arch64__.
9645
fbe0a958
EZ
96462000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9647
9648 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9649 name to single_keymap_panes.
9650
7d88e5c9
AS
96512000-07-24 Andreas Schwab <schwab@suse.de>
9652
9653 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9654
e024b101
GM
96552000-07-24 Gerd Moellmann <gerd@gnu.org>
9656
9657 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9658 parameters instead of using int parameters. Expect FN to accept
9659 EMACS_INT parameters.
9660 (display_echo_area, resize_echo_area_axactly, current_message)
9661 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9662 with new argument list.
9663 (resize_mini_window_1): New callback function.
9664 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9665 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9666
25c1a9ce
KH
96672000-07-24 Kenichi Handa <handa@etl.go.jp>
9668
9669 * fontset.c (fontset_ref): Remove INLINE declaration.
9670 (fontset_ref_via_base): Likewise.
9671 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9672 to downcase.
9673
7f987ac0
EZ
96742000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9675
9676 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9677 correct order of priority. If help echo was found in an overlay,
9678 use that overlay as the object in which the help echo was found.
9679
e2db3069
MB
96802000-07-22 Miles Bader <miles@gnu.org>
9681
9682 * textprop.c (Fprevious_single_char_property_change): The initial
9683 property value should be from the position preceding POSITION, not
9684 following it.
9685
5e3203e4
EZ
96862000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9687
9688 * coding.c (syms_of_coding): Doc fix for
9689 inhibit-iso-escape-detection.
9690
62145073
GM
96912000-07-21 Gerd Moellmann <gerd@gnu.org>
9692
c20aeb83
GM
9693 * xterm.c (note_mouse_highlight): Process overlays in the right
9694 order of priority.
34a7a267 9695
743934db
GM
9696 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9697
9698 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9699 overlay, use that overlay as the object in which the help was found.
743934db 9700
d1dc7e43 9701 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9702
62145073
GM
9703 * window.c (foreach_window): Instead of a fake variable argument
9704 list, take one USER_DATA argument.
9705 (foreach_window_1): Likewise, and call callback functions with two
9706 args, the window and USER_DATA.
9707 (struct check_window_data): New struct.
9708 (check_window_containing): Use it.
9709 (window_from_coordinates): Set up a struct check_window_data for
9710 foreach_window.
9711 (add_window_to_list, freeze_window_start): Change parameters
9712 according to new calling convention.
9713
9714 * window.h (foreach_window): Change prototype.
9715
9716 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9717
97182000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9719
9720 * xmenu.c (menu_help_callback): Call show_help_echo with
9721 additional arguments OBJECT and POS.
9722
11270583
KH
97232000-07-21 Kenichi Handa <handa@etl.go.jp>
9724
07b14857
KH
9725 * data.c (Faset): Allow storing any multibyte character in a
9726 string. Convert unibyte string to multibyte if necessary.
9727
11270583
KH
9728 * xfns.c (x_encode_text): New function.
9729 (x_set_name): Use x_encode_text.
9730 (x_set_title): Likewise.
9731
9732 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9733
9734 * xterm.h (x_encode_text): Add prototype.
9735
bc75b4fd
DL
97362000-07-20 Dave Love <fx@gnu.org>
9737
9738 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9739 xfree, not free.
9740
48c14970
EZ
97412000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9742
9743 * msdos.c (help_echo_window): New variable.
9744 (syms_of_msdos): Initialize and staticpro it.
9745 (IT_note_mode_line_highlight): Set help_echo_window.
9746 (IT_note_mouse_highlight): Ditto.
9747 (dos_rawgetc): Store help_echo_window in the second event produced
9748 for HELP_EVENTs.
9749
9750 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9751 Record the object that generated the help echo and the position of
9752 that object in help_echo_object and help_echo_pos. Record that
9753 some glyphs in a row are displayed in mouse-face.
9754 (IT_update_begin): Don't clear mouse highlight unless one of the
9755 enabled glyph rows is marked as being displayed in mouse-face.
9756 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9757 and position recorded in help_echo_object and help_echo_pos to the
9758 event queue.
9759 (IT_menu_display): Accept a new argument PN: the pane number of
9760 the current menu pane. Record the pane number and the item
9761 number of the item which has associated help string.
9762 (XMenuActivate): Update the prototype for help_callback in
9763 function declaration. Call IT_menu_display with the current menu
9764 pane number as an additional argument. Call help_callback with
9765 two additional arguments: the pane number and the item number of
9766 the menu item associated with the help text.
9767 (help_echo_object, help_echo_pos): New variables.
9768 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9769
9770 * msdos.h (XMenuActivate): Update prototype.
9771
4279296d
GM
97722000-07-19 Gerd Moellmann <gerd@gnu.org>
9773
47db06aa
GM
9774 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9775 Add some more prototypes.
9776
9777 * xterm.c, xterm.h: Add some more prototypes.
9778
9779 * lisp.h (Fnext_single_char_property_change): Add prototype.
9780
9781 * dispnew.c (direct_output_for_insert): Remove confusing
9782 outer local variable mouse_face_overwritten_p.
9783 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9784
4279296d
GM
9785 * alloc.c (allocate_string_data): Don't copy old string contents.
9786
670acd62
KH
97872000-07-19 Kenichi Handa <handa@etl.go.jp>
9788
9789 * coding.c (code_convert_region): Delete text properties before
9790 shrinking the conversion region.
9791
7cea38bc
GM
97922000-07-18 Gerd Moellmann <gerd@gnu.org>
9793
dc1cac59
GM
9794 * dispnew.c (update_text_area): Write the whole row if it
9795 has mouse-face in it.
9796
85a8aca9
GM
9797 * xfaces.c (face-alternative-font-family-alist): Remove
9798 DEFVAR_LISP; staticpro instead.
9799
34a7a267 9800 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9801 new arguments.
9802
9803 * keyboard.c (show_help_echo): Add parameter WINDOW.
9804 (read_char): Call show_help_echo with window extracted from Lisp
9805 help event.
9806 (gen_help_event): Add parameter WINDOW.
9807
9808 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9809
9810 * xterm.c (help_echo_window): New variable.
52283633 9811 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9812 (XTread_socket): Pass help_echo_window to gen_help_event.
9813 (syms_of_xterm): Initialize and staticpro help_echo_window.
9814
f8276b77
DL
98152000-07-18 Dave Love <fx@gnu.org>
9816
52283633 9817 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9818
088831a6
GM
98192000-07-18 Gerd Moellmann <gerd@gnu.org>
9820
3d6cd763
GM
9821 * alloc.c (allocate_string_data): If string had already data
9822 assigned, copy old contents to new string data.
9823
9824 * coding.c (syms_of_coding): Fix typo in spelling of variable
9825 `inhibit-iso-escape-detection'.
9826
088831a6
GM
9827 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9828
9829 * Makefile.in: Add dependencies on dispextern.h.
9830 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9831 `free'; both can conflict with system header files.
9832
bc8a8d55
KH
98332000-07-18 Kenichi Handa <handa@etl.go.jp>
9834
9835 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9836 undefined.
9837
069f5950
DL
98382000-07-18 Dave Love <fx@gnu.org>
9839
9840 * window.c (Fwindow_list): Declare arg `window'.
9841
aa96c820
KH
98422000-07-18 Kenichi Handa <handa@etl.go.jp>
9843
9844 * coding.c (setup_coding_system): Don't override the explicitly
9845 specified designations.
9846
06be8d32
MB
98472000-07-15 Miles Bader <miles@gnu.org>
9848
9849 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9850 from `text_property_eq' and `text_property_stickiness', respectively.
9851 (find_field, Fconstrain_to_field, char_property_eq)
9852 (char_property_stickiness): Changed to call char-property functions
9853 instead of text-property-only ones.
9854
9855 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9856 `next_single_char_property_change'). Do more error checking, and
9857 cleanup limit behavior.
9858 (Fprevious_single_char_property_change): New function.
9859 (syms_of_textprop): Initialize new subrs.
9860
9861 * xdisp.c (display_prop_end, invisible_text_between_p):
9862 Call Fnext_single_char_property_change instead of
9863 next_single_char_property_change.
9864
3fddcdc3
JR
98652000-07-15 Jason Rumney <jasonr@gnu.org>
9866
9867 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9868 after menu is finished with.
9869 (add_menu_item): Only consider wv->title as a menu title.
9870 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9871
9872 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9873 null title.
9874 (FONT_REGEXP): Remove unused macro, and its sub-components.
9875 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9876
9877 * w32term.c (help_echo_object, help_echo_pos): New variables.
9878 (note_mode_line_highlight): Store additional information about the
9879 help-echo in help_echo_object and help_echo_pos. Check both
9880 `local-map' and `keymap' properties for changing the cursor
9881 (note_mouse_highlight): Store additional information about the
9882 help-echo in help_echo_object and help_echo_pos.
9883 (note_tool_bar_highlight): Set help_echo_object to nil and
9884 help_echo_pos to -1.
9885 (w32_read_socket): Use gen_help_event instead of filling
9886 input_events manually.
9887 (syms_of_w32term): Staticpro help_echo_object.
9888 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9889 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9890 (x_clear_mouse_face): New function.
9891 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9892 (x_update_window_begin): No need to turn off the mouse
9893 highlight here.
9894 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9895 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9896 (x_fill_stretch_glyph_string): Consume runs of stretch
9897 glyphs instead of a single one.
9898 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9899 with new argument list.
9900 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9901 (x_append_glyph, x_append_composite_glyph)
9902 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9903 changes in struct glyph starting 1999-12-27. See comments for
9904 xterm.c on 2000-07-05.
9905
178c5d9c
SS
99062000-07-14 Sam Steingold <sds@gnu.org>
9907
9908 * xfaces.c (realize_x_face): Fix the last patch:
9909 check `default_face' before dereferencing.
9910
6fe533f6
DL
99112000-07-14 Dave Love <fx@gnu.org>
9912
069f5950 9913 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9914
dd7b81cf
KH
99152000-07-14 Kenichi Handa <handa@etl.go.jp>
9916
0693904a 9917 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9918 default_face's fontset, not using the default fontset.
0693904a 9919
dd7b81cf
KH
9920 * coding.c (inhibit_iso_escape_detection): New variable.
9921 (syms_of_coding): Make it a Lisp variable.
9922 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9923 nonzero, ignore ISO2022's escape sequence.
9924
d5aa31d8
GM
99252000-07-14 Gerd Moellmann <gerd@gnu.org>
9926
e5acf0ca
GM
9927 * alloca.c (malloc) [emacs]: Define as xmalloc.
9928
bd23a692
GM
9929 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9930 use that instead of the mouse position. Add parameters DX and DY.
9931
9932 * dispextern.h (Fx_show_tip): Adjust number of parameters
9933 in prototype.
9934
9662da0b
GM
9935 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9936 if HELP is a function, call it with OBJECT and POS as parameters
9937 to get the help to display.
9938 (gen_help_event, kbd_buffer_store_help_event): New functions.
9939 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9940 (read_char): Call show_help_echo with new parameters.
9941
178c5d9c 9942 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9943 Add prototypes.
9944
9945 * xterm.c (help_echo_object, help_echo_pos): New variables.
9946 (note_mode_line_highlight): Store additional information about the
9947 help-echo in help_echo_object and help_echo_pos. Check both
9948 `local-map' and `keymap' properties for changing the cursor
9949 (note_mouse_highlight): Store additional information about the
9950 help-echo in help_echo_object and help_echo_pos.
9951 (note_tool_bar_highlight): Set help_echo_object to nil and
9952 help_echo_pos to -1.
9953 (XTread_socket): Use gen_help_event instead of filling
9954 input_events manually.
9955 (syms_of_xterm): Staticpro help_echo_object.
9956
9957 * xmenu.c (menu_highlight_callback): Use
9958 kbd_buffer_store_help_event instead of setting up and input_event
9959 structure manually.
9960
9961 * xdisp.c (eval_form): GCPRO argument sexpr.
9962 (call_function): New function.
9963 (handle_single_display_prop): Use call_function and FUNCTIONP
9964 instead of checking whether if font_height is a symbol and
9965 using eval_form.
9966
9967 * eval.c (internal_condition_case_2): New function.
9968
9969 * lisp.h (FUNCTIONP): New macro.
9970 (internal_condition_case_2, call_function): Add prototypes.
9971
d5aa31d8
GM
9972 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9973 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9974 Always set `arg' member of input_events.
9975 (construct_menu_click): Unused function removed.
9976
9977 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9978
9979 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9980 (construct_drag_n_drop, x_scroll_bar_handle_click)
9981 (w32_read_socket): Always set `arg' member of input_events.
9982
9983 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9984
9985 * lisp.h (eval_form): Add prototype.
9986
9987 * xdisp.c (eval_form): Make it externally visible.
9988
0f1a9b23
GM
99892000-07-13 Gerd Moellmann <gerd@gnu.org>
9990
9991 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9992 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9993 consing. For prefix events, store the frame in the `arg' slot of
9994 the event, otherwise store the key there.
9995 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9996 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9997
9998 * xmenu.c (menu_highlight_callback): Store help string in the
9999 `arg' member of the input event; don't cons.
10000 (menubar_selection_callback): Use the `arg' slot of input events
10001 to queue additional information, instead of consing.
10002
10003 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10004
10005 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10006 TOOL_BAR_EVENTs.
10007 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10008
10009 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10010 input events to queue additional information, instead of consing.
10011
10012 * keyboard.c (kbd_buffer_gcpro): Renamed from
10013 kbd_buffer_frame_or_window. Now used for all Lisp objects
10014 referenced from the input queue.
10015 (kbd_buffer_store_event): Always use structure assignment for
10016 copying input events. Record all Lisp objects referenced from
10017 events in kbd_buffer_gcpro.
10018 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10019 differently from input events. Test for prefix menu_bar_events
10020 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10021 event in kbd_buffer_gcpro to nil.
10022 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10023 frame_or_window is equal to its arg member as prefix events.
10024 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10025 used by an input event to nil.
10026 (init_keyboard): Use two times the size of the input queue
10027 for kbd_buffer_gcpro.
10028 (syms_of_keyboard): Likewise.
10029
52283633
SM
10030 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10031 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10032
10033 * termhooks.h (struct input_event): Add member `arg'.
10034 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10035 (USER_SIGNAL_EVENT): Renamed from user_signal.
10036
10037 * xfaces.c (ASET): Remove definition.
10038
10039 * lisp.h (AREF, ASET, ASIZE): New macros.
10040
10041 * fontset.c (AREF, ASIZE): Remove definitions.
10042
10043 * fns.c (AREF): Remove definition.
178c5d9c 10044
0f1a9b23
GM
10045 * composite.c (AREF): Remove definition.
10046
712eaef2
GM
100472000-07-12 Gerd Moellmann <gerd@gnu.org>
10048
d8ee7803
GM
10049 * dispnew.c (redraw_overlapped_rows): Add missing local.
10050 (scrolling_window): Remove debug code.
10051
712eaef2
GM
10052 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10053 Before scrolling, turn off a mouse-highlight in the window
10054 being scrolled.
10055
10056 * xterm.c (x_update_window_end): Add parameter
10057 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10058 redisplay in XTframe_up_to_date.
10059 (x_clear_mouse_face): New function.
10060 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10061
10062 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10063 current glyph row.
10064 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10065 it when any row is written to that contains glyphs highlighted in
10066 mouse-face.
10067 (update_window): Call the window update end hook with new
10068 parameter MOUSE_FACE_OVERWRITTEN_P.
10069 (direct_output_for_insert): Give up if row contains mouse-face.
10070
10071 * dispextern.h (struct redisplay_interface): Add parameter
10072 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10073 (clear_mouse_face): New function pointer member.
10074
02010917
SM
100752000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10076
10077 * syntax.c (back_comment): Use one switch rather than a few `if's.
10078 Obey open_paren_in_column_0_is_defun_start.
10079 When reverting to the `slow' method, try to nicely handle the case
10080 of nested comments by checking that the comment-starter we found
10081 does indeed match the comment-ender.
10082 (scan_sexps_forward, scan_sexps_forward):
10083 Ignore excessive opening parenthesis rather than throwing an error.
10084
d76c03ea
GM
100852000-07-11 Gerd Moellmann <gerd@gnu.org>
10086
10087 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10088 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10089
10090 * dispnew.c (direct_output_forward_char): Give up if currently
10091 displaying a message instead of the minibuffer contents.
10092
10093 * xterm.c (x_update_window_begin): No need to turn off the mouse
10094 highlight here.
10095 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10096 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10097
10098 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10099 compare the mouse_face_p flags of both rows.
10100
10101 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10102
d55ead18
EZ
101032000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10104
10105 * keyboard.c (show_help_echo): Accept additional parameter
10106 ok_to_overwrite_keystroke_echo.
10107 (read_char): Call show_help_echo with a zero
10108 ok_to_overwrite_keystroke_echo argument.
52283633 10109 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10110 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10111 ok_to_overwrite_keystroke_echo argument.
10112 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10113 non-zero ok_to_overwrite_keystroke_echo argument.
10114
df75b1a3
GM
101152000-07-10 Gerd Moellmann <gerd@gnu.org>
10116
4b92c49a
GM
10117 * xdisp.c (try_window_id): If changes are all below what is
10118 displayed in the window, and point is in the window, we still
10119 might have to find point on the display.
10120
10121 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10122 glyphs instead of a single one.
10123 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10124 with new argument list.
10125 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10126
df75b1a3
GM
10127 * keymap.c (get_keymap_1): Add comment that this function can GC.
10128 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10129 comment that functions can GC.
10130 (Fset_keymap_parent): GCPRO arg KEYMAP.
10131
4314cf3e
EZ
101322000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10133
10134 * msdos.c (XMenuActivate): After exiting the menu, restore the
10135 echo area message and erase it.
10136
ab49ce15
KH
101372000-07-10 Kenichi Handa <handa@etl.go.jp>
10138
10139 * fontset.c (Ffontset_info): Make the return value more compatible
10140 with that of Emacs 20.
10141
090a072f
GM
101422000-07-07 Gerd Moellmann <gerd@gnu.org>
10143
10144 * eval.c (Fsignal): Handle case that backtrace_list is null.
10145
f92de4a6
KH
101462000-07-07 Kenichi Handa <handa@etl.go.jp>
10147
10148 * ccl.c (Fccl_execute): Typo fixed.
10149
dd8888a1
GM
101502000-07-06 Gerd Moellmann <gerd@gnu.org>
10151
e5c81191 10152 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10153
dd8888a1
GM
10154 * window.c (Fwindow_list): Reverse list at the end.
10155 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10156 means allow windows on OWINDOW's frame, only.
10157 (window_loop): Simplified; use Fwindow_list.
10158
10159 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10160
485266d0
GM
101612000-07-05 Gerd Moellmann <gerd@gnu.org>
10162
10163 * xterm.c (XTread_socket): Increment handling_signal at the start,
10164 decrement it at the end.
10165
10166 * eval.c (handling_signal): New variable.
10167 (Fsignal): Abort if handling_signal is non-zero.
10168
10169 * lisp.h (handling_signal): External declaration.
178c5d9c 10170
485266d0
GM
10171 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10172
80fcd514
KR
101732000-07-05 Ken Raeburn <raeburn@gnu.org>
10174
10175 Sound support for NetBSD through "Linux emulation" support:
10176 * config.in (HAVE_SOUNDCARD_H): Undef.
10177 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10178 * Makefile.in (LIBSOUND): New variable.
10179 (LIBES): Include it.
52283633
SM
10180 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10181 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10182 (vox_open): Use DEFAULT_SOUND_DEVICE.
10183 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10184
d5c5cddd
GM
101852000-07-05 Gerd Moellmann <gerd@gnu.org>
10186
10187 * print.c (print_error_message): If Vsignaling_function is set,
10188 show it in *Messages*.
10189
10190 * lisp.h (Vsignaling_function): External declaration.
10191
10192 * eval.c (Vsignaling_function): New variable.
10193 (Fsignal): Compute it.
10194 (syms_of_eval): Staticpro it.
10195
65171e3a
DL
101962000-07-05 Dave Love <fx@gnu.org>
10197
10198 * syswait.h: Use the autoconf recommended approach. Old code
10199 #if'd out in case we need to revert.
10200
178c5d9c 10201 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10202
e2c46326
AI
102032000-07-05 Andrew Innes <andrewi@gnu.org>
10204
10205 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10206 when non-NULL instead of __morecore, to take account of buffer
10207 memory. This also solves a problem with spurious memory warnings
10208 on Windows.
10209
10210 * ralloc.c: Make real_morecore non-static.
10211
10212 * eval.c (internal_condition_case): Comment out abort if
10213 interrupt_input_blocked is not zero.
10214
10215 * makefile.nt: Add support for `bootstrap' and related targets.
10216 Include minimal debug info in emacs.exe in release build.
10217 Remove all dependencies on lisp.h, and fixup some others.
10218
10219 * w32.c (init_environment): Install code from 20.7 for providing
10220 default values for environment variables, based on the
10221 executable's own location.
52283633 10222 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10223 (sys_socket): Install socket inheritance bug fix from 20.7.
10224
10225 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10226 here via blockinput.h).
10227
a027a91b
SM
102282000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10229
e4b31601
SM
10230 * w32menu.c (w32_menu_display_help):
10231 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10232
10233 * keyboard.h (show_help_echo): Declare.
10234
10235 * keyboard.c (show_help_echo): New function, extracted from read_char.
10236 Feval its `msg' argument if it's a cons cell.
10237 (read_char): Use it.
4cf8d9d5 10238 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10239
178c5d9c 10240 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10241 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10242 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10243 (dos_rawgetc):
10244 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10245 (note_tool_bar_highlight, w32_read_socket):
10246 Do not gratuitously ignore non-string `help-echo' properties.
10247
88d75730
GM
102482000-07-05 Gerd Moellmann <gerd@gnu.org>
10249
969f7e79
GM
10250 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10251
71201b00
GM
10252 * window.c (delete_all_subwindows): Reset Vwindow_list.
10253
88d75730
GM
10254 * xterm.c (x_append_glyph, x_append_composite_glyph)
10255 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10256 changes in struct glyph starting 1999-12-27. Some bit-fields of
10257 struct glyph were not set, which made glyphs unequal when compared
10258 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10259 effects were the result. This also depended on the contents of
10260 memory returned by xmalloc. If flickering happens again, activate
10261 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10262 gone with that, chances are that it is caused by something similar.
88d75730
GM
10263
10264 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10265
88d75730
GM
10266 * dispextern.h: Add some comments.
10267
10268 * window.c (add_window_to_list): Add parameter LIST.
10269 (window_list): Order list so that, for each frame, windows are
10270 in canonical order, and so that frames appear in the list in
10271 the order given by Vframe_list.
10272 (next_window): Reverse the handling of NEXT_P.
10273
53654733
GM
102742000-07-04 Gerd Moellmann <gerd@gnu.org>
10275
87efd256
GM
10276 * window.c (Vwindow_list): New variable.
10277 (make_window, delete_window): Set Vwindow_list to nil.
10278 (check_window_containing): New function.
10279 (window_from_coordinates): Rewritten.
10280 (add_window_to_list, window_list, candidate_window_p)
10281 (decode_next_window_args, next_window): New functions.
52283633 10282 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10283 (Fwindow_list): New function.
10284 (Fother_window): Cleaned up.
10285 (foreach_window): Add a longer "variable argument list". Let
10286 callback function return 0 to indicate that cycling over windows
10287 should stop.
10288 (foreach_window_1): Likewise.
10289 (freeze_window_start): Return int.
10290 (init_window): New function.
10291 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10292
10293 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10294 input_event with bzero.
10295 (main): Call init_window.
10296
53654733
GM
10297 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10298 a menu filter.
10299
4a8c194f
KH
103002000-07-04 Kenichi Handa <handa@etl.go.jp>
10301
10302 * composite.h (make_composition_value_copy): Extern it.
10303
10304 * composite.c (make_composition_value_copy): New function.
10305
10306 * editfns.c (Fformat): While copying text properties, make each
10307 composition property value a copy.
10308
10309 * fns.c (concat): While copying text properties, make each
10310 composition property value a copy.
10311
831a6cb0
GM
103122000-07-03 Gerd Moellmann <gerd@gnu.org>
10313
2f516940
GM
10314 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10315
178c5d9c 10316 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10317 marked already.
10318
831a6cb0
GM
10319 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10320 include those frames as candidates which have their focus
10321 redirected to the minibuffer frame.
10322
d9c4f922
SM
103232000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10324
10325 * fns.c (Fputhash): Return `value' rather than nil.
10326
3780bc22
GM
103272000-06-30 Gerd Moellmann <gerd@gnu.org>
10328
97d176db
GM
10329 * frame.c (next_frame): Don't check focus redirection in case
10330 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10331 unless their focus is redirected, which contradicts the
10332 specification of next-frame, and leads to infinite loops in
10333 certain situations when cycling through windows with next-window.
10334
dca9961d
KH
103352000-06-30 Kenichi Handa <handa@etl.go.jp>
10336
10337 * coding.c (code_convert_region): Even if the length of text is
10338 zero, try to convert it if coding->type is coding_type_ccl.
10339 (decode_coding_string, encode_coding_string): Likewise.
10340
d5483ab1
GM
103412000-06-28 Gerd Moellmann <gerd@gnu.org>
10342
af5c25e1 10343 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10344 the display if windows_or_buffers_changed.
af5c25e1
GM
10345
10346 * dispnew.c (struct row_entry): New structure.
10347 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10348 (row_table_size, old_lines, new_lines, old_lines_size)
10349 (new_lines_size, run_pool, runs_size, runs): New variables.
10350 (add_row_entry): New function.
10351 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10352 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10353 holding them in local variables. Use a larger hash table whose
10354 size depends on glyph matrix sizes. Don't use bzero to clear the
10355 hash table; instead, clear used slots only.
10356
10357 * fns.c (next_almost_prime): Make it externally visible.
10358
10359 * lisp.h (next_almost_prime): Add prototype.
10360
d5483ab1
GM
10361 * s/isc4-0.h (sigunblock): Define.
10362
10363 * s/sco5.h (sigunblock): Define.
10364
93e40f40
DL
103652000-06-27 Dave Love <fx@gnu.org>
10366
10367 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10368 (moved to osf5-0.h).
10369 [!NOT_C_CODE]: Protect string.h stuff.
10370
10371 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10372 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10373
3c4b7685
GM
103742000-06-27 Gerd Moellmann <gerd@gnu.org>
10375
97d176db 10376 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10377 below the last line from the needed window height.
10378
32cad0aa
SM
103792000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10380
10381 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10382 (Fwidget_get): Use it.
10383 (syms_of_fns): Defsubr it.
10384
2c69ced2
GM
103852000-06-26 Gerd Moellmann <gerd@gnu.org>
10386
178c5d9c 10387 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10388 display info for XIM.
10389 (xim_open_dpy): Likewise.
10390 (xim_close_dpy): Don't free the display info's XIM.
10391
10392 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10393
10394 * config.in (USE_XIM): New define.
10395
3fc720e4
GM
10396 * keymap.c (get_keyelt): For menu-items containing a `:filter
10397 FILTER', apply FILTER to the menu-item's definition to get the
10398 real definition to use.
10399
10400 * lisp.h (QCfilter): External declaration.
10401
2c69ced2
GM
10402 * xfns.c (Fimage_size): New function.
10403 (syms_of_xfns): Defsubr it.
10404
f978b2a2
AS
104052000-06-26 Andreas Schwab <schwab@suse.de>
10406
10407 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10408 Fstring_as_unibyte.
10409
94cc7892
DL
104102000-06-25 Dave Love <fx@gnu.org>
10411
52283633 10412 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10413
10414 * Makefile.in (blockinput.h): Depend on atimer.h.
10415 (atimer.h): Depend on systime.h.
10416
52283633 10417 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10418
52283633 10419 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10420
10421 * lisp.h (swap_in_global_binding): Declare.
10422
b8c24556
KR
104232000-06-24 Ken Raeburn <raeburn@gnu.org>
10424
10425 * process.c (Fopen_network_stream): Turn off atimers for duration
10426 of call to connect. (Patch from Gerd.)
10427
8cf8560b
DL
104282000-06-23 Dave Love <fx@gnu.org>
10429
511c7541
DL
10430 * ralloc.c: Maybe include unistd.h
10431
8cf8560b
DL
10432 * emacs.c (setgrp): Undefine before defining.
10433 (malloc_warning, set_time_zone_rule, index): Prototype.
10434
10435 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10436 HAVE_STRUCT_TIMEZONE.
10437
10438 * s/osf1.h: Move string.h hack here from alpha.h and make it
10439 conditional.
10440 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10441 _XOPEN_SOURCE.
10442 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10443 (SOCKLEN_TYPE): Don't define.
10444
10445 * m/alpha.h: Remove string.h hack.
10446
10447 * s/osf5-0.h: New file.
10448
10449 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10450 include time.h, done by systime.h.
10451 [__FreeBSD__]: Remove redundant includes.
10452
3fc720e4 10453 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10454 (delete_temp_file): Return Qnil to avoid warning.
10455
10456 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10457
10458 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10459 HAVE_X_WINDOWS.
10460
10461 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10462
10463 * composite.h (compose_text): Declare.
10464
10465 * xterm.c: Don't include sys/types.h unconditionally. Don't
10466 protect its inclusion with !USG (following xmenu.c).
10467
ea055732
GM
104682000-06-23 Gerd Moellmann <gerd@gnu.org>
10469
10470 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10471 in x_create_frame.
10472
74b01b80
EZ
104732000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10474
10475 * coding.c (decode_eol_post_ccl): Special handling for undecided
10476 and inconsistent EOL types.
10477
64f3a166
GM
104782000-06-22 Gerd Moellmann <gerd@gnu.org>
10479
16cf31f7
GM
10480 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10481 trough color and main window's background color.
10482
52283633 10483 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10484
10485 * xterm.h (Xt_app_con): External declaration.
10486
10487 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10488
486a103d
GM
10489 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10490
64f3a166
GM
10491 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10492 (handle_invisible_prop): Record the start of invisible text in
10493 it->add_overlay_start.
10494 (struct overlay_entry): Add member `overlay'.
10495 (handle_overlay_change): Simplify.
10496 (next_overlay_string): After having processed overlay strings at the
10497 end of the buffer, record that fact in
10498 it->overlay_strings_at_end_processed_p.
10499 (compare_overlay_entries): If before- and after-strings come
10500 from the same overlay, let before-strings come first.
10501 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10502 (load_overlay_strings): Take it->add_overlay_start into account
10503 when adding overlay strings.
10504
10505 * dispextern.h (struct it): Add member add_overlay_start.
10506
bb746ea6
DL
105072000-06-22 Dave Love <fx@gnu.org>
10508
10509 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10510
10511 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10512
a8f573f3
KH
105132000-06-22 Kenichi Handa <handa@etl.go.jp>
10514
10515 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10516 is greater than 0.
10517
9f2bbc92
DL
105182000-06-21 Dave Love <fx@gnu.org>
10519
178c5d9c 10520 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10521
3ee5041c
SM
105222000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10523
10524 * syntax.c (back_comment): Simplify string-parity counting (with
10525 the added benefit of handling multiple string-styles as long as
10526 they are not intertwined).
10527 Jump to the slow code as soon as a comment starter is found in
10528 a "string_lossage" position. Fixes the case: " /* " /* " */.
10529
4c343001
DL
105302000-06-21 Dave Love <fx@gnu.org>
10531
10532 * Makefile.in: Use GETLOADAVG_LIBS.
10533
10534 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10535 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10536
e6365855
SM
105372000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10538
10539 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10540 (Fforward_comment, scan_lists):
10541 Check the comstyle of single-char comment-starters.
10542 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10543 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10544 Check the comstyle of single-char comment-starters.
10545 Clarify control-flow around the Scomment case.
e6365855 10546
5700d2cc
DL
105472000-06-20 Dave Love <fx@gnu.org>
10548
d355bd8a
SM
10549 * fns.c (make_hash_table, maybe_resize_hash_table):
10550 Cast arg of next_almost_prime.
5700d2cc 10551
178c5d9c 10552 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10553
10554 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10555 and unistd.h.
10556
4a27bdfb
GM
105572000-06-20 Gerd Moellmann <gerd@gnu.org>
10558
a61d762c 10559 * keyboard.c (adjust_point_for_property): Check if display
52283633 10560 property should be treated as intangible by looking at its value.
a61d762c 10561
178c5d9c 10562 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10563 (display_prop_intangible_p): New functions.
10564
10565 * dispextern.h (display_prop_intangible_p): Add prototype.
10566
10567 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10568
4a27bdfb
GM
10569 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10570 argument to sigprocmask.
10571
10572 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10573 argument to sigprocmask.
10574
10575 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10576 sigprocmask_set, and pass a pointer to it to sigprocmask.
10577
10578 * sysdep.c (sigprocmask_set): New variable.
10579
10580 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10581 report_file_error.
10582
427ec082
SS
105832000-06-20 Sam Steingold <sds@gnu.org>
10584
10585 * xrdb.c: Don't declare xmalloc, xrealloc.
10586
8972fe79 105872000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10588
10589 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10590 (re_comp): Cast gettext return value to avoid complaints when
10591 !HAVE_LIBINTL.
10592
074b6efe
DL
105932000-06-20 Dave Love <fx@gnu.org>
10594
52283633 10595 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10596
5700d2cc 10597 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10598
d355bd8a 10599 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10600
10601 * m/alpha.h: Don't declare xmalloc, xrealloc.
10602
0af4f205
DL
10603 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10604
10605 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10606
10607 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10608
10609 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10610 HAVE_GETWD.
10611
074b6efe
DL
10612 * keyboard.h (poll_for_input_1): Declare.
10613
10614 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10615
10616 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10617
10618 * doprnt.c: Don't declare xmalloc, xrealloc.
10619
10620 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10621 (getenv, ctime, getwd): Removed.
10622 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10623
10624 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10625 x_set_tool_bar_lines.
10626
10627 * config.in: Add HAVE_GETWD. Move some definitions above
10628 machine/system includes.
10629
68a5e97b
KH
106302000-06-20 Kenichi Handa <handa@etl.go.jp>
10631
95417e1e
KH
10632 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10633
68a5e97b
KH
10634 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10635 contain information about ENCODING.
10636
10637 * fontset.c (FONTSET_ASCII): Use the first element of char table
10638 for an ASCII font, not defalt slot.
10639 (fontset_ref_via_base): If FONTSET doesn't contain information for
10640 C, try the default fontset.
10641 (make_fontset): Don't copy the default fontset.
10642 (fontset_font_pattern): Likewise.
10643 (accumulate_font_info): If ELT is nil, use the corresponding
10644 element in the default fontset.
10645
3b4fa1b2
DL
106462000-06-19 Dave Love <fx@gnu.org>
10647
943e731c
DL
10648 * syntax.c (Fparse_partial_sexp): Doc fix.
10649
10650 * regex.h: Test PROTOTYPES as well as __STDC__.
10651
3b4fa1b2
DL
10652 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10653 errno, strerror. Put text after #endif in comment.
10654
52283633 10655 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10656
10657 * xterm.c (x_frame_of_widget): Likewise.
10658
cdf0357b
GM
106592000-06-19 Gerd Moellmann <gerd@gnu.org>
10660
10661 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10662 to Vfundamental_mode_abbrev_table.
10663
10664 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10665 bogus objects are marked. This slows down GC by ~80 percent, but
10666 it might be worth trying when debugging GC-related problems.
10667 This feature requires conservative stack marking to be enabled.
10668
10669 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10670 returns XLookupChars, reset `modifiers' to zero.
10671
998e9f8c
DL
106722000-06-19 Dave Love <fx@gnu.org>
10673
10674 * mktime.c: Unprotoized.
10675
18e21ce8 106762000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10677
10678 * data.c (set_internal): If variable is frame-local,
10679 store the new value immediately into the frame parameter alist.
10680
140c4ac6
KR
106812000-06-19 Ken Raeburn <raeburn@gnu.org>
10682
14358466
KR
10683 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10684 in the custom handler pointer.
10685
140c4ac6
KR
10686 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10687 value, or checks for CHAR_META can fail when Lisp_Object is a
10688 union type.
10689 * keymap.c (get_keyelt): Likewise.
10690
10d7bf84
KH
106912000-06-19 Kenichi Handa <handa@etl.go.jp>
10692
10693 * ccl.h (struct ccl_program): New member eol_type.
10694 (struct ccl_spec): New member cr_carryover.
10695
10696 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10697 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10698
10699 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10700 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10701 (decode_eol_post_ccl): New function.
10702 (decode_coding): Don't detect EOL format here for CCL based coding
10703 systems.
10704 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10705 decode_eol_post_ccl after running the CCL program.
10706 (code_convert_region): Don't detect EOL format here for CCL based
10707 coding systems.
10708 (decode_coding_string): Likewise.
10709
52e386c2
KR
107102000-06-18 Ken Raeburn <raeburn@gnu.org>
10711
10712 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10713 when treating it as an integer.
10714
10715 * coding.h (encode_coding_string): Declare.
10716
10717 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10718 it as an integer.
10719
10720 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10721 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10722 to be passed to get_local_map.
10723
10724 * sound.c (Fplay_sound): Don't call make_number on
10725 Frun_hook_with_args count argument.
10726
10727 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10728 for lisp objects in X event structure data field, when lisp
10729 objects are represented with unions.
10730 (x_scroll_bar_to_input_event): Ditto.
10731
b357b9d4
KR
107322000-06-16 Ken Raeburn <raeburn@gnu.org>
10733
10734 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10735 termination of string. Fix sense of test whether
10736 Vline_number_display_limit is an integer.
b357b9d4 10737
a871441d
GM
107382000-06-16 Gerd Moellmann <gerd@gnu.org>
10739
a9021acd
GM
10740 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10741 only if HAVE_X_WINDOWS.
10742
6344985d
GM
10743 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10744 of titles.
10745
427ec082 10746 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10747 out of bounds.
10748
228b083e
EZ
107492000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10750
10751 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10752 of its headers.
10753
c25b53a2
KH
107542000-06-15 Kenichi Handa <handa@etl.go.jp>
10755
10756 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10757 start of the while loop.
10758
a6981b11
GM
107592000-06-15 Gerd Moellmann <gerd@gnu.org>
10760
e9924e52
GM
10761 * atimer.c (alarm_signal_handler): Add forward declaration.
10762
a6981b11
GM
10763 * data.c (set_internal): Remove debug code.
10764
25fa6deb
GM
107652000-06-14 Gerd Moellmann <gerd@gnu.org>
10766
dce6b995
GM
10767 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10768
9f817ea4
GM
10769 * unexec.c (toplevel) [COFF]: Include coff.h.
10770
10771 * s/lynxos.h: New file.
10772
10773 * keymap.c (Fsingle_key_description): Enclose function key and
10774 event symbol names in angle brackets.
10775
8a4e3c0c
GM
10776 * xdisp.c (setup_echo_area_for_printing): Call
10777 message_log_maybe_newline if message_buf_print is not set.
10778
10779 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10780 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10781 function does something useful even when message_buf_print is
10782 already set.
10783
52283633
SM
10784 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10785 New variables.
25fa6deb
GM
10786 (ensure_echo_area_buffers): Initialize echo buffer's
10787 truncate lines setting to nil.
10788 (with_echo_area_buffer): Don't set the echo buffer's truncate
10789 lines setting here.
8a4e3c0c 10790 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10791 of message_truncate_lines.
10792 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10793 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10794 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10795
10796 * keyboard.c (read_char): Bind message-truncate-lines to t
10797 while displaying a help-echo.
10798
10799 * lisp.h (Qmessage_truncate_lines): External declaration.
10800
163dcff3
GM
108012000-06-13 Gerd Moellmann <gerd@gnu.org>
10802
1681ead6
GM
10803 * xdisp.c (Vline_number_display_limit): Renamed from
10804 line_number_display_limit.
10805 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10806 Extend documentation string. Initialize
10807 Vline_number_display_limit to nil meaning no limit.
10808 (decode_mode_spec): Use Vline_number_display_limit with its new
10809 meaning.
10810
163dcff3
GM
10811 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10812
18e21ce8 108132000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10814
10815 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10816
163dcff3
GM
10817 * xfns.c (x_set_frame_parameters): Comment fix.
10818
10819 * frame.c (store_frame_param): Call swap_in_global_binding if the
10820 variable's current binding was chosen based on this frame.
10821
10822 * data.c (swap_in_global_binding): New function.
10823
a704139d
EZ
108242000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10825
10826 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10827 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10828
9b6610db
EZ
108292000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10830
10831 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10832
c68833d2
JR
108332000-06-12 Jason Rumney <jasonr@gnu.org>
10834
10835 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10836
10837 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10838
10839 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10840
10841 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10842
ed1056b3
GM
108432000-06-12 Gerd Moellmann <gerd@gnu.org>
10844
10845 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10846 (syms_of_xfaces): Defsubr Sdump_colors.
10847 (x_free_colors): Don't treat b&w specially on default visual.
10848 (x_free_dpy_colors): New function.
10849 (free_face_colors): Don't check visual class; it's done
10850 in x_free_colors.
10851
10852 * xterm.c (x_frame_of_widget): New function.
10853 (x_alloc_nearest_color_for_widget): Use it.
10854 (x_copy_dpy_color): New function.
10855 (x_destroy_window): Free various colors.
10856
5050a2ef
KH
108572000-06-12 Kenichi Handa <handa@etl.go.jp>
10858
10859 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10860
10861 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10862
10863 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10864
10865 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10866
10867 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10868
fb1b041d
DL
108692000-06-11 Dave Love <fx@gnu.org>
10870
10871 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10872
ff96b5f4
EZ
108732000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10874
10875 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10876
db8eeecd
GM
108772000-06-11 Gerd Moellmann <gerd@gnu.org>
10878
ed1056b3 10879 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10880 to `XEvent *'.
10881
49b71c5f
KH
108822000-06-10 Kenichi Handa <handa@etl.go.jp>
10883
c479bd55
KH
10884 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10885 (regex_compile): Fix the code for handling the case of single byte
10886 char and multibyte char being mixed in a range within [...].
10887
ff6a65c2
KH
10888 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10889 and dst_multibyte members of coding.
10890
49b71c5f
KH
10891 * charset.c (update_charset_table): Update the table
10892 bytes_by_char_head.
10893 (init_charset_once): Initialize elements of bytes_by_char_head to
10894 1 except for leading codes for private charases.
10895
10896 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10897 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10898
9e80b57d
KR
108992000-06-09 Ken Raeburn <raeburn@gnu.org>
10900
10901 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10902 access the data it doesn't point to.
10903
f83fe4b4
GM
109042000-06-08 Gerd Moellmann <gerd@gnu.org>
10905
10906 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10907 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10908 event queue. This is necessary because Emacs otherwise won't
10909 perform a switch-frame to a new frame until some other event, for
10910 example a keystroke event, forces it to do so. This has various
10911 effects, one visible being that the cursor of a frame created with
10912 C-x 5 2 or switched to with a window manager key binding like
10913 A-TAB stays hollow because selected_window isn't on the newly
10914 focused frame until the switch-frame is performed.
10915
10916 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10917 generating a switch-frame event if necessary.
10918
10919 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10920
10921 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10922 it's an integer.
10923
0890801b
KH
109242000-06-08 Kenichi Handa <handa@etl.go.jp>
10925
52283633 10926 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10927
173cbca8
GM
109282000-06-07 Gerd Moellmann <gerd@gnu.org>
10929
3091c2a6
GM
10930 * window.c (displayed_window_lines): Take empty lines at
10931 the bottom of a window into account.
427ec082 10932
f38952fe
GM
10933 * window.c (displayed_window_lines): New function.
10934 (Fmove_to_window_line): Use displayed_window_lines to determine
10935 the number of lines to move, instead of using the window's height.
10936
10937 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10938 to stop reading, even if the form read sets point to a different
10939 value when evaluated.
10940
427ec082 10941 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10942 put the cursor.
10943
6ba6c818
KH
109442000-06-07 Kenichi Handa <handa@etl.go.jp>
10945
10946 * fileio.c (e_write): Free composition data if stored in
10947 coding->cmp_data.
10948
5f1aea9a
GM
109492000-06-06 Gerd Moellmann <gerd@gnu.org>
10950
666852af
GM
10951 * xdisp.c (display_line): Set row's and iterator's
10952 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10953 Set cursor even if row ends in the middle of a character.
10954 (dump_glyph_row): Print values of new flags.
10955 (redisplay_window) <cursor movement in unchanged window>: When
10956 point has been moved forward, and PT is at the end of the cursor
10957 row, don't place the cursor in the next row if the cursor row ends
10958 in the middle of a character or at ZV.
10959
10960 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10961 (struct glyph_row): Add starts_in_middle_of_char_p and
10962 ends_in_middle_of_char_p.
10963 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10964 ends_in_middle_of_char_p flag.
10965 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10966
d13f3e2e
GM
10967 * term.c (append_glyph): Revert change of 2000-06-06.
10968
10969 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10970 padding glyph not fitting on line as whole character not
10971 fitting on line.
10972
5f1aea9a
GM
10973 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10974 this isn't true for images with `:ascent 100'.
10975
10cda9b0
KH
109762000-06-06 Kenichi Handa <handa@etl.go.jp>
10977
ed00559d
KH
10978 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10979 as modified if it is originally unmodified.
10980
10cda9b0
KH
10981 * term.c (encode_terminal_code): Change the way to check if
10982 terminal coding does any conversion.
10983 (append_glyph): Set glyph->pixel_width correctly.
10984
10985 * xdisp.c (display_line): While checking line continuation, pay
10986 attention to a padding glyph.
10987
1969fae2
GM
109882000-06-05 Gerd Moellmann <gerd@gnu.org>
10989
10990 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10991
162ccef4
DL
109922000-06-05 Dave Love <fx@gnu.org>
10993
f19f32dd
DL
10994 * xdisp.c: Include fontset.h.
10995
10996 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10997
10998 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10999
11000 * dispnew.c: Conditionally include term.h.
11001
11002 * coding.h: Declare code_convert_string_norecord.
11003
11004 * frame.h (struct frame): Use volatile unconditionally.
11005
11006 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11007
11008 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11009
11010 * systime.h: Protect against multiple inclusion.
11011 (timezone) [USG5_4]: Define as time_t.
11012
11013 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11014 (Foptimize_char_table, make_temp_name): Declare.
11015
11016 * Makefile.in (xdisp.o): Depend on fontset.h.
11017
11018 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11019
11020 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11021 (Foptimize_char_table, make_temp_name): Declare.
11022
427ec082 11023 * s/irix4-0.h:
162ccef4
DL
11024 * s/irix5-0.h:
11025 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11026
2082fe81
DL
110272000-06-02 Dave Love <fx@gnu.org>
11028
11029 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11030
dcf671d2
GM
110312000-06-02 Gerd Moellmann <gerd@gnu.org>
11032
11033 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11034 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11035 be freed.
11036
11037 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11038 glyph, use the ASCII NUL character to determine the face.
11039
d42122a3
DL
110402000-06-02 Dave Love <fx@gnu.org>
11041
11042 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11043 (VFORK_RETURN_TYPE): Remove.
427ec082 11044
d42122a3
DL
11045 * config.in: Add NO_MATHERR.
11046
dd432f16
DL
110472000-06-01 Dave Love <fx@gnu.org>
11048
90aa4ea8
DL
11049 * cmds.c (internal_self_insert): Don't check
11050 Vbefore_change_function, Vafter_change_function.
11051
11052 * insdel.c (signal_before_change, signal_after_change): Likewise.
11053
11054 * buffer.c (Vbefore_change_function, Vafter_change_function):
11055 Variables and their initializations deleted.
11056
2330c9d4
DL
11057 * callint.c (Fcall_interactively): Doc fix.
11058
dd432f16
DL
11059 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11060
bf9e8804
DL
110612000-05-31 Dave Love <fx@gnu.org>
11062
11063 * textprop.c: Revert last change -- duplicated.
11064
3694b4ab
GM
110652000-05-31 Gerd Moellmann <gerd@gnu.org>
11066
11067 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11068 in #if 0.
11069
11070 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11071
f14156cd
JR
110722000-05-31 Jason Rumney <jasonr@gnu.org>
11073
8119aab8
JR
11074 * search.c (Fre_search_forward, Fre_search_backward)
11075 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11076
f14156cd
JR
11077 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11078
4aab9be3
JR
110792000-05-30 Jason Rumney <jasonr@gnu.org>
11080
11081 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11082 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11083
52283633 11084 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11085
11086 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11087 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11088 expand a nil default_filename.
11089
11090 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11091 pointer to glyph_to_pixel_coords, not a frame.
11092
11093 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11094 coding.h to dependencies.
11095
11096 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11097
11098 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11099 window pointer to be consistent with w32term.c and xterm.c.
11100
11101 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11102 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11103 (Qline_spacing, Qcenter): New variables.
11104 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11105 (x_set_line_spacing): New function.
52283633 11106 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11107 (x_specified_cursor_type): New function.
11108 (x_set_cursor_type): Use it.
11109 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11110 and icon strings.
11111 (validate_x_resource_name, x_get_resource_string): Measure lengths
11112 of external strings in bytes.
11113 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11114 GetTextExtentPoint32 with NULL title.
11115 (Fx_create_frame): Initialize Qline_spacing.
11116 (w32_load_system_font): Initialize font->double_byte_p.
11117 (x_to_w32_charset): Use Vw32_charset_info_alist.
11118 (Image, busy cursor, tooltip functions): Merged changes from
11119 xfns.c. Not yet functional on Windows.
11120
11121 * w32gui.h (W32FontStruct): Add double_byte_p member.
11122
11123 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11124 (emacs_button_translation): Use it.
11125 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11126 in `mask' to be set.
11127
11128 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11129 menu strings.
11130
11131 * w32term.c: Format and doc changes to bring closer to xterm.c.
11132 (w32_char_font_type): New enum.
11133 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11134 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11135 (w32_encode_char): New function.
11136 (x_encode_char): Removed.
11137 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11138 x_encode_char and w32_font_is_double_byte.
11139 (x_produce_image_glyph): Use image_ascent.
11140 (x_produce_glyphs): Use new version of w32_per_char_metric and
11141 handle NULL return value. Allow extra line spacing.
11142 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11143 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11144 w32_font_type member of glyph instead.
11145 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11146 (fast_find_position): Make sure not to consider rows not visible
11147 in the window.
11148 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11149 w32_menu_display_help with input blocked, as it can abort.
11150 (x_display_and_set_cursor): Choose cursor depending
11151 on buffer-local value of cursor_type.
11152 (x_draw_bar_cursor): Add parameter WIDTH.
11153
11154 * w32term.h (CP_DEFAULT): Define.
11155 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11156
10fc3187
GM
111572000-05-30 Gerd Moellmann <gerd@gnu.org>
11158
11159 * search.c (Fre_search_forward, Fre_search_backward)
11160 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11161
d0555360
KH
111622000-05-30 Kenichi Handa <handa@etl.go.jp>
11163
11164 * coding.c (detect_coding_iso2022): Fix code for checking
11165 CODING_CATEGORY_MASK_ISO_8_2.
11166
f1ad044f
SM
111672000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11168
11169 * regex.c (PREFETCH_NOLIMIT): New function.
11170 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11171
84ec3b4b
GM
111722000-05-29 Gerd Moellmann <gerd@gnu.org>
11173
66254a13
GM
11174 * syntax.c (find_defun_start): Move test for
11175 open_paren_in_column_0_is_defun_start outside of the loop.
11176
49e70dec
GM
11177 * xdisp.c (redisplay_window): Really switch buffers when
11178 displaying mode lines, and temporarily set selected_frame to the
11179 frame of the window that's redisplayed.
11180
84ec3b4b
GM
11181 * xfaces.c (free_realized_faces): Block/unblock input.
11182 (free_realized_multibyte_face): Ditto.
11183
869a3a14
DL
111842000-05-29 Dave Love <fx@gnu.org>
11185
11186 * textprop.c (Qkeymap): New variable.
11187 (syms_of_textprop): Intern it.
11188
11189 * keymap.c: Include intervals.h.
11190 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11191
11192 * Makefile.in (keymap.o): Depend on intervals.h.
11193
11194 * keyboard.c (menu_bar_items, tool_bar_items)
11195 (Fexecute_extended_command): Deal with `keymap' property.
11196 (read_key_sequence): Track map from `keymap' property as well as
11197 `local_map'.
11198
11199 * intervals.c (get_local_map): Extra arg to allow looking for
11200 `keymap' too.
11201
11202 * intervals.h (map_property): New enum.
11203 (get_local_map): Extra arg using it.
11204 (Qkeymap): Declare.
11205
84ec3b4b 11206 * lisp.h (get_local_map): Don't declare here.
869a3a14 11207
89d0c844
KH
112082000-05-29 Kenichi Handa <handa@etl.go.jp>
11209
11210 * Makefile.in (callproc.o): Depend on composite.h.
11211
11212 * callproc.c: Include composite.h.
11213 (Fcall_process): Handle composition correctly.
11214
11215 * coding.h (coding_allocate_composition_data): Extern it.
11216 (coding_restore_composition): Likewise.
11217
11218 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11219 yet allocated, finish decoding with result
11220 CODING_FINISH_INSUFFICIENT_CMP.
11221 (coding_allocate_composition_data): Make it non-static.
11222 (coding_restore_composition): Likewise.
11223
797a084a
EZ
112242000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11225
11226 * charset.c (syms_of_charset): Revert last change.
11227
cf872af5
EZ
112282000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11229
11230 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11231 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11232 Handa.
cf872af5 11233
5b1ae051
EZ
112342000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11235
11236 * charset.c (syms_of_charset): Set width of character sets
11237 eight-bit-control and eight-bit-graphic to 1 column.
11238
34ec9ebe
GM
112392000-05-26 Gerd Moellmann <gerd@gnu.org>
11240
11241 * config.in (HAVE_SPEED_T): New define.
11242
11243 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11244 `extern speed_t'.
11245
dd854dc2
DL
112462000-05-26 Dave Love <fx@gnu.org>
11247
11248 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11249
11250 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11251 (Fsubr_arity): New function.
11252 (syms_of_data): Install them.
11253
ba9f8f95
KH
112542000-05-26 Kenichi Handa <handa@etl.go.jp>
11255
0f3e0672
KH
11256 * charset.c (init_charset_once): Set the table bytes_by_char_head
11257 correctly.
11258
cebefb44
KH
11259 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11260 the default fontset to what Emacs uses by default.
0f3e0672
KH
11261 (check_registry_encoding): This function deleted.
11262 (Fset_fontset_font): Remove the adhoc condition for the default
11263 fontset. Allow cons in FONTNAME.
cebefb44 11264
0f3e0672
KH
11265 * fns.c (map_char_table): Ignore char-table entries for
11266 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11267
7a18af49
KR
112682000-05-25 Ken Raeburn <raeburn@gnu.org>
11269
11270 * emacs.c (main): Initialize keyboard syms before initializing
11271 window code, so face names are available.
11272
d2af47df
SM
112732000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11274
11275 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11276 of an anchor at the beginning of a shy-group.
11277
fc6a6a4e
GM
112782000-05-25 Gerd Moellmann <gerd@gnu.org>
11279
11280 * xdisp.c (handle_invisible_prop): Don't try to skip over
11281 invisible text if end of text is already reached.
11282
005f0d35
DL
112832000-05-25 Dave Love <fx@gnu.org>
11284
02513cdd
DL
11285 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11286
005f0d35
DL
11287 * coding.c (encode_eol): Add null statement after label.
11288
89f6ca4e
EZ
112892000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11290
11291 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11292 2000-05-20.
11293
a4e1759e
KH
112942000-05-25 Kenichi Handa <handa@etl.go.jp>
11295
11296 * ccl.c (ccl_driver): Fix previous change.
11297
eacfd7fe
KH
112982000-05-25 Kenichi Handa <handa@etl.go.jp>
11299
46ab33a9
KH
11300 * coding.c (run_pre_post_conversion_on_str): Set point to the
11301 beginning of buffer before calling coding->post_read_conversion.
11302 (decode_coding_string): Give correct args to
11303 run_pre_post_conversion_on_str.
11304 (encode_coding_string): Likewise.
11305
eacfd7fe
KH
11306 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11307 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11308 eight-bit-graphic correctly.
11309
f8569325
DL
113102000-05-24 Kenichi HANDA <handa@etl.go.jp>
11311
11312 * fileio.c (Finsert_file_contents): Even if a file is not found,
11313 execute codes for setting up coding system. Call
11314 after-insert-file-functions unconditionally.
11315
04545643
GM
113162000-05-24 Gerd Moellmann <gerd@gnu.org>
11317
11318 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11319 BSD_PGRPS are not defined.
11320
747d90ea
KH
113212000-05-24 Kenichi Handa <handa@etl.go.jp>
11322
11323 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11324 DESCRIPTION.
11325 (syms_of_charset): Avoid building same strings.
11326
716e3b88
GM
113272000-05-23 Gerd Moellmann <gerd@gnu.org>
11328
11329 * lread.c (Fload): Add a comment about the meaning of
11330 Vuser_init_file being t.
11331
11332 * puresize.h (BASE_PURESIZE): Increase to 675000.
11333
11334 * s/gnu-linux.h (setpgrp): Don't define it here because this
11335 prevents compilation on GNU/Linux systems with glib 2.2.
11336
11337 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11338 as setpgid.
427ec082 11339
9aeb39fa
EZ
113402000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11341
11342 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11343 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11344 version.
11345 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11346
29ced61b
KH
113472000-05-23 Kenichi Handa <handa@etl.go.jp>
11348
52283633 11349 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11350
3d80f24d
KH
11351 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11352
52283633 11353 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11354
29ced61b
KH
11355 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11356
d7e00792
KH
113572000-05-22 Kenichi Handa <handa@etl.go.jp>
11358
c9d80d38
KH
11359 * keyboard.c (read_char): Allow character codes 128..255 to be
11360 handled by input-method-function.
11361
d7e00792
KH
11362 * insdel.c (adjust_markers_for_replace): Fix previous change.
11363 (adjust_after_replace): If PREV_TEXT is nil, call
11364 adjust_markers_for_insert, not adjust_markers_for_replace.
11365
087121cc 113662000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11367
087121cc
GM
11368 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11369 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11370 [HAVE_GRANDPT]: Define.
11371 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11372
11373 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11374 like SYSV_PTYS.
11375
11376 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11377
11378 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11379
c9671f81
KH
113802000-05-20 Kenichi Handa <handa@etl.go.jp>
11381
11382 The following changes are to handle 8-bit characters in a
11383 multibyte buffer/string without facing with byte combining
11384 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11385 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11386
11387 * Makefile.in (fns.o): Depend on charset.h.
11388
11389 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11390 convert it to unibyte.
11391 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11392
11393 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11394 apparent char boundary.
11395 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11396 0x80..0x9F to/from multibyte form.
11397
11398 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11399 to unibyte.
11400
11401 * callproc.c (Fcall_process): Always encode an argument string if
11402 it is multibyte. Setup src_multibyte and dst_multibyte members of
11403 process_coding properly.
ce75fd23 11404
c9671f81
KH
11405 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11406 SPLIT_NON_ASCII_CHAR.
11407
11408 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11409 as is.
11410 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11411
52283633 11412 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11413 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11414 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11415 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11416 and eight-bit-graphic.
11417 (char_to_string): Likewise. Signal an error for too large
11418 character code.
11419 (char_printable_p): Return 0 for 8-bit characters.
11420 (update_charset_table): Update iso_charset_table only when a final
11421 character is non-negative.
11422 (find_charset_in_text): Renamed from find_charset_in_str.
11423 Arguments and return value changed. Callers changed.
11424 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11425 be -1 if CHARSET is used only internally.
11426 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11427 eight-bit-graphic.
11428 (Fcharset_after): Simplified.
11429 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11430 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11431 (multibyte_chars_in_text): Simplified by assuming there's no
11432 invalid multibyte sequence.
52283633
SM
11433 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11434 (str_as_unibyte): New functions.
11435 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11436 (init_charset_once): Initialization for
11437 LEADING_CODE_8_BIT_CONTROL.
11438 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11439 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11440 eight-bit-control and eight-bit-graphic.
11441
52283633
SM
11442 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11443 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11444 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11445 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11446 (CHARSET_REVERSE_CHARSET): Likewise.
11447 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11448 eight-bit-graphic.
11449 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11450 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11451 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11452 encounter an invalid multibyte sequence.
11453 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11454 sequence is always valid.
11455 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11456 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11457 (CHAR_STRING): For 8-bit characters, call char_to_string.
11458 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11459 multibyte sequence is always valid.
11460 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11461 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11462 (str_as_unibyte): Extern them.
c9671f81 11463 (BCOPY_SHORT): Fix a bug.
52283633 11464 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11465 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11466 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11467 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11468
bd4bde7f 11469 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11470 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11471 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11472 (EMIT_BYTES): New macros.
11473 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11474 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11475 macros deleted.
11476 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11477 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11478 check the validity of multibyte sequence.
11479 (decode_coding_emacs_mule): New function.
11480 (encode_coding_emacs_mule): New macro.
11481 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11482 the source.
11483 (DECODE_ISO_CHARACTER): Just return a character code.
11484 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11485 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11486 EMIT_CHAR to produced decoded characters. Exit the loop only by
11487 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11488 block here.
11489 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11490 only position codes for an invalid character.
11491 (encode_designation_at_bol): Return new destination pointer. 5th
11492 arg DSTP is changed to DST.
11493 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11494 from the source by ONE_MORE_CHAR. Don't handle the case of last
11495 block here.
11496 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11497 macros deleted.
52283633
SM
11498 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11499 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11500 TWO_MORE_BYTES to fetch a byte from the source.
11501 (encode_eol): Pay attention to coding->src_multibyte.
11502 (detect_coding, detect_eol): Preserve members src_multibyte and
11503 dst_multibyte.
11504 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11505 (encoding_buffer_size): Set magnification to 3 for all coding
11506 systems that require encoding.
11507 (ccl_coding_driver): For decoding, be sure that the result is
11508 valid multibyte sequence.
11509 (decode_coding): Initialize coding->errors and coding->result.
11510 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11511 and raw-text, always call decode_eol. Handle the case of last
11512 block here. If not coding->dst_multibyte, convert the resulting
11513 sequence to unibyte.
11514 (encode_coding): Initialize coding->errors and coding->result.
11515 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11516 and raw-text, always call encode_eol. Handle the case of last
11517 block here.
11518 (shrink_decoding_region, shrink_encoding_region): Detect cases
11519 that we can't skip data more rigidly.
11520 (code_convert_region): Setup src_multibyte and dst_multibyte
11521 members of coding. For decoding, if the buffer is multibyte,
11522 convert the source sequence to unibyte in advance. For encoding,
11523 if the buffer is multibyte, convert the resulting sequence to
11524 multibyte afterward.
11525 (run_pre_post_conversion_on_str): New function.
11526 (code_convert_string): Deleted and divided into the following two.
11527 (decode_coding_string, encode_coding_string): New functions.
11528 (code_convert_string1, code_convert_string_norecord): Call one of
11529 above.
11530 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11531 MAKE_NON_ASCII_CHAR.
52283633
SM
11532 (Fset_terminal_coding_system_internal)
11533 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11534 and dst_multibyte members.
11535 (init_coding_once): Initialize iso_code_class with new enum
11536 ISO_control_0 and ISO_control_1.
11537
11538 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11539 devided into ISO_control_0 and ISO_control_1.
11540 (struct coding_system): New members src_multibyte, dst_multibyte,
11541 errors, and result. Delete member fake_multibyte.
11542 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11543 nonzero.
11544 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11545 nonzero.
11546
11547 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11548 (Faset): Likewise.
11549
11550 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11551 multibyte form.
11552 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11553 combining occurs.
11554 (Ftranspose_region): Delete codes for handling byte combining.
11555
11556 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11557 dst_multibyte members of coding. On handling REPLACE on unibyte
11558 buffer, convert the result of decode_coding to unibyte. On
11559 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11560 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11561 multibyteness of the source (buffer or string).
11562
11563 * fns.c (concat): Handle 8-bit characters correctly.
11564 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11565 unibyte in the result.
11566 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11567 valid multibyte form in the result.
11568 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11569 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11570 return -1, signal an error.
11571 (base64_encode_1): New arg MULTIBYTE. Get each character by
11572 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11573 character is found, return -1.
11574 (Fbase64_decode_region): Delete codes for handling byte-combining.
11575 Treat each decoded byte as a unibyte character.
11576 (Fbase64_decode_string): Return unibyte string.
11577 (Fcompare_strings, concat, string_byte_to_char): Use
11578 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11579 FETCH_STRING_CHAR_ADVANCE.
11580 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11581 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11582
11583 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11584 SPLIT_NON_ASCII_CHAR.
11585 (fontset_ref_via_base, fontset_set): Likewise
11586
11587 * insdel.c (adjust_markers_for_record_delete): Deleted.
11588 (adjust_markers_for_insert): Argument changed. Caller changed.
11589 (adjust_markers_for_replace): Likewise.
52283633
SM
11590 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11591 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11592 (copy_text): Delete unused local varialbe c_save. For converting
11593 to multibyte, be sure to make all 8-bit characters in valid
11594 multibyte form.
11595 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11596 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11597 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11598 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11599 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11600 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11601 handling byte combining.
11602 (adjust_before_replace): Deleted.
427ec082 11603
c9671f81
KH
11604 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11605 SPLIT_NON_ASCII_CHAR.
11606 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11607 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11608 (Fkey_description): Likewise.
11609
11610 * lread.c (read1): On reading multibyte string, be sure to make
11611 all 8-bit chararacters in valid multibyte form.
11612 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11613
11614 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11615 unconditionally.
11616
11617 * process.c (Fstart_process): GCPRO current_dir before calling
11618 Ffind_operation_coding_system. Encode arguments here.
11619 (create_process): Don't encode arguments here. Setup
11620 src_multibyte and dst_multibyte members of struct coding.
11621 (read_process_output): Setup src_multibyte and dst_multibyte
11622 members of struct coding. If the output is to multibyte buffer,
11623 always decode the output of the process. Adjust the
52283633 11624 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11625 (send_process): Setup coding->src_multibyte according to the
11626 multibyteness of the source.
11627
52283633 11628 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11629 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11630 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11631
52283633 11632 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11633
11634 * w16select.c (Fw16_set_clipboard_data): Setup members
11635 src_multibyte and dst_multibyte of coding. Adjusted for the
11636 change for find_charset_in_str.
11637 (Fw16_get_clipboard_data): Likewise.
11638
11639 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11640 dst_multibyte of coding.
11641 (x_to_w32_font): Likewise.
11642
11643 * w32select.c (Fw32_set_clipboard_data): Setup members
11644 src_multibyte and dst_multibyte of coding. Adjusted for the
11645 change for find_charset_in_str.
11646 (Fw32_get_clipboard_data): Likewise.
11647
11648 * xdisp.c (get_next_display_element): Handle 8-bit characters
11649 correctly.
52283633
SM
11650 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11651 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11652
11653 * xselect.c (selection_data_to_lisp_data): Setup members
11654 src_multibyte and dst_multibyte of coding. Adjusted for the
11655 change for find_charset_in_str.
11656 (lisp_data_to_selection_data): Likewise.
11657
5f64c9e0
GM
116582000-05-19 Gerd Moellmann <gerd@gnu.org>
11659
52283633 11660 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11661
5f64c9e0
GM
11662 * dispextern.h (Vimage_types): Add extern declaration.
11663
11664 * xdisp.c (Vimage_types): Moved here from xfns.c.
11665 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11666
11667 * xfns.c (Vimages_types): Moved to xdisp.c.
11668 (syms_of_xfns): Move `image-types' to xdisp.c.
11669
11670 * w32fns.c (Vimage_types): Removed.
11671 (syms_of_w32fns): Remove `image-types'.
11672
813086ea
KH
116732000-05-18 Kenichi Handa <handa@etl.go.jp>
11674
11675 * fns.c (map_char_table): Pay attention to character number of
11676 charset. Check the validity of charset at the first level. For
11677 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11678 the default value.
11679
11680 * fontset.c: Include "buffer.h".
11681 (fs_load_font): If the face has fontset, record the face ID in
11682 that fontset.
11683 (Finternal_char_font): New function.
11684 (accumulate_font_info): New function.
11685 (Ffontset_info): Rewritten for the new fontset implementation.
11686 (syms_of_fontset): Register Vdefault_fontset in the first element
11687 of Vfontset_table. Include Vdefault_fontset in
11688 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11689 function.
11690
bdaebbf0
DL
116912000-05-16 Dave Love <fx@gnu.org>
11692
11693 * m/iris5d.h: Deleted -- unused.
11694
cb613bb8
GM
116952000-05-16 Gerd Moellmann <gerd@gnu.org>
11696
b15f3b77
GM
11697 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11698 `invalid' instead of `illegal'.
11699
11700 * indent.c (Fmove_to_column): When ending within a tab, insert
11701 spaces first so that markers at the end of the tab get adjusted.
11702
835c1b36
GM
11703 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11704 buffer list that wasn't selected in that frame.
11705
cb613bb8
GM
11706 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11707 is needed on mescaline, use a 2 char prefix, and call
11708 make_temp_name with second arg non-zero.
11709
11710 * fileio.c (make_temp_name): New function, extracted from
11711 Fmake_temp_name.
11712 (Fmake_temp_name): Use it.
11713
f685bea9
EZ
117142000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11715
52283633 11716 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11717
a1b8d58b
GM
117182000-05-15 Gerd Moellmann <gerd@gnu.org>
11719
11720 * Makefile.in (lisp): Add env.elc.
11721
11722 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11723
a265079f
GM
117242000-05-12 Gerd Moellmann <gerd@gnu.org>
11725
11726 * search.c (Freplace_match): Handle case of `\N' in the
11727 replacement when there's no group N.
11728
da4496b6
GM
117292000-05-11 Gerd Moellmann <gerd@gnu.org>
11730
0ace421a
GM
11731 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11732 of the message to message_dolog.
11733
1172eb8d
GM
11734 * keyboard.c (read_char): Don't clear current message for help
11735 events; let the code handling help events handle this. Change
11736 code detecting help events that should be ignored.
11737
da4496b6
GM
11738 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11739 we're interating over a string.
11740
0623e40f
DL
117412000-05-09 Dave Love <fx@gnu.org>
11742
11743 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11744 that offset before writing. Move gcpro region past call of
11745 Ffile_regular_p.
11746
bae2503b
DL
117472000-05-04 Dave Love <fx@gnu.org>
11748
11749 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11750
ec82fb2f
GM
117512000-05-04 Gerd Moellmann <gerd@gnu.org>
11752
11753 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11754 of inserted characters when BUF equals the current buffer, and PT
11755 is in front of or equal to FROM.
11756
cbf18892
GM
117572000-05-03 Gerd Moellmann <gerd@gnu.org>
11758
4ff40dd0
GM
11759 * xdisp.c (handle_single_display_prop): If display property value
11760 is invalid, or something not supported on the frame, restore
11761 iterator's position to what it was initially. Make sure to return
11762 0 for invalid and unsupported property values.
11763
cbf18892
GM
11764 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11765 that x_per_char_metric returns null.
11766
1b0672c3
GM
117672000-05-02 Gerd Moellmann <gerd@gnu.org>
11768
576da55d
GM
11769 * xterm.h (struct face): Add forward declaration.
11770 (struct image): Ditto.
11771 (image_ascent): Add prototype.
11772
11773 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11774 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11775 image_ascent instead of using IMAGE_ASCENT.
11776
11777 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11778 (IMAGE_ASCENT): Removed.
11779
11780 * xfns.c (Qcenter): New variable.
11781 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11782 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11783 (image_ascent): New function.
11784 (lookup_image): Recognize `:ascent center'.
11785 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11786 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11787 (xbm_load): Don't set image's ascent here.
11788 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11789 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11790 check ascent values here.
11791 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11792 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11793 (syms_of_xfns): Initialize Qcenter.
11794
1b0672c3
GM
11795 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11796 to the limits, increase the limits.
11797
0d7811ed
KH
117982000-05-01 Kenichi Handa <handa@etl.go.jp>
11799
11800 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11801 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11802
a943a5ca
GM
118032000-04-28 Gerd Moellmann <gerd@gnu.org>
11804
11805 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11806 taller than the window.
11807
5dba1e29
KH
118082000-04-28 Kenichi Handa <handa@etl.go.jp>
11809
11810 * xfaces.c (realize_x_face): Fix the argument of the second
11811 xassert. BASE_FACE may not be a face for ASCII.
11812
353964e3
GM
118132000-04-27 Gerd Moellmann <gerd@gnu.org>
11814
c76e04a8
GM
11815 * print.c (print_object): Treat print-length < 0 as nil.
11816
11817 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11818
11819 * s/freebsd.h (TERMCAP_OBJ): Removed.
11820 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11821
11822 * lread.c (read1): Don't treat period followed by certain
11823 characters as symbol start.
11824
11825 * xfns.c (slurp_file): New function.
11826 (xbm_image_p): Handle case of in-memory XBM files.
11827 (xbm_scan): Rewritten to work on memory buffers instead of files.
11828 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11829 Work on memory buffers instead of files. If DATA is null test
11830 if buffer looks like an in-memory XBM file.
11831 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11832 memory buffers instead of files.
11833 (xbm_file_p): New function.
11834 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11835
353964e3
GM
11836 * lread.c (end_of_file_error): New function.
11837 (read1): Call it instead of signaling `end-of-file' directly.
11838
427ec082 11839 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11840 with Fprinc instead of Fprin1.
11841
24d744ac
KR
118422000-04-26 Ken Raeburn <raeburn@gnu.org>
11843
11844 * window.c (freeze_window_start): Check that minibuffer scroll
11845 window isn't nil before extracting the window structure pointer
11846 from it.
11847
11848 * undo.c (record_delete): If we hit the end of the undo list, stop
11849 picking elements apart.
11850
7464346d
GM
118512000-04-26 Gerd Moellmann <gerd@gnu.org>
11852
11853 * xdisp.c (display_line): If lines are continued, restore
11854 iterator's ascent/descent information to the values before the
11855 first glyph not fitting on the line.
11856
612839b6
GM
118572000-04-25 Gerd Moellmann <gerd@gnu.org>
11858
11859 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11860 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11861
11862 * dispnew.c (increment_matrix_positions): Renamed from
11863 increment_glyph_matrix_buffer_positions.
11864 (increment_row_positions): Renamed from
11865 increment_glyph_row_buffer_positions.
11866
11867 * dispextern.h: Change names of renamed functions from dispnew.c
11868 in prototypes.
11869
cc181e95
GM
118702000-04-24 Gerd Moellmann <gerd@gnu.org>
11871
abfcc168
GM
11872 * fileio.c (Fdo_auto_save): Create directories for auto-save
11873 list file if necessary.
11874
cc181e95
GM
11875 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11876 from buffer or frame.
11877 (automatic_hscrolling_p): New variable.
11878 (hscroll_windows): Scroll windows horizontally only if automatic
11879 hscrolling is allowed.
11880 (syms_of_xdisp): New variable `automatic-hscrolling'.
11881
11882 * frame.h (struct frame): Add member extra_line_spacing.
11883
11884 * xfns.c (x_set_line_spacing): New function.
11885 (Fx_create_frame): Set line spacing from resources.
11886 (Qline_spacing): New variable.
11887 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11888
cc181e95
GM
11889 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11890
11891 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11892 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11893 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11894 extra_line_spacing from default value.
11895 (init_buffer_once): Initialize default value of extra_line_spacing.
11896
11897 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11898 and extra3.
11899
11900 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11901 prompt_width. Add extra line spacing.
11902
11903 * term.c (produce_glyphs): Remove reference to struct it's
11904 prompt_width.
11905
11906 * dispextern.h (struct it): Remove member prompt_width, add
11907 extra_line_spacing.
11908
58827478
GM
119092000-04-22 Gerd Moellmann <gerd@gnu.org>
11910
11911 * dispnew.c (update_frame_line): When writing a whole line, make
11912 sure cursor is in the right row afterwards, otherwise a use of
11913 capability `ch' in cmgoto might leave the cursor in the row below.
11914
25a87f42
GM
119152000-04-21 Gerd Moellmann <gerd@gnu.org>
11916
11917 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11918
11919 * keyboard.c (timer_check): Fix typo in comment.
11920
54edf5c2
KH
119212000-04-21 Kenichi Handa <handa@etl.go.jp>
11922
11923 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11924 name change: ch -> character.
11925
3a64eef5
GM
119262000-04-20 Gerd Moellmann <gerd@gnu.org>
11927
11928 * keyboard.c (echo_message_buffer): New variable.
11929 (echo_now): Set echo_message_buffer to the echo area buffer used
11930 to display the echo.
11931 (cancel_echoing): Reset echo_message_buffer to nil.
11932 (read_char): Code rewritten that handles canceling an echo or
11933 echoing a dash, respectively.
11934
11935 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11936 directory doesn't exist.
11937
6142fdcb
DL
119382000-04-19 Dave Love <fx@gnu.org>
11939
11940 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11941 (concat): Don't allow numeric args.
11942 (Fconcat): Doc change.
6142fdcb 11943
ac6b5352
SM
119442000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11945
11946 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11947 instead define end_match(1|2) more carefully.
11948 Use GET_CHAR_BEFORE_2 for `begline'.
11949
cb9215e4
GM
119502000-04-19 Gerd Moellmann <gerd@gnu.org>
11951
5e3dac3f
GM
11952 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11953 on 64-bit systems where NULL is defined as `0'.
11954
11955 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11956 the `variable argument list' to make it work on Alpha.
11957
cb9215e4
GM
11958 * m/alpha.h (_LP64) [!_LP64]: Define.
11959 (ORDINARY_LINK): Define for NetBSD.
11960
11961 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11962
f532dca0
DL
119632000-04-19 Dave Love <fx@gnu.org>
11964
c750667e
DL
11965 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11966 change.
11967
11968 * Makefile.in (LIBS): Don't use.
11969 (GETLOADAVG_OBJ): Define again.
11970 (otherobj): Add GETLOADAVG_OBJ.
11971
f532dca0
DL
11972 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11973
1c7e22fd
GM
119742000-04-18 Gerd Moellmann <gerd@gnu.org>
11975
f6d3257b
GM
11976 * lread.c (read_filtered_event): Cancel and start busy cursor.
11977
427ec082 11978 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11979 that the per-character metrics may be null.
11980
e10f64e7
GM
119812000-04-17 Gerd Moellmann <gerd@gnu.org>
11982
0daee095
GM
11983 * buffer.c (clone_per_buffer_values): New function.
11984 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11985 clone_per_buffer_values if CLONE is not nil.
11986
e10f64e7
GM
11987 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11988
38687d43
DL
119892000-04-16 Dave Love <fx@gnu.org>
11990
11991 * Makefile.in: Remove obsolete localcpp stuff.
11992 (GETLOADAVG_OBJ): Don't define.
11993 (obj): Move LIBOBJS...
11994 (otherobj): ... to here.
11995 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11996 whitespace-only lines after the continuation (Irix).
11997
c21c7262
GM
119982000-04-14 Gerd Moellmann <gerd@gnu.org>
11999
12000 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12001
12002 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12003
314767c0
DL
120042000-04-14 Dave Love <fx@gnu.org>
12005
12006 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12007 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12008 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12009 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12010 NLIST_STRUCT.
12011
12012 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12013 autoconfiscated HAVE_GETLOADAVG.
12014
12015 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12016 BROKEN_MKTIME.
12017
a2522dca
GM
120182000-04-14 Gerd Moellmann <gerd@gnu.org>
12019
12020 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12021 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12022
33744b5d
DL
120232000-04-14 Dave Love <fx@gnu.org>
12024
c21c7262 12025 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12026 (INTERVAL_SRC): Convert to make variable.
12027 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12028 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12029 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12030 add LIBOBJS.
12031 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12032 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12033 (shortlisp): Add facemenu, float-sup, frame.
12034 (SOME_MACHINE_LISP): Remove them from here.
12035 (LIBES): Change unused LDLIBS to autoconf LIBS.
12036
12037 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12038
9d3d5916
KH
120392000-04-14 Kenichi Handa <handa@etl.go.jp>
12040
12041 * composite.c (update_compositions): If FROM and TO are not in a
12042 valid range, do nothing.
12043
198e3c7a
GM
120442000-04-13 Gerd Moellmann <gerd@gnu.org>
12045
52283633 12046 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12047
52283633 12048 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12049
12050 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12051 as TERMCAP_OBJ.
12052
055a28c9
EZ
120532000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12054
12055 * fileio.c (a_write): Remove redundant semi-colons.
12056 (e_write): Return -1 if failed to write all the data.
12057 This fixes the changes made at 1999-12-15.
12058
f5c75033
DL
120592000-04-12 Dave Love <fx@gnu.org>
12060
12061 * fns.c (mapcar1): Test for null vals to support mapc.
12062 (Fmapc): New function.
12063
0c3cfc51
EZ
120642000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12065
12066 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12067 (IT_frame_up_to_date): Support the buffer local value of
12068 cursor-type, if defined.
12069
33465a31
DL
120702000-04-10 Dave Love <fx@gnu.org>
12071
12072 * editfns.c (preceding-char, following-char): Doc fix.
12073
6ed56568
KR
120742000-04-10 Ken Raeburn <raeburn@gnu.org>
12075
12076 * Makefile.in (temacs): Revert 2000-03-12 change.
12077
7cf80d4e
JR
120782000-04-10 Jason Rumney <jasonr@gnu.org>
12079
12080 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12081
34f3f342
GM
120822000-04-10 Gerd Moellmann <gerd@gnu.org>
12083
1a1b1895
GM
12084 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12085 area buffer, if it's not set up yet.
12086
34f3f342
GM
12087 * indent.c (compute_motion): Set immediate_quit.
12088
be0dbdab
GM
120892000-04-09 Gerd Moellmann <gerd@gnu.org>
12090
52283633 12091 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12092 (realize_tty_face): Suppress boldness if colors are the inverse of
12093 the default colors, and tty_suppress_bold_inverse_default_colors_p
12094 is set.
12095 (Ftty_suppress_bold_inverse_default_colors): New function.
12096 (syms_of_xfaces): Defsubr it.
12097
be0dbdab
GM
12098 * buffer.c (Frestore_buffer_modified_p): New function.
12099 (syms_of_buffer): Defsubr it.
12100
e8413c3b
KR
121012000-04-08 Ken Raeburn <raeburn@gnu.org>
12102
87f67317
KR
12103 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12104 charset id (int) argument, not a charset (Lisp_Object).
12105
e8413c3b
KR
12106 * coding.h (code_convert_string): Declare.
12107 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12108 object, as the fourth argument to code_convert_string.
12109
52283633 12110 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12111 (Fset_fontset_font): Use EQ to compare lisp objects.
12112
7c752c80
KR
121132000-04-05 Ken Raeburn <raeburn@gnu.org>
12114
c0333abc
KR
12115 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12116 a pointer that looks like a lisp object.
12117 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12118 zero, instead see whether it's an integer object, since they can't
12119 have intervals.
12120 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12121
52283633
SM
12122 * dispnew.c (allocate_matrices_for_frame_redisplay)
12123 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12124 to convert between (unsigned) int values and lisp integers.
12125 * keyboard.c (read_key_sequence): Likewise.
12126 * lread.c (substitute_object_recurse): Likewise.
12127 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12128 * minibuf.c (do_completion, Fminibuffer_complete_word)
12129 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12130 * term.c (produce_special_glyphs): Likewise.
12131
12132 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12133 * print.c (print_preprocess, print_object): Likewise.
12134
12135 * search.c (compile_pattern): Use NILP when checking for nil.
12136
74e49b38
KR
12137 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12138 __OPTIMIZE__]: Provide a GNU C macro version that handles
12139 lisp-object unions.
12140 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12141 field, to better cope with ENABLE_CHECKING and calls that modify a
12142 Lisp_Object using its old value.
12143
685e5ed2
GM
121442000-04-04 Gerd Moellmann <gerd@gnu.org>
12145
c407c570
GM
12146 * window.c (compare_window_configurations): Signal an error
12147 if parameters C1 or C2 aren't window configurations.
12148
685e5ed2
GM
12149 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12150 AFTER_POTENTIAL_GC calls around calls to functions that can
12151 signal an error and thus invoke the debugger.
12152
587a49ab
GM
121532000-04-03 Gerd Moellmann <gerd@gnu.org>
12154
62f20204
GM
12155 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12156 an error if decoding fails.
12157
587a49ab
GM
12158 * keyboard.c (lispy_mouse_names): Variable removed.
12159 (Vlispy_mouse_stem): New variable.
12160 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12161 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12162 for any mouse button number. Increase size of mouse_syms and
12163 button_down_location as needed. Call modify_event_symbol with
12164 different arguments.
12165 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12166 Call modify_event_symbol with different arguments.
12167 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12168 for any button number. Call modify_event_symbol with different
12169 arguments.
12170 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12171 Accept a string for NAME_ALIST_OR_STEM.
12172
12173 * lisp.h (larger_vector): Add prototype.
12174
12175 * fns.c (larger_vector): Make externally visible.
12176
12177 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12178
2d1675e4
SM
121792000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12180
12181 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12182 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12183 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12184 we are between str1 and str2.
12185 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12186 (PATFETCH): Use `TRANSLATE'.
12187 (PATFETCH_RAW): Fetch multibyte char if applicable.
12188 (PATUNFETCH): Remove.
12189 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12190 When writing a char, write it directly into the pattern buffer rather
12191 than going needlessly through a temp char-array.
12192 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12193 multibyte magic and remove the useless `#ifdef emacs'.
12194 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12195 buffer.
12196
12197 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12198 conditional on `emacs'.
12199
12200 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12201
cc2d8c6b
KR
122022000-04-01 Ken Raeburn <raeburn@gnu.org>
12203
12204 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12205 non-union-type versions of XMARK and friends here, because XMARK
12206 and friends won't work on an integer field if NO_UNION_TYPE is not
12207 defined.
52283633 12208 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12209
52283633 12210 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12211 (syms_of_composite): Delete local var NARGS, pass an int as first
12212 argument to Fmake_hash_table.
12213
2387b382
KR
12214 * editfns.c (text_property_stickiness): Use NILP to test
12215 Lisp_Object boolean value.
12216 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12217 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12218 problems reading from and changing the same lisp value in an
12219 XSETSTRING call.
12220
27660e89
GM
122212000-04-01 Gerd Moellmann <gerd@gnu.org>
12222
12223 * term.c (TN_no_color_video): New variable.
12224 (term_init): Intitialize TN_no_color_video.
12225 (enum no_color_bit): New enumeration.
12226 (MAY_USE_WITH_COLORS_P): New macro.
12227 (turn_on_face): Use it to determine if attributes may be used
12228 combined with colors.
12229
3578db3c
KR
122302000-04-01 Ken Raeburn <raeburn@gnu.org>
12231
12232 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12233 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12234 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12235 proper accessor macros.
12236 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12237 (grow_mini_window): Fix typo getting int value of root->height.
12238
6fc556fd
KR
12239 * xdisp.c (compute_string_pos): Fix order of arguments to
12240 string_pos_nchars_ahead.
12241 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12242 count arg to variable-arg routines like Frun_hook_with_args and
12243 Fformat.
587a49ab
GM
12244 (back_to_previous_visible_line_start)
12245 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12246 fixed-arg routines like Fget_char_property and Fmake_string.
12247 (reconsider_clip_changes): Use XINT when comparing integer lisp
12248 objects, or passing them as int arguments.
587a49ab
GM
12249 (mark_window_display_accurate, insert_left_trunc_glyphs)
12250 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12251 storing or passing integer values as lisp objects.
12252 (set_cursor_from_row, highlight_trailing_whitespace): Use
12253 INTEGERP, not implicit test against zero, for glyph object.
12254 (try_window_id): Don't use make_number when we want an int value.
12255
12256 * xfaces.c (xlfd_symbolic_value): Make last argument a
12257 Lisp_Object, to be consistent with callers.
12258 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12259 (lface_hash): Apply XFASTINT to lisp values before folding in.
12260
12261 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12262 fill in window width and height. Pass an int, not a lisp object,
12263 as first arg to Finsert.
12264
6e7b2457
GM
122652000-04-01 Gerd Moellmann <gerd@gnu.org>
12266
610d841e
GM
12267 * xfaces.c (realize_basic_faces): Block input while realizing
12268 the faces.
12269
6e7b2457
GM
12270 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12271
12272 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12273
aa110c0c
GM
122742000-03-31 Gerd Moellmann <gerd@gnu.org>
12275
12276 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12277 or ASCII, handle case that per-char metric is null.
aa110c0c 12278
8801a864
KR
122792000-03-30 Ken Raeburn <raeburn@gnu.org>
12280
c6129d7e
KR
12281 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12282
52283633
SM
12283 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12284 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12285 pointer, using eassert.
12286 * frame.h (XFRAME): Likewise.
12287
52283633
SM
12288 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12289 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12290 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12291 * data.c (set_internal): Likewise.
52283633
SM
12292 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12293 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12294 * fileio.c (auto_save_1): Likewise.
12295 * insdel.c (check_markers): Likewise.
12296 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12297 * undo.c (record_insert): Likewise.
12298 * vmsproc.c (child_sig): Likewise.
12299 * window.c (unshow_buffer, window_loop): Likewise.
12300 * xterm.c (x_erase_phys_cursor): Likewise.
12301
8e7af858
GM
123022000-03-30 Gerd Moellmann <gerd@gnu.org>
12303
12304 * xfns.c (free_image_cache): Free the cache structure itself
12305 last, after all its members have been freed.
12306
12307 * lisp.h (xstrdup): Add prototype.
12308
12309 * alloc.c (xstrdup): Moved here from xfaces.c.
12310 (allocating_for_lisp): Variable removed.
52283633 12311 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12312
12313 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12314 of Fsymbol_value.
12315 (xstrdup): Moved to alloc.c.
12316
e0b8c689
KR
123172000-03-29 Ken Raeburn <raeburn@gnu.org>
12318
b96f9fb7
KR
12319 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12320
12321 * emacs.c (main): Fix sense of no-loadup test.
12322
e0b8c689
KR
12323 * config.in (ENABLE_CHECKING): Undef.
12324
12325 * lisp.h (struct interval): Replace "parent" field with a union of
12326 interval pointer and Lisp_Object; add new bitfield to use as
12327 discriminant. Change other flag fields to bitfields.
12328 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12329 is defined and the supplied test fails, print a message and abort.
12330 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12331
12332 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12333 pointers; abort if the value looks like a lisp object.
52283633
SM
12334 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12335 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12336 Modify for new interval parent definition.
12337
52283633
SM
12338 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12339 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12340 addressable lisp object in the interval structure.
12341 (die): New function.
12342 (suppress_checking): New variable.
12343
12344 * intervals.c (interval_start_pos): Just return 0 if there's no
12345 parent object.
12346
f83c5440
GM
123472000-03-29 Gerd Moellmann <gerd@gnu.org>
12348
12349 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12350 and earlier Emacs versions.
12351
12352 * keyboard.c (Ftop_level): Cancel busy-cursor.
12353
12354 * eval.c (call_debugger): Cancel busy-cursor.
12355
fdce64ff
KH
123562000-03-29 Kenichi Handa <handa@etl.go.jp>
12357
12358 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12359 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12360
f6a3f532
SM
123612000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12362
12363 * regex.c (analyse_first): New function obtained by ripping out most
12364 of re_compile_fastmap and generalizing it a little bit so that it
12365 can also just return whether a given (sub)pattern can match the empty
12366 string or not.
12367 (regex_compile): Use `analyse_first' to decide whether the loop-check
12368 needs to be done or not for *, +, *? and +? (the loop check is costly
12369 for non-greedy repetition).
12370 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12371
e9b309ac
DL
123722000-03-28 Dave Love <fx@gnu.org>
12373
52283633 12374 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12375
e9b309ac
DL
12376 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12377
ed0767d8
SM
123782000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12379
12380 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12381 an expression.
12382 (enum re_opcode_t): Update description of succeed_n.
12383 (PATFETCH): Always define.
12384 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12385 operators, char classes, shy-groups and intervals).
12386 Optimize special cases of intervals so as to only use succeed_n and
12387 jump_n when really needed.
12388 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12389 that we don't have to handle the special cases any more.
12390 Simplify on_failure_jump handling as well.
12391
e11e7e46
JR
123922000-03-28 Jason Rumney <jasonr@gnu.org>
12393
12394 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12395
88faab89
GM
123962000-03-27 Gerd Moellmann <gerd@gnu.org>
12397
182ff242
GM
12398 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12399
12400 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12401
182ff242
GM
12402 * alloc.c (mark_maybe_object): New function.
12403 (mark_memory): Use it.
12404 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12405 (setjmp_tested_p, longjmp_done): New variables.
12406 (test_setjmp): New function.
12407 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12408 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12409
c1005d06
GM
12410 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12411 to DEC_TEXT_POS and INC_TEXT_POS.
12412
12413 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12414 with parameter MULTIBYTE_P.
12415
52283633 12416 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12417
7439e5b9 12418 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12419 buffers because it looks for multibyte character byte sequences
12420 which don't exist in unibyte text.
7439e5b9 12421
d9c545da
GM
12422 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12423
11fd416e 12424 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12425 [DEBUG_X_COLORS]: New functions.
12426 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12427
12428 * xfns.c (x_set_cursor_color): Get color reference counts right.
12429
12430 * xterm.c (x_copy_color): New function.
12431 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12432
12433 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12434 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12435 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12436 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12437 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12438 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12439 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12440 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12441 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12442 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12443
11fd416e
GM
12444 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12445 names for handling per-buffer variables.
d9c545da
GM
12446
12447 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12448 instead of MAX_BUFFER_LOCAL_VARS.
12449 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12450
12451 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12452
88faab89
GM
12453 * xfns.c (x_specified_cursor_type): New function.
12454 (x_set_cursor_type): Use it.
12455
12456 * buffer.h (struct buffer): Add cursor_type.
12457
d80f42b7
SM
124582000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12459
12460 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12461 (print_partial_compiled_pattern, re_compile_fastmap):
12462 Handle new opcode.
d80f42b7
SM
12463 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12464 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12465 executing it as well as when popping it off the stack to find infinite
12466 loops in non-greedy repetition operators.
12467
89e80928
GM
124682000-03-26 Gerd Moellmann <gerd@gnu.org>
12469
3d4ff2dd
GM
12470 * doc.c (Qfunction_documentation): New variable.
12471 (syms_of_doc): Initialize Qfunction_documentation.
12472 (Fdocumentation): If FUNCTION is a symbol with non-nil
12473 `function-documentation' property, return a documentation derived
12474 from that.
12475
bd96bd79
GM
12476 * buffer.c (syms_of_buffer): Add default-cursor-type.
12477 (init_buffer_once): Don't let cursor_type have a local value
12478 in every buffer.
12479
19d1bc27
GM
12480 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12481 on buffer-local value of cursor_type.
12482 (x_draw_bar_cursor): Add parameter WIDTH.
12483
12484 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12485 (init_buffer_once): Set default cursor_type value to t.
12486 Mark cursor_type as local everywhere.
12487 (syms_of_buffer): New per-buffer variable cursor-type.
12488
89e80928
GM
12489 * buffer.h (struct buffer): Remove member local_var_flags,
12490 add local_flags.
12491 (MAX_BUFFER_LOCAL_VARS): New macro.
12492 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12493 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12494 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12495 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12496
52283633 12497 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12498
12499 * category.c (Fset_category_table): Use new macros for per-buffer
12500 variables.
12501
12502 * buffer.c (buffer_permanent_local_flags): Make a char array.
12503 (max_buffer_local_idx): New variable.
12504 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12505 for new handling of per-buffer variables.
12506 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12507 (init_buffer_once): Initialize per-buffer vars differently.
12508 Set max_buffer_local_idx.
12509
12510 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12511 variables.
12512
52283633 12513 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12514
12515 * data.c (do_symval_forwarding, store_symval_forwarding)
12516 (find_symbol_value, set_internal, default_value, Fset_default)
12517 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12518 per-buffer variables.
12519
12520 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12521
9a0dd3dc
GM
125222000-03-24 Gerd Moellmann <gerd@gnu.org>
12523
b68c375f
GM
12524 * xterm.c (x_term_init): Unblock input around call1 of
12525 Qvendor_specific_keysyms.
12526
9a0dd3dc
GM
12527 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12528 (find_defun_start): Consider an open parenthesis in column 0
12529 a defun start only if open_paren_in_column_0_is_defun_start is set.
12530 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12531
7973e637
SM
125322000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12533
12534 * eval.c (Fautoload): Add entry in load-history (if after dump).
12535 * lread.c (load-history): Update docstring.
12536
39210e90
GM
125372000-03-24 Gerd Moellmann <gerd@gnu.org>
12538
12539 * indent.c (Fvertical_motion): Always use the current buffer.
12540 Temporarily change the window's buffer, if necessary.
12541
72db3ab5
GM
125422000-03-23 Gerd Moellmann <gerd@gnu.org>
12543
12544 * xterm.c (fast_find_position): Make sure not to consider rows
12545 not visible in the window.
12546
990b2375
SM
125472000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12548
12549 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12550 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12551
ff4df011
JR
125522000-03-22 Jason Rumney <jasonr@gnu.org>
12553
12554 * w32menu.c (single_submenu): Set help string to NULL if none.
12555 (w32_menu_show): Set help string correctly.
12556 (add-menu-item): Set help string in MIIM_DATA for menu item.
12557 Load SetMenuItemInfoA explicitly.
12558 (w32_menu_display_help): New function.
427ec082 12559
ff4df011
JR
12560 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12561 (QCdata): Moved to xdisp.c.
12562
12563 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12564 (Vw32_charset_to_codepage_alist): Removed.
12565 (Vw32_charset_info_alist): New variable.
52283633
SM
12566 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12567 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12568 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12569 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12570 with TODO comment.
12571 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12572 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12573 Define Vw32_charset_info_alist and w32_charset symbols.
12574
125752000-03-22 Jason Rumney <jasonr@gnu.org>
12576
12577 * makefile.nt (w32bdf.obj): Update dependencies.
12578
12579 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12580
12581 * w32fns.c: Include fontset.h after dispextern.h.
12582 (Fx_create_frame): Do not create fontset.
12583 (w32_load_system_font): Doc fix.
12584 (Fx_close_connection): Free full_name if it is not shared.
12585
12586 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12587 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12588 Callers updated.
ff4df011
JR
12589 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12590 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12591 (w32_font_is_double_byte): New function, needs body.
12592 (x_append_glyph): Set glyph->glyph_not_available_p.
12593 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12594 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12595 character, convert it to a unibyte character.
12596 (struct glyph_string): Delete member `charset'.
12597 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12598 calculating it is found.
12599 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12600 the case that per char metric is not available correctly.
12601 (x_fill_glyph_string): Handle the case that the specific glyph is
12602 not available correctly.
12603 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12604 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12605 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12606 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12607 fontset. Don't call FS_LOAD_FONT.
12608
439d5cb4
KR
126092000-03-22 Ken Raeburn <raeburn@gnu.org>
12610
12611 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12612 (INT_LISPLIKE): New macro.
12613 (NULL_INTERVAL_P): Use it.
52283633
SM
12614 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12615 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12616 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12617
12618 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12619 explicit references to "parent" field of struct interval and
12620 associated unclean type conversions.
52283633
SM
12621 * intervals.c (create_root_interval, root_interval, rotate_right)
12622 (rotate_left, balance_possible_root_interval, split_interval_right)
12623 (split_interval_left, interval_start_pos, find_interval)
12624 (next_interval, previous_interval, update_interval)
12625 (adjust_intervals_for_insertion, delete_node, delete_interval)
12626 (adjust_intervals_for_deletion, merge_interval_right)
12627 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12628 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12629 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12630 Likewise.
12631 * syntax.c (update_syntax_table): Likewise.
12632
12633 * intervals.c (reproduce_tree_obj): New function, like
12634 reproduce_tree but takes a Lisp_Object for the parent. Declare
12635 with prototype.
12636 (graft_intervals_into_buffer): Use it when appropriate.
12637 (reproduce_tree): Declare with prototype.
12638 (balance_possible_root_interval): Check that the parent is a lisp
12639 object before trying to examine its type.
12640
ee1c5b21
GM
126412000-03-22 Gerd Moellmann <gerd@gnu.org>
12642
12643 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12644 as strings only if both are known to be strings.
12645
12646 * s/openbsd.h (LIBS_TERMCAP): Undef.
12647
1fb352e0
SM
126482000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12649
12650 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12651 definitions for non-Emacs compilation.
12652 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12653 outside of `#ifdef emacs'.
12654 (print_partial_compiled_pattern): Update.
12655 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12656 (re_compile_fastmap): Merge handling of charset and charset_not (for
12657 emacs and non-emacs compilation as well).
12658 Similarly for (not)categoryspec and (not)syntaxspec.
12659 Don't use the fastmap when reaching `anychar' since the added
12660 complexity is not justified.
12661 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12662 and (not)syntaxspec. Merge (not)categoryspec.
12663
fdaa1f77
KH
126642000-03-22 Kenichi Handa <handa@etl.go.jp>
12665
52283633
SM
12666 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12667 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12668 --without-x.
fdaa1f77 12669
d152fb46
DL
126702000-03-21 Dave Love <fx@gnu.org>
12671
12672 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12673 doc string.
12674
d2cafc8c
GM
126752000-03-21 Gerd Moellmann <gerd@gnu.org>
12676
12677 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12678 (lface_fully_specified_p): Don't check contents of
12679 LFACE_FONT_INDEX because that attribute is optional.
12680 (realize_x_face): Remove now unwarranted xassert.
12681
9111d4b5
KH
126822000-03-21 Kenichi HANDA <handa@etl.go.jp>
12683
12684 The following changes are to make font selection based on
12685 characters, not charset. In addition, they recover fontset
12686 facilities while utilizing the new font selection mechanism.
12687
6c4bfdc0
KH
12688 * Makefile.in (fontset.o): Depend on dispextern.h.
12689
12690 * alloc.c (mark_face_cache): Don't mark face->registry.
12691
9111d4b5
KH
12692 * dispextern.h (struct glyph): New member glyph_not_available_p.
12693 Use 22 bits for face_id.
12694 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12695 (struct face): Delete member registry, new member ascii_face.
12696 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12697 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12698 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12699 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12700
12701 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12702 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12703 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12704 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12705 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12706 (fs_free_face_fontset, fontset_font_pattern)
12707 (face_suitable_for_char_p, face_for_char)
12708 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12709 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12710 (FS_LOAD_FACE_FONT): New macro.
12711
12712 * fontset.c: All codes rewritten or adjusted for the change of
12713 fontset implementation. Now fontset is represented by char table.
52283633
SM
12714 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12715 Variables removed.
9111d4b5 12716 (my_strcasecmp): Function removed.
52283633 12717 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12718 (AREF, ASIZE): New macros.
52283633
SM
12719 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12720 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12721 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12722 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12723 (fontset_id_valid_p, font_family_registry, fontset_name)
12724 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12725 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12726 New functions.
12727 (fs_load_font): New arg FACE. Caller changed.
12728 (fs_query_fontset): Argument changed. Caller changed.
12729 (Fquery_fontset): call fs_query_fontset.
12730 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12731 Functions removed.
52283633
SM
12732 (clear_fontset_elements, check_registry_encoding)
12733 (check_fontset_name): New functions.
9111d4b5
KH
12734 (syms_of_fontset): Set char-table-extra-slots property of fontset
12735 to 3. Staticpro and initialize Vfontset_table and
12736 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12737
12738 * frame.h (struct frame): Member `fontset_data' removed.
12739 (FRAME_FONTSET_DATA): Macro removed.
12740
12741 * frame.c (make_frame): Don't allocate f->fontset_data.
12742 (Fdelete_frame): Don't free f->fontset_data.
12743
6c4bfdc0
KH
12744 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12745
9111d4b5
KH
12746 * xdisp.c (charset_at_position): Function removed.
12747 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12748 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12749 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12750 Likewise.
12751 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12752 FACE_FOR_CHARSET.
52283633
SM
12753 (get_next_display_element, append_space)
12754 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12755
12756 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12757 Variables removed.
12758 (clear_font_table, frame_update_line_height, load_face_font):
12759 Adjusted for the change of fontset implementation.
12760 (load_face_fontset_font): Function removed.
12761 (pixel_point_size): New function.
12762 (font_list): Argument type changed. Caller changed.
12763 (LFACE_FONT): New macro.
12764 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12765 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12766 Lisp_Object. Determine the font name by actually loading a font
12767 by the specified pattern. Set LFACE_FONT (lface) to the specified
12768 pattern. Even if a font is not found, don't try alternatives.
12769 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12770 (set_font_frame_param): If `font' is specified in lface, use it.
12771 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12772 (lface_same_font_attributes_p): Likewise.
12773 (make_realized_face): Arguent changed. Caller changed. Set
12774 face->ascii_face to face itself.
12775 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12776 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12777 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12778 (free_realized_multibyte_face): New function.
12779 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12780 changed. Caller changed.
12781 (try_font_list): Argument type changed.
12782 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12783 (choose_face_font): Argument changed. Handle fontset properly.
12784 (choose_face_fontset_font): Function removed.
12785 (realize_default_face, realize_named_face): Don't remove the
12786 former face here.
12787 (realize_face): Argument changed. Caller changed. Remove face
52283633 12788 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12789 (realize_x_face): Argument changed. Caller changed. For a
12790 multibyte character, share fontset with base_face. For a single
52283633 12791 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12792 (realize_tty_face): Argument changed. Caller changed.
12793 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12794 (face_at_buffer_position): Don't check multibyte_p for returning
12795 DEFAULT_FACE_ID.
12796 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12797 FACE_SUITABLE_FOR_CHARSET_P.
12798 (syms_of_xfaces): Remove code for Qx_charset_registry and
12799 Vface_default_registry.
12800
6c4bfdc0
KH
12801 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12802 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12803 (x_per_char_metric): Don't try FONT->default_char. Even if
12804 pcm->width is zero, glyph bits may exist.
12805 (x_encode_char): Always initialize char2b->byte1.
12806 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12807 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12808 (x_append_glyph): Set glyph->glyph_not_available_p.
12809 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12810 it->charset. Handle the case that per char metric is not
12811 available. If it->multibyte_p is zero and it->c is a multibyte
12812 character, convert it to a unibyte character.
12813 (struct glyph_string): Delete member `charset'.
12814 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12815 the case that per char metric is not available correctly.
12816 (x_fill_glyph_string): Handle the case that the specific glyph is
12817 not available correctly.
12818 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12819 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12820 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12821 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12822 fontset. Don't call FS_LOAD_FONT.
12823
12824 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12825 (x_create_tip_frame): Likewise.
12826 (Fx_close_connection): Free full_name of font_info.
12827
12828 * fns.c (optimize_sub_char_table): New function.
12829 (Foptimize_char_table): New function.
12830 (syms_of_fns): Defsubr Soptimize_char_table.
12831
b33dd3b0
GM
128322000-03-20 Gerd Moellmann <gerd@gnu.org>
12833
12834 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12835 only if buffer is displayed in some window.
12836
12837 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12838 (try_window_reusing_current_matrix): Don't call scroll run
12839 function if run's current and desired position are the same;
12840 this prevents cursor flickering.
12841
4e8a9132
SM
128422000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12843
12844 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12845
12846 * regex.c (RE_STRING_CHAR): New macro.
12847 (GET_CHAR_AFER_2): Remove.
12848 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12849 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12850 (print_partial_compiled_pattern, re_compile_fastmap)
12851 (re_match_2_internal): Remove on_failure_jump_exclusive.
12852 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12853 optimization only need to work for * (ie. can use of_keep_string_jump).
12854 Remove the special case for .*\n since it is now covered by the general
12855 optimization.
12856 (re_search_2): Don't bother with `room'.
12857 (skip_one_char): New function.
12858 (skip_noops): Simplify since `memory' is not needed any more.
12859 (mutually_exclusive_p): Restructure slightly to use `switch' and
12860 add handling for "all" remaining cases.
12861 (re_match_2_internal): Change on_failure_jump_smart to use
12862 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12863 rather than on_failure_jump_exclusive.
12864
2136fdd4
GM
128652000-03-19 Gerd Moellmann <gerd@gnu.org>
12866
12867 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12868 number of bits per RGB because it's everywhere used as the depth
12869 of the visual.
12870
12871 * term.c (calculate_costs): Remove code dealing with X frames.
12872
18e21ce8 128732000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12874
12875 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12876
d7b511c4
GM
128772000-03-18 Gerd Moellmann <gerd@gnu.org>
12878
12879 * lread.c (read_integer): Unread the last char not consumed.
12880
16b5d424
GM
128812000-03-17 Gerd Moellmann <gerd@gnu.org>
12882
12883 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12884 which are in the process of being deleted.
16b5d424 12885
1fa28578
GM
128862000-03-16 Gerd Moellmann <gerd@gnu.org>
12887
83488cce
GM
12888 * Makefile.in (mostlyclean): Add `*.core'.
12889 (clean): Add `bootstrap-emacs'.
12890
1fa28578
GM
12891 * lread.c (read_integer): New function.
12892 (read1): Support read syntax #o, #x, #b, #r.
12893
99633e97
SM
128942000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12895
1fa28578
GM
12896 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12897 make sure POINTER_TO_OFFSET gives the same value before and after
12898 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12899 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12900 (debug): Now only active if > 0 rather than if != 0.
12901 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12902 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12903 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12904 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12905 (store_op1, store_op2, insert_op1, insert_op2)
12906 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12907 (group_in_compile_stack): Move to after its arg's types are
12908 declared and add a prototype.
99633e97 12909 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12910 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12911 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12912 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12913 indentation of the greedy-op and shy-group code.
99633e97
SM
12914 (at_(beg|end)line_loc_p): Fix argument's types.
12915 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12916 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12917 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12918 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12919 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12920 QUIT unconditionally.
99633e97 12921
699238d9
GM
129222000-03-15 Gerd Moellmann <gerd@gnu.org>
12923
12924 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12925 a sole completion.
12926
12927 * process.c (send_process): Add a hint that the function
12928 can call Lisp code to its comment.
12929
12930 * lread.c (load_dangerous_libraries): New variable.
12931 (Vbytecomp_version_regexp): New variable.
12932 (safe_to_load_p): New function.
12933 (Fload): Handle files not compiled with Emacs specially.
12934 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12935
34e23e5a
GM
129362000-03-14 Gerd Moellmann <gerd@gnu.org>
12937
9c763cca
GM
12938 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12939
12940 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12941 support functions only if HAVE_X11R6_XIM is defined.
12942 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12943
12944 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12945
12946 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12947 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12948 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12949
12950 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12951 (HAVE_X11R6_XIM): Define.
12952
12953 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12954
34e23e5a
GM
12955 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12956 If set, call XSynchronize.
12957
66f0296e
SM
129582000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12959
34e23e5a
GM
12960 * regex.c: Declare a new type `re_char' used throughout the code
12961 for the string char type. It's `const unsigned char' to match the
12962 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12963 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12964 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12965 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12966 code duplication.
66f0296e
SM
12967
12968 * charset.h (GET_CHAR_AFTER_2): Remove.
12969 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12970
854a025c
KR
129712000-03-12 Ken Raeburn <raeburn@gnu.org>
12972
12973 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12974 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12975 of them try to use backquotes.
12976
b9d2c7e2
DL
129772000-03-12 Dave Love <fx@gnu.org>
12978
12979 * unexelf.c: Restore changes of 1999-10-19.
12980 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12981 fix its type and alignment; copy it from current process.
12982
5e5dff44
GM
129832000-03-12 Gerd Moellmann <gerd@gnu.org>
12984
9b2f3c38
GM
12985 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12986 has been found. Fix bug not computing timer's predecessor.
12987
427ec082 12988 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12989 file name.
12990
e1cff360
GM
12991 * window.c (Fsave_window_excursion): Doc fix.
12992
52283633 12993 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12994
e411ce4b
EZ
129952000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12996
12997 * msdos.c (vga_installed): New function, code moved from
12998 dos_set_window_size.
12999 (Qbar, Qcursor_type, outside_cursor): New variables.
13000 (syms_of_msdos): Intern and staticpro them.
13001 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13002 shape used outside Emacs when called for the first time.
13003 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13004 cursor shape used outside Emacs.
13005 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13006 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13007 type has changed.
13008 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13009 parameters specify the cursor. Make qreverse a global
13010 variable (renamed to Qreverse).
13011
80460654
GM
130122000-03-09 Gerd Moellmann <gerd@gnu.org>
13013
13014 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13015
95cd4c40
SM
130162000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13017
13018 This is a big redesign of failure-stack and register handling, prompted
13019 by bugs revealed when trying to add shy-groups. Overall, what happened
13020 is that loops are now structured a little differently, groups can be
13021 shy and the code is a little simpler.
13022
13023 * regex.h: Update the copyright.
13024 (RE_SHY_GROUPS): New value.
13025 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13026 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13027
80460654
GM
13028 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13029 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13030 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13031 for (start|stop)_memory since they now only take one argument (the
13032 second has becomes unnecessary).
52283633 13033 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13034 (print_compiled_pattern): Use %ld to printf long ints and flush to
13035 make debugging a little easier.
95cd4c40
SM
13036 (union fail_stack_elt): Make the integer unsigned.
13037 (struct fail_stack_type): Add a `frame' element.
13038 (INIT_FAIL_STACK): Init `frame' as well.
13039 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13040 (DEBUG_PUSH, DEBUG_POP): Remove.
13041 (NUM_REG_ITEMS): Remove.
13042 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13043 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13044 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13045 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13046 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13047 New macros.
80460654
GM
13048 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13049 address pushed is not the destination of the jump but the source
13050 of it instead.
95cd4c40
SM
13051 (NUM_FAILURE_ITEMS): Remove.
13052 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13053 registers before the actual failure point). Don't hardcode any
13054 meaning for str==NULL anymore.
95cd4c40 13055 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13056 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13057 Remove.
95cd4c40
SM
13058 (REG_UNSET_VALUE): Use NULL (why not?).
13059 (compile_range): Remove declaration since it doesn't exist.
13060 (struct compile_stack_elt_t): Remove inner_group_offset.
13061 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13062 (regex_grow_registers): Remove dead code.
13063 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13064 (regex_compile): Add shy-groups Change loops to use
13065 on_failure_jump_smart&jump instead of
13066 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13067 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13068 variable to me). Use `jump' instead of `jump_past_alt' and don't
13069 bother with push_dummy_failure in alternatives since it is now
13070 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13071 emacs' for (re)allocating the stack.
13072 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13073 from loop when bufp->can_be_null rather than jumping to `done'.
13074 Avoid jumping backwards so as to ensure termination. Use
13075 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13076 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13077 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13078 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13079 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13080 (lowest_active_reg, highest_active_reg)
13081 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13082 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13083 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13084 variables. Push register (in `start_memory') on the stack rather
13085 than storing it in old_reg(start|end). Remove the cycle detection
13086 from `stop_memory', replaced by the use of on_failure_jump_loop
13087 for greedy loops. Add code for the new on_failure_jump_<foo>.
13088 Remove ad-hoc code in `on_failure_jump' to push more registers in
13089 the case of a loop. Take out code from `maybe_pop_jump' into
13090 separate functions and adapt it to the semantics of
13091 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13092 and push_dummy_failure. Remove dummy_failure handling and
13093 handling of `failures to jump to on_failure_jump' (this last one
13094 was already dead code, it seems).
13095 (group_match_null_string_p, alt_match_null_string_p)
13096 (common_op_match_null_string_p): Remove.
95cd4c40 13097
7397acc4
DL
130982000-03-08 Dave Love <fx@gnu.org>
13099
13100 * config.in: Don't depend on __STDC__ for volatile.
13101 Add POINTER_TYPE, PTR, PROTOTYPES.
13102
13103 * hftctl.c, strftime.c: Use PROTOTYPES.
13104 * eval.c (find_handler_clause): Likewise.
13105
13106 * mem-limits.h: Use POINTER_TYPE.
13107
13108 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13109 (memory_warnings): Declare using POINTER_TYPE.
13110
5e91ff9e
GM
131112000-03-08 Gerd Moellmann <gerd@gnu.org>
13112
feab4fba
GM
13113 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13114
52283633 13115 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13116
5e91ff9e
GM
13117 * xfns.c: Remove obsolete code in #if 0.
13118 (Fx_focus_frame): New function.
13119
a735b7e1
KH
131202000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13121
13122 * coding.c (coding_category_name): Add coding-category-utf-8,
13123 coding-category-utf-16-be, coding-category-utf-16-le.
13124 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13125 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13126 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13127 (detect_coding_utf_8): New function.
13128 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13129 UTF_16_LOW_SURROGATE_P): New macros.
13130 (detect_coding_utf_16): New function
13131 (detect_coding_mask): When priorities are specified, skip any
13132 categories that have `nil' coding-system. Fix bug of returning
13133 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13134 returns a mask not set in PRIORITIES.
13135 (detect_eol_type_in_2_octet_form): New function.
13136 (detect_eol): selects detect_eol_type_XXX to call according to
13137 cooding->category_idx.
13138 (detect_coding_system): Remove `nil' coding-system in the result.
13139 (Fupdate_coding_systems_internal): Update all coding-categories.
13140
52283633
SM
13141 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13142 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13143 New macros.
13144 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13145 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13146 (CODING_CATEGORY_IDX_UTF_16_LE)
13147 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13148 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13149 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13150 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13151
9994cc69
GM
131522000-03-07 Gerd Moellmann <gerd@gnu.org>
13153
e9b4e5ff
GM
13154 * doc.c (Fdocumentation_property): If value is not a string,
13155 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13156
f7daf1e1
GM
13157 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13158 close the display with XtCloseDisplay. This caused a bus error
13159 on OpenWindows.
13160
9994cc69
GM
13161 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13162 complete but not unique.
13163
4336c705
GM
131642000-03-06 Gerd Moellmann <gerd@gnu.org>
13165
18bb0684
GM
13166 * process.c (send_process): Remove local variable `procname' that
13167 might become invalid when a GC happens. Instead, access the
13168 process name slot directly.
13169
4336c705
GM
13170 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13171 orig_height if set.
13172
13173 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13174 orig_height if set.
13175
515d0d0e
EZ
131762000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13177
13178 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13179 glyph matrices have been freed.
13180
100b3cbb
GM
131812000-03-05 Gerd Moellmann <gerd@gnu.org>
13182
50df5e5a 13183 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13184 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13185
13186 * xfns.c (QCdata): Moved to xdisp.c.
13187
13188 * xdisp.c (QCdata): Moved here from xfns.c.
13189 (syms_of_xdisp): Initialize QCdata.
13190
13191 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13192
13193 * window.c (coordinates_in_window): Use
13194 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13195 FRAME_INTERNAL_BORDER_WIDTH.
13196
100b3cbb 13197 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13198 it is obviously invalid.
100b3cbb
GM
13199
13200 * xterm.c (x_term_init): Create a colormap if not using the
13201 default visual.
13202
13203 * xterm.h (select_visual): Change prototype.
13204
13205 * xfns.c (select_visual): Rewritten. Recognize user-specified
13206 visual classes.
13207 (visual_classes): New variable.
13208
64d739c4
GM
132092000-03-04 Gerd Moellmann <gerd@gnu.org>
13210
13211 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13212 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13213 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13214 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13215 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13216 XtNcolormap resources.
13217 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13218 (Fx_create_frame): Initialize color members of x_output structure.
13219 (xpm_load): Pass colormap to XPM lib.
13220
13221 * xfaces.c (x_free_colors): Access colormap of frame using
13222 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13223 when default colormap is used.
13224
13225 * xterm.c (x_term_init): Set Colormap member of x_display_info
13226 structure. Copy colormap if resource `privateColormap' is
13227 specified (PseudoColor only).
13228 (x_setup_relief_color): Access colormap of frame using
13229 FRAME_X_COLORMAP.
13230
13231 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13232 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13233
c3cee013
JR
132342000-03-04 Jason Rumney <jasonr@gnu.org>
13235
13236 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13237 other non-platform-specific equivalents.
64d739c4 13238 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13239 specific functions and macros as their w32 equivalents where
13240 non-platform-specifics are not available.
13241 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13242 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13243 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13244 (frame_update_line_height): Use macros to access f->output_data.
13245 (defined_color): Remove FIXME comments; fixed.
13246 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13247 into #ifdef blocks. Add WINDOWSNT blocks.
13248 (Fx_list_fonts): Use macros for accessing font data.
13249 (set_lface_from_font_name): Different default fonts for X and
13250 WINDOWSNT.
13251 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13252 scalable for backward compatibility.
64d739c4 13253 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13254 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13255
64d739c4 13256 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13257 syms_of_w32faces.
13258
13259 * makefile.nt (w32faces.obj): Remove.
13260 (xfaces.obj): Add.
13261
807cc41c
JR
132622000-03-03 Jason Rumney <jasonr@gnu.org>
13263
13264 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13265 correct parameters.
13266
0007072a
KR
132672000-03-03 Ken Raeburn <raeburn@gnu.org>
13268
13269 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13270 standard ELF definitions here if the system header does not.
13271
71a6ba55
GM
132722000-03-03 Gerd Moellmann <gerd@gnu.org>
13273
13274 * xterm.c (PER_CHAR_METRIC): Removed.
13275 (x_per_char_metric_1, x_default_char): New functions.
13276 (x_per_char_metric): If font's default char is invalid, return
13277 metrics of a suitably chosen usable default char.
13278 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13279 char, replace occurrences of unprintable chars with a suitably
13280 chosen usable default char.
71a6ba55 13281
900fa1f1
GM
132822000-03-02 Gerd Moellmann <gerd@gnu.org>
13283
42f55fe0
GM
13284 * xterm.c (note_mouse_highlight): Return quickly if frame's
13285 glyph matrices have been freed.
13286
13287 * dispnew.c (free_glyphs): Block input while freeing matrices.
13288
900fa1f1
GM
13289 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13290
52283633
SM
13291 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13292 Use x_free_colors.
900fa1f1
GM
13293
13294 * dispextern.h (x_free_colors): Add prototype.
13295
13296 * xfaces.c (x_free_colors): New function.
13297 (unload_color, free_face_colors): Use it.
13298
2f950292
EZ
132992000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13300
13301 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13302
13303 * window.c [MSDOS]: Include msdos.h.
13304
54d04320
DL
133052000-03-02 Dave Love <fx@gnu.org>
13306
13307 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13308
13309 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13310 set C_OPTIMIZE_SWITCH for gcc.
13311
0ba93ac4
KH
133122000-03-02 Kenichi Handa <handa@etl.go.jp>
13313
13314 * coding.c (coding_save_composition): Be sure to allocate
13315 composition data area in coding even if there's no composition in
13316 the current run.
13317
a2bc11d4
JR
133182000-03-01 Jason Rumney <jasonr@gnu.org>
13319
13320 * w32term.c: Equivalent changes to those made to xterm.c on
13321 2000-02-25 and 2000-02-24.
13322
13323 * w32fns.c: Equivalent changes to those made to xfns.c on
13324 2000-02-25 and 2000-02-21.
13325
13326 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13327 correct line-end convention is followed.
13328
13329 * w32menu.c [HAVE_BOXES]: Remove #undef.
13330 (single_keymap_panes): Remove code for simulating checkmarks.
13331 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13332 Remove code for drawing simulated checkmarks.
13333 (w32_menu_show): make unibyte help string correctly.
13334 (add_menu_item): draw standard Windows checkmarks. Draw radio
13335 buttons as radio buttons if possible.
13336
72d19d75
GM
133372000-03-01 Gerd Moellmann <gerd@gnu.org>
13338
2df636f4
GM
13339 * sysdep.c (start_of_text): Don't define this function for NetBSD
13340 with ELF.
13341
427ec082 13342 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13343 Don't define.
13344 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13345 (LINKER): Don't undef if __NetBSD__ is defined.
13346
13347 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13348
13349 * fileio.c [__NetBSD__]: Define `unix'.
13350
72d19d75
GM
13351 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13352
ed4d0512
GM
133532000-02-29 Gerd Moellmann <gerd@gnu.org>
13354
50b1039f
GM
13355 * atimer.c (start_atimer): Don't abort when timers are stopped.
13356 (append_atimer_lists): New function.
13357 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13358 arbitrary lists of stopped and running atimers.
13359
ed4d0512
GM
13360 * atimer.c (cancel_atimer): Handle canceling an atimer when
13361 some timers are stopped.
13362
13363 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13364 after canceling it.
13365
13366 * fns.c (maybe_resize_hash_table): Handle case of new size
13367 coming out as being the same as old size.
13368
387023ee
JR
133692000-02-27 Jason Rumney <jasonr@gnu.org>
13370
13371 * makefile.nt: Add atimer.h to dependencies.
13372 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13373 * w32console.c: Only disable window system features for dispextern.h
13374 (initialize_w32_display): Build a display info for the console.
13375 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13376 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13377 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13378 as 2 button mice.
13379 * w32gui.h (struct W32FontStruct): Revert last change after change
13380 to xdisp.c.
13381 * w32menu.c (single_submenu): Set up help string.
13382 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13383 (w32_dialog_show): Set up help string.
13384 * w32term.c (w32_display_info_for_display): Remove unused function.
13385 (w32_draw_bitmap): Use pre-built bitmaps.
13386 (w32_initialize_display_info): New function to initialize parts of
13387 display info that are common to both GUI and console frames.
13388 (w32_term_init): Use w32_initialize_display_info. Do not set
13389 Vw32_num_mouse_buttons here, as it is not called for console
13390 frames. Build bitmaps for indicating truncated lines etc.
13391 (x_delete_display): Destroy pre-built bitmaps.
13392 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13393 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13394
4516715a
DL
133952000-02-27 Dave Love <fx@gnu.org>
13396
13397 * lisp.h: Add a bunch of prototypes.
13398
171ca836
KH
133992000-02-26 Kenichi Handa <handa@etl.go.jp>
13400
13401 * keyboard.c (read_char): Set `usec' correctly.
13402
4013921d
KH
134032000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13404
13405 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13406 `lambda', set reg[RRR] to the map index.
13407 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13408 reg[RRR] to 0. Otherwise, set it to -1.
13409
9244a058
GM
134102000-02-25 Gerd Moellmann <gerd@gnu.org>
13411
2df636f4 13412 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13413
18e21ce8 134142000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13415
f43d79c1
GM
13416 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13417 and contains a `:', prepend `/:'.
13418
13419 * window.c (select_window_1): If selected_window is nil,
13420 don't "swap out" the buffer's point.
13421 (Fset_window_configuration): Set selected_window to nil
13422 before calling Fselect_window.
13423 (unshow_buffer): Don't set point in buffer from window's point
13424 if another more recently selected window also shows the buffer.
13425
bed0c171
GM
134262000-02-25 Gerd Moellmann <gerd@gnu.org>
13427
449c3c52
GM
13428 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13429
f5b58615
GM
13430 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13431 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13432 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13433 New variables.
f5b58615
GM
13434 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13435 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13436 (hide_busy_cursor): New functions.
13437 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13438
13439 * minibuf.c (read_minibuf): Cancel busy-cursor.
13440
13441 * keyboard.c (command_loop_1): Call start_busy_cursor before
13442 Fcommand_execute and cancel_busy_cursor after it.
13443 (timer_check): Remove busy-cursor code.
13444 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13445 cursor timer.
13446
13447 * process.c (wait_reading_process_input): Remove busy-cursor code.
13448
13449 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13450 Fx_hide_busy_cursor.
13451
13452 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13453 Remove prototyoes.
13454 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13455
13456 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13457
13458 * xterm.c (XTread_socket): Remove busy-cursor code.
13459
4eb8436f
GM
13460 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13461 (build_frame_matrix_from_leaf_window): Put code handling
13462 glyph row's not being a slice of a frame row in #if 0.
13463 (sync_window_with_frame_matrix_rows): New function.
13464 (frame_row_to_window): New function.
13465 (mirror_line_dance): Handle copies between windows.
13466
3cb65b0e
GM
13467 * lread.c (Fload): Use `xfree' instead of `free'.
13468 (init_obarray): Use `xmalloc' instead of `malloc'.
13469
bed0c171
GM
13470 * window.c (Fset_window_buffer): Set WINDOW to the window
13471 after decoding.
2add4349
GM
13472 (coordinates_in_window): Take frame's internal border width
13473 into account.
bed0c171 13474
42088c12
GM
134752000-02-24 Gerd Moellmann <gerd@gnu.org>
13476
13477 * xterm.c (x_display_and_set_cursor): Display cursor of
13478 non-selected windows depending on the setting of
13479 cursor_in_non_selected_windows.
13480
13481 * xdisp.c (cursor_in_non_selected_windows): New variable.
13482 (syms_of_xdisp): DEFVAR_BOOL it.
13483
d1e103b2
GM
134842000-02-23 Gerd Moellmann <gerd@gnu.org>
13485
723e779c
GM
13486 * data.c (Fstring_to_number): If number is greater than what
13487 fits into an integer, return a float.
13488
d1e103b2
GM
13489 * eval.c (specbind): Remove references to
13490 keyword_symbols_constant_flag.
13491
13492 * data.c (keyword_symbols_constant_flag): Removed.
13493 (Fmakunbound, set_internal, syms_of_data): Remove references to
13494 keyword_symbols_constant_flag.
13495
13496 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13497
214f877f
KH
134982000-02-23 Kenichi Handa <handa@etl.go.jp>
13499
13500 * syntax.c (multibyte_syntax_as_symbol): New variable.
13501 (syms_of_syntax): Declare it as a Lisp variable.
13502 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13503 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13504 nonzero, treat all multibyte characters as symbol.
52283633 13505 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13506
130adcb7
EZ
135072000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13508
3cb65b0e 13509 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13510 a deleted frame.
130adcb7 13511
17cbbf95
GM
135122000-02-21 Gerd Moellmann <gerd@gnu.org>
13513
13514 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13515
13516 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13517 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13518
beb0bc36
DL
135192000-02-21 Dave Love <fx@gnu.org>
13520
13521 * frame.c (Vmouse_position_function): New variable.
13522 (Fmouse_position): Use it.
13523 (syms_of_frame): Install it.
13524
13525 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13526
1d92afcd
GM
135272000-02-20 Gerd Moellmann <gerd@gnu.org>
13528
13529 * fileio.c (Finsert_file_contents): Unbind the binding of
13530 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13531
13532 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13533 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13534 (specbind, unbind_to): Handle most common case of non-constant
13535 symbol with trivial value specially.
13536
13537 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13538
18e21ce8 135392000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13540
13541 * data.c (Fmake_variable_buffer_local): Doc fix.
13542 Init found_for_buffer to 0.
13543 (Fmake_variable_frame_local): If the variable has already
13544 been buffer-local, set the check_frame field.
13545
1d4311c3
EZ
135462000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13547
13548 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13549 produced for CODING_MODE_LAST_BLOCK requires.
13550
2dc95ddd
DL
135512000-02-18 Dave Love <fx@gnu.org>
13552
13553 * keyboard.c (echo_keystrokes): Remove declaration.
13554 (Vecho_keystrokes) New variable.
13555 (read_char, record_menu_key, read_key_sequence): Use it to allow
13556 use of float value.
13557 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13558
13559 * lread.c: Undef feature selection macros before defining.
13560
f0930f35
GM
135612000-02-18 Gerd Moellmann <gerd@gnu.org>
13562
13563 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13564 for symbols other than the symbol in question.
13565
e3d4de90
DL
135662000-02-17 Dave Love <fx@gnu.org>
13567
13568 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13569
0b378936
GM
135702000-02-17 Gerd Moellmann <gerd@gnu.org>
13571
d621caf7
GM
13572 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13573
0b378936
GM
13574 * alloc.c (enum mem_type): Compile unconditionally.
13575
3b451f74
EZ
135762000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13577
13578 * xfaces.c (tty_defined_color): Don't return faulire indication
13579 for unspecified-fg and unspecified-bg pseudo-colors.
13580
10689a01
GM
135812000-02-17 Gerd Moellmann <gerd@gnu.org>
13582
1216f5e4
GM
13583 * alloc.c (mark_object): Don't mark symbol names in pure space.
13584 (gc_sweep): Don't unmark symbol names in pure space.
13585
13586 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13587 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13588 [GC_MARK_STACK]: New defines.
427ec082 13589 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13590 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13591
13592 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13593
13594 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13595 allocate_buffer instead of xmalloc.
13596
13597 * alloc.c (toplevel): Include setjmp.h.
13598 (PURE_POINTER_P): New define.
13599 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13600 (Vdead) [GC_MARK_STACK]: New variable.
13601 (lisp_malloc): Add parameter TYPE, call mem_insert if
13602 GC_MARK_STACK is defined.
13603 (allocate_buffer): New function.
427ec082 13604 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13605 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13606 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13607 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13608 (MEM_NIL) [GC_MARK_STACK]: New define.
13609 (struct mem_node) [GC_MARK_STACK]: New structure.
13610 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13611 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13612 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13613 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13614 (mark_stack) [GC_MARK_STACK]: New functions.
13615 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13616 (clear_marks): Removed.
13617 (gc_sweep): Set free conses' car, free floats' type, free
13618 symbols' function to Vdead. Use lisp_free to free buffers.
13619 (init_alloc_once): Initialize Vdead.
13620 (survives_gc_p): Return non-zero for pure objects.
13621
13622 * alloc.c: Add comments throughout the file.
13623
2503c8b1
GM
13624 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13625 that unblocks alarms.
13626
8389e1e2
GM
13627 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13628 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13629 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13630
10689a01 13631 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13632
bfc17d18
KH
136332000-02-17 Kenichi Handa <handa@etl.go.jp>
13634
4a09dee0
KH
13635 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13636 avoid infinite error signaling. Allocate sufficient memory for
13637 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13638
2b927d02
SM
136392000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13640
13641 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13642 depends on the previous behavior.
13643
b49cb764
GM
136442000-02-16 Gerd Moellmann <gerd@gnu.org>
13645
13646 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13647
99e95407
GM
136482000-02-15 Gerd Moellmann <gerd@gnu.org>
13649
13650 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13651
13652 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13653 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13654 write(2).
13655
6ffd3cf7
RS
136562000-02-15 Richard M. Stallman <rms@gnu.org>
13657
13658 * data.c (set_internal): Don't make variable buffer-local
13659 if within a let-binding for the same buffer.
13660 (let_shadows_buffer_binding_p): New function.
13661
13662 * eval.c (specbind): For buffer-local value,
13663 record the current buffer also.
13664 (unbind_to): Cope with that change.
13665
cad53475
GM
136662000-02-15 Gerd Moellmann <gerd@gnu.org>
13667
13668 * window.c (Fsave_window_excursion): Doc fix.
13669
1aa963c8
SM
136702000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13671
13672 * syntax.c (back_comment): Make sure we only consider comment-starters
13673 of the relevant style and return -1 in case of a failure to find the
13674 beginning of the comment.
13675 (Fforward_comment): If back_comment fails, go back to the position just
13676 after the comment-end.
13677 (scan_lists): Add comment describing a very minor bug.
13678
b9b84fd3
SM
136792000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13680
13681 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13682 `completion-regexp-list' in the docstring.
13683
3a28db80
DL
136842000-02-14 Dave Love <fx@gnu.org>
13685
13686 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13687
fb4a568d
SM
136882000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13689
13690 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13691 to Emacs' syntax. Also fix the comment about set/not-set meanings
13692 since Emacs syntax is not the value 0 any more.
13693 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13694 since it's now part of RE_SYNTAX_EMACS.
13695
1063ebb5
DL
136962000-02-12 Dave Love <fx@gnu.org>
13697
52283633 13698 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13699
fb07a302
GM
137002000-02-12 Gerd Moellmann <gerd@gnu.org>
13701
13702 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13703
aaf2320c
DL
137042000-02-12 Dave Love <fx@gnu.org>
13705
13706 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13707
13708 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13709 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13710 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13711
13712 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13713
13714 * s/nextstep.h: Don't define HAVE_ALLOCA.
13715
13716 * config.in: Add vfork bits.
13717
eedf8bde
GM
137182000-02-12 Gerd Moellmann <gerd@gnu.org>
13719
13720 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13721 unwind function to undo the effect of stopping atimers.
13722
52283633 13723 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13724
13725 * atimer.c (stopped_atimers): New variable.
13726 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13727 New functions.
13728
13729 * atimer.h (stop_other_atimers, run_all_atimers)
13730 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13731
eedf8bde
GM
13732 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13733
8476c2f8
KR
137342000-02-11 Ken Raeburn <raeburn@gnu.org>
13735
13736 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13737 library may depend on jpeg.
13738 (atimer.o): Depends on atimer.c.
13739
0e85e4a3
KH
137402000-02-11 Kenichi Handa <handa@etl.go.jp>
13741
13742 * insdel.c (del_range_1): Call update_compositions.
13743 (del_range_both): Call update_compositions just once..
13744
97fa0cc8
DL
137452000-02-10 Dave Love <fx@gnu.org>
13746
13747 * xfns.c (create_frame_xic): Fix initialization of automatic
13748 aggregates for pcc.
13749
25566a3c
KH
137502000-02-09 Kenichi Handa <handa@etl.go.jp>
13751
13752 * ccl.c (CCL_MAKE_CHAR): New macro.
13753 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13754 registers by CCL_MAKE_CHAR before calling translate_char.
13755 <CCL_TranslateCharacterConstTbl> Likewise.
13756
69da54ba
DL
137572000-02-08 Dave Love <fx@gnu.org>
13758
13759 * lread.c (__EXTENSIONS__): Define.
13760
f7136ee8
GM
137612000-02-08 Gerd Moellmann <gerd@gnu.org>
13762
13763 * puresize.h (BASE_PURESIZE): Increase to 650000.
13764
7768790b
EZ
137652000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13766
13767 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13768 the help message.
13769
38fd211b
EZ
137702000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13771
13772 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13773 md, mh, mb, mr, and me to the fake termcap entry.
13774
66e4690f
KR
137752000-02-06 Ken Raeburn <raeburn@gnu.org>
13776
13777 * sound.c (sound_cleanup): Don't call device close routine if the
13778 function pointer is null.
13779
a75dfea0
AI
137802000-02-06 Andrew Innes <andrewi@gnu.org>
13781
13782 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13783 around image definitions and prototypes.
13784 (gamma_correct) [WINDOWSNT]: New prototype.
13785
13786 * w32term.c (x_make_frame_visible): Replace call to
13787 input_poll_signal with poll_for_input.
13788
13789 * window.c [WINDOWSNT]: Include w32term.h.
13790
13791 * xdisp.c [WINDOWSNT]: Include w32term.h.
13792
13793 * makefile.nt: Add dependencies on w32gui.h.
13794 (OBJ1): Include atimer.obj.
13795 ($(BLD)\atimer.obj): New dependency rule.
13796
13797 * w32.c (sigmask): New function (does nothing).
13798 (sigunblock): Ditto.
13799
13800 * frame.c [WINDOWSNT]: Include w32term.h.
13801
13802 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13803
13804 * lread.c (syms_of_lread): Fix literal newlines.
13805
13806 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13807 the string constant limit (2048 bytes) in MSVC.
13808 (main): Ditto.
13809
59ddecde
GM
138102000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13811
52283633 13812 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13813 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13814 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13815 dispatch the event.
13816
07590973
DL
138172000-02-04 Dave Love <fx@gnu.org>
13818
13819 * fileio.c: Remove some unused vars.
13820 (_GNU_SOURCE): Define (for euidaccess).
13821
13822 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13823
13824 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13825 gcpro1, gcpro2.
13826 (read_minibuf): Deal with allow_props correctly.
13827
649351f9
EZ
138282000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13829
13830 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13831
66e4690f 138322000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13833
13834 * search.c (compile_pattern): If a cache entry has a nil regexp,
13835 fill in that entry instead of clobbering a previously cached
13836 string regexp.
13837
66e4690f 138382000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13839
13840 * puresize.h (BASE_PURESIZE): Increase to 610000.
13841
d240a249
GM
138422000-02-02 Gerd Moellmann <gerd@gnu.org>
13843
13844 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13845 can GC.
13846
ca91fb26
KH
138472000-02-02 Kenichi Handa <handa@etl.go.jp>
13848
25660570
KH
13849 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13850 instead of incrementing ic directly.
13851 <CCL_WriteExprConst> Likewise.
13852 <ccl_set_expr>: Set ic to jump_address.
13853
ca91fb26
KH
13854 * fileio.c (e_write): Fix the handling of
13855 CODING_FINISH_INSUFFICIENT_SRC.
13856
2ede9689
DL
138572000-02-01 Dave Love <fx@gnu.org>
13858
13859 * editfns.c (Fpropertize): Doc fix.
13860
13861 * process.c (Fstart_process): Doc fix.
13862
13863 * eval.c: Fix various doc strings not to duplicate information
13864 from help-manyarg-func-alist.
13865
52283633 13866 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13867
13868 * doc.c (Vhelp_manyarg_func_alist): New variable.
13869 (Fdocumentation): Use it.
13870 (syms_of_doc): Define it.
13871
b6680a0e
GM
138722000-01-31 Gerd Moellmann <gerd@gnu.org>
13873
2cb750ba
GM
13874 * xterm.c (xim_open_dpy): Remove unused local variable.
13875
52283633 13876 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13877
13878 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13879 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13880
b6680a0e
GM
13881 * fns.c (sweep_weak_table): New function.
13882 (sweep_weak_hash_tables): Use it. Keep on marking until there
13883 is no more change.
13884
994c5afe
GM
138852000-01-30 Gerd Moellmann <gerd@gnu.org>
13886
13887 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13888 that XTread_socket does not crash by trying to call XNoOp on a
13889 closed display.
427ec082 13890
f00276e3
JR
138912000-01-30 Jason Rumney <jasonr@gnu.org>
13892
13893 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13894 Change selected_frame to SELECTED_FRAME ().
13895 (w32_console_mouse_position): Remove #ifndef MULE from around
13896 `insist' parameter.
13897
13898 * makefile.nt: Remove dosfns.obj.
13899
13900 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13901
13902 * w32fns.c (w32_defined_color): Check for valid frame before
13903 applying gamma correction. Eliminate dependency on frame elsewhere.
13904 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13905 (w32_to_x_font): Use resx and resy not height_in and width_in.
13906 (x_to_w32_font): Doc fix.
13907 (xlfd_strip_height): New function to strip and return font height.
13908 (w32_font_match): Compare height separately from rest of xlfd
13909 spec, using xlfd_strip_height.
13910
13911 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13912 width_in. Use w32_defined_color in place of defined_color.
13913
13914 * w32faces.c: Merge more of DOS and X specifics in preparation for
13915 merge with xfaces.c.
13916 (defined_color): Remove FIXME comment.
13917 (tty_color_name): Provide w32-specific function.
13918 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13919
13920 * w32console.c (turn_on_face, turn_off_face): Removed.
13921 (w32_face_attributes): New function.
13922 (Global_variables): Reduce scope where possible.
13923 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13924 fill attribute.
13925 (hl_mode): Don't modify text attributes.
13926 (write_glyphs): Don't do anything if len <= 0. Use
13927 w32_face_attributes to get attributes for drawing. Write
13928 terminating codes using char_attr_normal.
13929 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13930 (update_begin, update_end): Likewise.
13931 (vga_stdcolor_name): New function.
13932 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13933 (Fset_screen_color): Remove char_attr_reverse.
13934
b08e8bb2
GM
139352000-01-29 Gerd Moellmann <gerd@gnu.org>
13936
13937 * xfns.c (xic_set_preeditarea): Take window parameter and
13938 window-relative pixel-positions.
13939
13940 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13941 is its frame's selected window.
13942 (xim_instantiate_callback): Likewise.
13943
13944 * xfns.c (x_create_im): Removed.
13945 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13946 (supported_xim_styles): Renamed from supported_styles.
13947 (best_xim_style): Renamed from best_style.
13948 (create_frame_xic): Renamed from xic_create_frame.
13949 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13950
b08e8bb2
GM
139512000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13952
13953 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13954 our frames, call XFilterEvent with 2nd parameter `None'.
13955 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13956 returning XBufferOverflow.
52283633 13957 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13958 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13959 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13960 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13961 (xim_initialize, xim_close)
13962 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13963 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13964 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13965 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13966
13967 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13968 and `xim_styles'.
13969 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13970 `xic_style' and `xic_xfs'.
13971 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13972 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13973 (FRAME_XIM): Removed.
13974
13975 * xfns.c (supported_styles): New variable.
13976 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13977 (xic_create_xfontset, best_style, xic_create_frame)
13978 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13979 (xic_set_xfontset): New functions.
13980
142e109c
DL
139812000-01-28 Dave Love <fx@gnu.org>
13982
13983 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13984
13985 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13986
b02786f9
GM
139872000-01-28 Gerd Moellmann <gerd@gnu.org>
13988
d060bc9f
GM
13989 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13990 for *scratch* if it already existed.
13991
b02786f9
GM
13992 * emacs.c (USAGE): New macro.
13993 (main): Use it to display usage information.
13994
2c52d7e4
EZ
139952000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13996
13997 Support for the menu-help feature:
13998
52283633 13999 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14000
14001 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14002 part of the line to the termscript file.
14003 (IT_clear_to_end): Clear the entire line, not just its beginning.
14004 (menu_help_message, prev_menu_help_message): New variables.
14005 (IT_menu_make_room): Make room for the help_text member.
14006 (IT_menu_display): New argument disp_help; all callers changed.
14007 If disp_help is non-zero, store the help text of the active menu
14008 item in menu_help_message.
14009 (XMenuAddPane): Initialize the help_text member to NULL.
14010 (XMenuAddSelection): New argument help_text. Store it in the
14011 XMenu structure.
14012 (XMenuActivate): New argument help_callback. If the value of
14013 menu_help_message has changed since the last time, display the
14014 menu help message text while waiting for the mouse to move. Clear
14015 the echo area before exiting.
14016 (XMenuDestroy): Free the help_text member.
14017
ffe0bcd1
GM
140182000-01-27 Gerd Moellmann <gerd@gnu.org>
14019
14020 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14021 XMenuAddSelection. Pass help callback to XMenuActivate.
14022 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14023
50dbd23f
EZ
140242000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14025
14026 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14027 and EMACS_SET_USECS.
14028
f5941bf8
GM
140292000-01-26 Dave Love <fx@gnu.org>
14030
6c67ddee
DL
14031 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14032
f5941bf8
GM
14033 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14034 an error may be signalled.
14035
9e49c990
GM
140362000-01-26 Gerd Moellmann <gerd@gnu.org>
14037
fc3cb460
GM
14038 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14039 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14040
9e49c990
GM
14041 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14042
d0c037d8
GM
140432000-01-25 Gerd Moellmann <gerd@gnu.org>
14044
14045 * charset.c (Fstring): If there is a multibyte char among
14046 the args, always return a multibyte string.
14047
e12489f9
GM
140482000-01-25 Gerd Moellmann <gerd@gnu.org>
14049
14050 * sysdep.c (sys_select): Turn atimers off and on instead of
14051 recording and restoring old alarm handler
14052
14053 * process.c (toplevel): Include atimer.h.
14054 (create_process_1): Rewritten.
14055 (create_process): Use atimers instead of alarm.
14056 (wait_reading_process_input) [hpux]: Turn atimers off instead
14057 of turning off SIGALRM.
14058 (wait_reading_process_input): Turn off atimers instead off
14059 calling stop_polling.
14060
14061 * emacs.c (main): Call init_atimer.
14062
14063 * keyboard.c (toplevel): Include systime.h and atimer.h.
14064 (polling_for_input): Removed because unused.
14065 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14066 (poll_timer): New variable.
14067 (poll_for_input, poll_for_input_1): New functions.
14068 (start_polling, stop_polling): Rewritten.
14069
14070 * keyboard.h (polling_for_input): Removed.
427ec082 14071
e12489f9
GM
14072 * atimer.h, atimer.c: New files.
14073
14074 * Makefile.in (obj): Add atimer.o.
14075 (atimer.o): New target.
14076
14077 * blockinput.h (pending_atimers): Add extern declaration.
14078 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14079
14080 * lisp.h (popup_activated_flag): Add extern declaration.
14081
14082 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14083 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14084 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14085
14086 * xterm.c (toplevel): Include atimer.h.
14087 (toolkit_scroll_bar_interaction): New variable.
14088 (Fxt_process_timeouts): Removed.
14089 (x_process_timeouts): New function.
14090 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14091 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14092 (x_make_frame_visible): Call poll_for_input_1 instead of
14093 input_poll_signal. Don't call alarm.
14094 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14095
1e5279b9
DL
140962000-01-24 Dave Love <fx@gnu.org>
14097
6c67ddee 14098 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14099 Don't use -cckr -- apparently not now necessary.
14100
edf6aeb8
EZ
141012000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14102
14103 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14104 screen boundary.
14105
9badad41
JR
141062000-01-23 Jason Rumney <jasonr@gnu.org>
14107
14108 * w32fns.c (w32_defined_color): Apply gamma correction before
14109 trying to map to the palette.
14110 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14111 to w32_clear_rect.
14112
14113 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14114 here. Callers changed to always pass real device context.
14115 (w32_draw_bitmap): Likewise.
14116 (w32_get_glyph_overhangs): Likewise.
52283633 14117 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14118 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14119 pfnSetScrollInfo and SetScrollRange.
14120 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14121 back into MULE characters after decoding them.
14122 (x_get_glyph_face_and_encoding): Likewise.
14123 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14124 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14125 (x_produce_glyphs): Calculate per char metrics for a character
14126 that we know exists in default font when font_not_found_p is true.
14127
63bd786b
JR
141282000-01-22 Jason Rumney <jasonr@gnu.org>
14129
14130 * makefile.nt (intervals.obj, composite.obj): New modules.
14131 (composite.h): Added as dependency where appropriate.
14132
14133 * w32gui.h (XGCValue): New struct for emulating X GCs.
14134
14135 * w32term.h (XCharStruct): New struct for emulating X.
14136
14137 * w32console.c (turn_on_face, turn_off_face): New functions.
14138 (change_line_highlight): New prototype for new redisplay.
14139 (write_glyphs): Support multibyte text. Support faces.
14140
52283633 14141 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14142
14143 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14144 throughout. struct frame * in place of FRAME_PTR.
14145 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14146 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14147 (w32_get_arg): Renamed from x_get_arg.
14148 (Fx_file_dialog): New function.
14149 (w32_list_fonts): Check cache before asking system.
14150 (Vw32_enable_synthesized_fonts): New variable.
14151 (Vw32_enable_italics): Obsolete, removed.
14152
14153 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14154 Use SELECTED_FRAME macro.
14155
14156 * w32menu.c: Add skeleton support for help strings on menus.
14157 (add_menu_item): Native checkbox and radio support added, but not
14158 yet enabled due to bugs.
14159 (push_menu_item): Add parameters type, selection and help.
14160 Callers updated.
14161 Formatting changes to reduce unnecessary diffs with xmenu.c.
14162
14163 * w32select.c (Fw32_set_clipboard_data): Update call to
14164 find_charset_in_str.
14165
14166 * w32term.c: Complete rewrite for new redisplay based on new
14167 xterm.c with necessary sections merged back in from old w32term.c.
14168
6ffd3cf7 141692000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14170
14171 * data.c (set_internal): Further fix in same criterion.
14172
6ffd3cf7 141732000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14174
14175 * data.c (set_internal): Fix the criteria for whether
14176 to swap out the old cached binding.
14177
60af03f1
DL
141782000-01-19 Dave Love <fx@gnu.org>
14179
14180 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14181
f9be074f
KH
141822000-01-18 Kenichi Handa <handa@etl.go.jp>
14183
14184 * regex.c (re_compile_fastmap): While checking a range table for
14185 `charset', skip flag bits for a character class correctly.
14186
52b8dbf9
GM
141872000-01-17 Gerd Moellmann <gerd@gnu.org>
14188
d36100c9
GM
14189 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14190
52283633 14191 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14192
14193 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14194 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14195
14196 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14197 MENU_ITEMS_ITEM_.*.
14198 (MENU_ITEMS_ITEM_HELP): New enumerator.
14199 (push_menu_item): Add parameter HELP. Record help in menu_items.
14200 (single_menu_item, single_submenu, list_of_items): Call
14201 push_menu_item with new parameter.
14202 (single_submenu): Set help string in widget value.
14203 (menu_highlight_callback): New function.
14204 (set_frame_menubar): Call lw_create_widget with new
14205 parameter list.
14206 (xmenu_show, xdialog_show): Ditto.
14207
3139018f
GM
142082000-01-13 Gerd Moellmann <gerd@gnu.org>
14209
14210 * sound.c (Fplay_sound): Improve doc string.
14211
83c8f461
RS
142122000-01-11 Richard M. Stallman <rms@gnu.org>
14213
14214 * lisp.h (set_internal): Enter the new arg.
14215
14216 * eval.c (specbind): Record buffer-local variables specially,
14217 indicating which buffer's binding was saved.
14218 (unbind_to): Restore buffer-local variables specially
14219 in the proper buffer.
14220
14221 * data.c (set_internal): New arg BUF.
427ec082 14222
83c8f461
RS
14223 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14224 * data.c (Fset): Pass new arg to set_internal.
14225 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14226
1fab1775
GM
142272000-01-11 Gerd Moellmann <gerd@gnu.org>
14228
52283633 14229 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14230
83c8f461 142312000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14232
14233 * minibuf.c (Ftry_completion): Doc fix.
14234
7a85e4df
GM
142352000-01-11 Gerd Moellmann <gerd@gnu.org>
14236
14237 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14238 vector, too.
14239
a970dae4
AS
142402000-01-11 Andreas Schwab <schwab@suse.de>
14241
14242 * coding.c (code_convert_region): Initialize total_skip.
14243
c65d14ee
DL
142442000-01-08 Dave Love <fx@gnu.org>
14245
14246 * eval.c (Fuser_variable_p): Check customizability too.
14247
834938d2
GM
142482000-01-07 Gerd Moellmann <gerd@gnu.org>
14249
14250 * minibuf.c (Fcompleting_read): Doc fix.
14251
e0303cd6
GM
142522000-01-05 Gerd Moellmann <gerd@gnu.org>
14253
8a26744b
GM
14254 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14255 -L /usr/local/lib.
14256
e0303cd6
GM
14257 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14258 Check that input style is supported before trying to create an
14259 IC for it.
14260 (x_window): Call x_create_im.
427ec082 14261
2e471eb5
GM
142622000-01-04 Gerd Moellmann <gerd@gnu.org>
14263
560a7bd2
GM
14264 * xfns.c (current_gif_memory_src): New variable.
14265 (gif_load): Record the address of the current memory source
14266 in current_gif_memory_src.
14267 (gif_read_from_memory): Use current_gif_memory_src.
14268
f9ee84a3
GM
14269 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14270 macros statement form.
14271
d1299cde
GM
14272 * sound.c (struct sound): Renamed from struct sound_file.
14273 (struct sound): Add members `data' and `header_size'.
14274 (enum sound_attr): Add SOUND_DATA.
14275 (current_sound, current_sound_device): Variables renamed from
14276 sound_file and sound_device.
14277 (parse_sound): Parse :data.
14278 (parse_sound): Handle sound data in strings.
14279 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14280 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14281 needed header size.
14282 (wav_play, au_play): Play sounds from string data.
14283
2e471eb5
GM
14284 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14285
14286 * lisp.h: Add prototype for allocate_string_data.
14287
52283633 14288 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14289
14290 * alloc.c (mark_buffer): Remove code in #if 0.
14291 (gc_sweep): Ditto.
14292 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14293 (strings_consed): New variable.
14294 (allocate_string): Set it.
14295 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14296 (Fmemory_use_counts): Return strings_consed. Use Flist.
14297
14298 * alloc.c: General cleanup in comments etc. Remove conditional
14299 compilation for `standalone'.
14300
14301 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14302
14303 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14304 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14305 (DONT_COPY_FLAG): Removed.
14306 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14307 (struct sdata, struct sblock): New
14308 (struct string_block): Rewritten.
14309 (STRINGS_IN_STRING_BLOCK): New macro.
14310 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14311 (large_sblocks, string_blocks, string_free_list): New variables.
14312 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14313 (init_strings): Rewritten.
14314 (allocate_string, allocate_string_data, compact_small_strings)
14315 (free_large_strings, sweep_strings): New functions.
14316 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14317 (struct string_block_head, current_string_block)
14318 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14319 (STRING_PAD): Removed.
14320 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14321 (Fgarbage_collect): Don't set mark bit in large strings.
14322 (mark_object): Mark strings differently. Mark symbol names
14323 differently.
14324 (survives_gc_p): Test marked strings differently.
427ec082 14325 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14326 symbol names.
14327 (compact_strings): Removed.
14328
42608ba8
EZ
143292000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14330
14331 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14332 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14333
e0a09e1a
KH
143342000-01-04 Kenichi Handa <handa@etl.go.jp>
14335
dd9f0750 14336 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14337 in a non-empty buffer.
dd9f0750 14338
3c0f3b15 14339 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14340
44cd3ae5
GM
143412000-01-03 Gerd Moellmann <gerd@gnu.org>
14342
14343 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14344 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14345
14346 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14347
c182a70f
EZ
143482000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14349
14350 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14351 need to test for MSDOS frames.
14352
24480d5b
EZ
143532000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14354
14355 * dosfns.c (unspecified_colors): Remove.
14356 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14357 unspecified_bg.
14358 (msdos_stdcolor_name): Return strings for unspecified fore- and
14359 back-ground colors.
14360
14361 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14362 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14363 (tty_color_name): Return Lisp strings for unspecified fore- and
14364 back-ground colors.
14365 (Finternal_set_lisp_face_attribute): Remove the special treatment
14366 for Qunspecified_{f,b}g.
52283633 14367 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14368
047f434a
GM
143692000-01-03 Gerd Moellmann <gerd@gnu.org>
14370
14371 * xdisp.c (reseat_at_next_visible_line_start): Position before
14372 newline only if ending up on a newline.
14373 (next_element_from_ellipsis): Return success. Handle case of
52283633 14374 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14375 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14376 returns 0.
14377
d684c676
EZ
143782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14379
14380 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14381 (Fcolor_supported_p): Renamed from face-color-supported-p.
14382
5fe1d139
EZ
143832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14384
14385 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14386 list of colors renamed to tty-defined-color-alist.
14387 (tty_color_name): Pass the frame to tty-color-by-index.
14388 (realize_tty_face): tty-color-alist is now a function which
14389 accepts the frame as argument.
14390
52283633 14391 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14392
816be8b8
EZ
143932000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14394
14395 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14396 encode_terminal_code.
14397
b635321e
EZ
143982000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14399
14400 * dispnew.c (mode_line_string): Support termcap frames as well.
14401
9b784e96
GM
144022000-01-01 Gerd Moellmann <gerd@gnu.org>
14403
27189709
GM
14404 * syntax.c (Fforward_word): Undo previous change.
14405
14406 * editfns.c (Fconstrain_to_field): Don't constrain if
14407 inhibit-field-text-motion is non-nil.
14408 (Fline_beginning_position): Undo previous change.
14409 (Fline_end_position): Ditto.
14410
14411 * syntax.c (Fforward_word): Notice field boundaries only if
14412 inhibit-field-text-motion is nil.
14413
14414 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14415
14416 * editfns.c (Vinhibit_field_text_motion): New variable.
14417 (inhibit-field-text-motion): New DEFVAR_LISP.
14418 (Fline_beginning_position, Fline_end_position): Notice field
14419 boundaries only if inhibit-field-text-motion is nil.
14420
45158a91
GM
14421 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14422 All calls adjusted.
14423 (x_build_heuristic_mask): Likewise.
14424 (xbm_load_image_from_file): Change error output.
14425 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14426 (gif_load, gs_load, x_kill_gs_process): Ditto.
14427
9b784e96
GM
14428 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14429 color indices when accessing raster pixels.
63cec32f
GM
14430 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14431 one of :file or :data.
14432 (enum pbm_keyword_index): Add PBM_DATA.
14433 (pbm_format): Add :data.
14434 (pbm_image_p): Allow either :file or :data.
14435 (pbm_read_file): New function.
14436 (pbm_scan_number): Rewritten to read from string.
14437 (pbm_load): Support :data.
9b784e96 14438
2cb085db 14439See ChangeLog.8 for earlier changes.
6922b018
KH
14440
14441;; Local Variables:
49b3bd82 14442;; coding: iso-2022-7bit
6922b018 14443;; End:
2a34a036
GM
14444
14445 Copyright (C) 2001 Free Software Foundation, Inc.
14446 Copying and distribution of this file, with or without modification,
14447 are permitted provided the copyright notice and this notice are preserved.