(mouse-drag-throw): Push back non-drag events
[bpt/emacs.git] / src / ChangeLog
CommitLineData
91c153e2
AS
12001-11-17 Andreas Schwab <schwab@suse.de>
2
3 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
4
65b7d3e7
RS
52001-11-17 Richard M. Stallman <rms@gnu.org>
6
7 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
8
6b5f6311
JR
92001-11-17 Jason Rumney <jasonr@gnu.org>
10
11 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
12
be676094
GM
132001-11-17 Gerd Moellmann <gerd@gnu.org>
14
15 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
16 with invalid position.
17
032a857d
RS
182001-11-16 Richard M. Stallman <rms@gnu.org>
19
20 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
21
22 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
23 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
24 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
25
26 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
27
b6270150
SM
282001-11-16 Stefan Monnier <monnier@cs.yale.edu>
29
30 * fileio.c (build_annotations): Split off the tail.
31 (build_annotations_2): New fun. Extracted from build_annotations.
32 (Fwrite_region): Split the call to build_annotations into two
33 calls to build_annotations and build_annotations_2.
34
792e5cbd
PJ
352001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
36
98cbb9fa
PJ
37 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
38 clear_waiting_for_input with argument.
39
40 * xterm.h (x_update_cursor): Remove duplicated prototype.
41
b6270150 42 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa
PJ
43
44 * xterm.c (waiting_for_input): Remove unnecessary prototype.
45
792e5cbd
PJ
46 * data.c (Ftimes): Doc fix.
47 (Fquo): Likewise.
48 (Frem): Likewise.
49 (Fmod): Likewise.
50
fa336b91
SM
512001-11-16 Stefan Monnier <monnier@cs.yale.edu>
52
53 * fileio.c (choose_write_coding_system): New fun, extracted
54 from Fwrite_region.
55 (Fwrite_region): Use it.
56
57 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
58 (funcall_lambda, run_hook_with_args): Make static and add prototype.
59 (ml_apply, find_handler_clause): Add prototype.
60
077907d4
EZ
612001-11-16 Eli Zaretskii <eliz@gnu.org>
62
aa2af83a
EZ
63 * config.in: Add #undef HAVE_COFF_H.
64
077907d4
EZ
65 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
66 Required for ISC 4.1.
67
1756e2fb
EZ
682001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
69
70 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
71 Andrew Wiseman <a.wiseman@btclick.com>.
72
06e8f738
KS
732001-11-16 Kim F. Storm <storm@cua.dk>
74
75 The following changes are made to clean up the various internal
76 references to the fringes to actually use the term `fringe' for
77 them. Previously, they were called `flags areas', `bitmap areas',
78 `left/right side of windows', or implicitly as `flags' or
79 `bitmaps':
80
81 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
82 Comments fixed. Use renamed symbols.
fa336b91 83
06e8f738 84 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 85
06e8f738
KS
86 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
87 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
88 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 89
06e8f738 90 * msdos.c: Comment fix.
fa336b91 91
06e8f738 92 * w32fns.c: Use renamed symbols.
fa336b91 93
06e8f738
KS
94 * w32term.c: Comment fixes. Use renamed symbols.
95 (fringe_bitmap_type): Renamed from bitmap_type.
96 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
97 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
98 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 99
06e8f738
KS
100 * w32term.h: Comment fixes. Use renamed symbols.
101 (fringes_extra): Renamed from flags_areas_extra.
102 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
103 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
104 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
105 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
106 (FRAME_X_LEFT_FRINGE_WIDTH):
107 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
108 (FRAME_X_RIGHT_FRINGE_WIDTH):
109 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
110
06e8f738 111 * widget.c: Use renamed symbols.
fa336b91 112
06e8f738
KS
113 * window.c: Comment fixes. Use renamed symbols.
114 (coordinates-in-window-p): Doc fix.
fa336b91 115
06e8f738 116 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 117
06e8f738 118 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 119
06e8f738 120 * xfns.c: Use renamed symbols.
fa336b91 121
06e8f738
KS
122 * xterm.c: Comment fixes. Use renamed symbols.
123 (fringe_bitmap_type): Renamed from bitmap_type.
124 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
125 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
126 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
127
128 * xterm.h: Comment fixes. Use renamed symbols.
129 (fringes_extra): Renamed from flags_areas_extra.
130 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
131 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
132 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
133 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
134 (FRAME_X_LEFT_FRINGE_WIDTH):
135 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
136 (FRAME_X_RIGHT_FRINGE_WIDTH):
137 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 138
9ce647f4
JR
1392001-11-15 Jason Rumney <jasonr@gnu.org>
140
141 * w32menu.c (add-menu-item): Make help_echo and radio buttons
142 work for most menu items. From David Ponce
143 <david.ponce@wanadoo.fr>.
144
9b784ab8
GM
1452001-11-15 Gerd Moellmann <gerd@gnu.org>
146
9f7e52b4
GM
147 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
148 Some x_set_* function expect to be called even if old and new
149 value are equal.
150
151 * xdisp.c (build_desired_tool_bar_string): Accept zero
152 tool_bar_button_relief.
153
154 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
155
156 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 157
34e5d0af
GM
158 * xterm.c (x_draw_bar_cursor): If the background color of the
159 glyph under the cursor equals the frame's cursor color, use
160 the glyph's foreground color for drawing the bar cursor.
161
9b784ab8
GM
162 * dispnew.c (direct_output_forward_char): Fix character/byte
163 position comparison.
164
89512fcd
MB
1652001-11-15 Miles Bader <miles@gnu.org>
166
167 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
168 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
169 Update arguments to find_field.
170 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
171 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
172 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
173 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
174
7d18891d
RS
1752001-11-14 Richard M. Stallman <rms@gnu.org>
176
d2936d21
RS
177 * editfns.c (Fpropertize): Allow call with 1 arg.
178
7d18891d
RS
179 * dispextern.h (image_background, image_background_transparent):
180 Conditionalize on HAVE_X_WINDOWS.
181
1822001-11-13 Richard M. Stallman <rms@gnu.org>
183
184 * print.c (Fprin1_to_string): Doc fix.
185
186 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
187
188 * floatfns.c (Fceiling, Ffloor): Doc fixes.
189
190 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
191
192 * fileio.c (Ffile_accessible_directory_p): Doc fix.
193
194 * eval.c (syms_of_eval): Doc fix.
195
196 * coding.c (syms_of_coding): Doc fix.
197
198 * doc.c (Fsnarf_documentation): Doc fix.
199
200 * dispnew.c (syms_of_display): Doc fix.
201
202 * category.c (Fget_unused_category): Doc fix.
203
204 * buffer.c (syms_of_buffer): Doc fixes.
205
9474c847
EZ
2062001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
207
208 * print.c (prin1, print): Doc fix.
209
e3059a5d
PJ
2102001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
211
212 * fontset.h: Remove prototypes for variables
213 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
214
215 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
216 `Vclip_large_size_font'.
217
b3700ae7
JR
2182001-11-13 Jason Rumney <jasonr@gnu.org>
219
220 * w32fns.c: Doc fix.
221
eae936e2
PJ
2222001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
223
4bb962be
PJ
224 * xfaces.c (Fface_attributes_as_vector): Doc fix.
225
0a332240
PJ
226 * w32fns.c (Fx_synchronize): Reindent.
227
ddb67bdc
PJ
228 * fns.c: Doc fix.
229
3467c402
PJ
230 * emacs.c: Doc fix.
231
232 * coding.c: Doc fix.
233
6e1b91d7
PJ
234 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
235 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
236 `new style' [w/`doc:' keyword].
237
f6e34773
PJ
238 * xmenu.c (x-popup-menu): Reindent.
239 (x-popup-dialog): Likewise.
240
fa336b91 241 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 242
c2552f79
PJ
243 * xdisp.c (Fdump_tool_bar_row): Reindent.
244
94c7167b
PJ
245 * minibuf.c (Fminibuffer_complete_word): Reindent.
246 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 247 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
248 (Fminibuffer_message): Likewise.
249
462a5e3a
PJ
250 * fns.c (Freverse): Reindent.
251
b8de5714
PJ
252 * eval.c (Fif): Reindent.
253 (Fand): Likewise.
254
deb8e082
PJ
255 * editfns.c (Fuser_real_login_name): Reindent.
256 (Finsert_buffer_substring): Likewise.
257 (Fcompare_buffer_substrings): Likewise.
258 (Fsubst_char_in_region): Likewise.
259
bacf09b4
PJ
260 * dispnew.c (Fsit_for): Reindent.
261 (Fframe_or_buffer_changed_p): Likewise.
262 (Finternal_show_cursor_p): Likewise.
263 (syms_of_display): Likewise.
264
eae936e2
PJ
265 * alloc.c (Flist): Reindent.
266 (Fvector): Likewise.
267
1c1d3d69
RS
2682001-11-12 Richard M. Stallman <rms@gnu.org>
269
270 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
271 LeaveNotify events. Only FocusIn and FocusOut do that now.
272 (x_display_and_set_cursor): Do display hollow cursors in active
273 minibuffer windows when they are not selected.
274
b6f4c7ba
JR
2752001-11-12 Jason Rumney <jasonr@gnu.org>
276
277 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
278 * w32term.c: Change doc-string comments to `new style'.
279 [w/`doc:' keyword]. Doc fixes.
280
281 * w32fns.c: Don't define max.
282 (Fx_open_connection): Only execute once.
283
a89f435d
PJ
2842001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
285
286 * ccl.c: Change macros to use do-while block instead of if-else.
287 Use braces to follow GNU Coding Standards.
288
a4cd0cd7
RS
2892001-11-11 Richard M. Stallman <rms@gnu.org>
290
eafb659a
RS
291 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
292
293 * lread.c (read_escape): Use end_of_file_error for reporting eof.
294
a4cd0cd7
RS
295 * insdel.c (replace_range): Use adjust_markers_for_replace
296 instead of adjust_markers_for_delete and adjust_markers_for_insert.
297
298 * intervals.h: Declare set_text_properties and set_text_properties_1.
299
300 * textprop.c (set_text_properties_1): New subroutine
301 broken out of set_text_properties.
302 (set_text_properties): Use set_text_properties_1.
303
304 * intervals.c (graft_intervals_into_buffer):
305 Use set_text_properties_1 to clear out properties.
306
307 * search.c (Freplace_match): Use replace_range to insert
308 and delete. Don't request property inheritance from
309 surrounding text.
310
91823618
JR
3112001-11-10 Jason Rumney <jasonr@gnu.org>
312
313 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
314 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 315 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 316
86928dfb
GM
3172001-11-10 Gerd Moellmann <gerd@gnu.org>
318
fa336b91 319 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
320 instead of malloc/free.
321
40ef1eda
PJ
3222001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
323
ab8469eb
PJ
324 * xfaces.c (merge_face_vectors): Use braces to follow GNU
325 Coding Standards.
326 (Finternal_set_lisp_face_attribute): Likewise.
327
a78e0303
PJ
328 * buffer.c (Fbury_buffer): Likewise.
329
40ef1eda
PJ
330 * indent.c (current_column_1): Remove unused variable `prev_col'.
331
fabf4a91
PJ
332 * coding.c (encode_coding): Use precomputed value of `src'.
333 (encode_coding): Remove unused variable `src_end'.
334 (code_convert_region): Remove unused variables `count'.
335
0c99b139
JR
3362001-11-07 Jason Rumney <jasonr@gnu.org>
337
338 * w32term.c (x_display_and_set_cursor): Do not move system caret
339 if cursor_glyph is NULL.
340
830ddd77
PJ
3412001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
342
343 * keymap.c (access_keymap): Fix compilation error.
344
55c6d645
MB
3452001-11-07 Miles Bader <miles@gnu.org>
346
347 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
348
5de38842
PJ
3492001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
350
7a4564a4
PJ
351 * intervals.c (graft_intervals_into_buffer):
352 Remove #ifdef'd-out code.
353 (graft_intervals_into_buffer): Remove unused variable `middle'.
354
5de38842
PJ
355 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
356 code (eval-current-buffer).
357 Change doc-string comments to `new style' [w/`doc:' keyword].
358
4fa23df5
RS
3592001-11-06 Richard M. Stallman <rms@gnu.org>
360
361 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
362
7a6a97d7
SM
3632001-11-06 Stefan Monnier <monnier@cs.yale.edu>
364
c191d13c
SM
365 * lread.c (read1): Fix behavior with nested backquoting.
366
7a6a97d7
SM
367 * keyboard.c (make_lispy_event): Check integerness and fix
368 Lisp_Object/int mixup.
369
44dc78e0
PJ
3702001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
371
372 * fns.c (copy_hash_table): Remove unused variable `v'.
373
17893c65
PJ
374 * fontset.c (fontset_font_pattern): Remove unused variable
375 `family_registry'.
376
4d994a79
PJ
377 * indent.c (current_column_1): Remove unused variable `prev_col'.
378
d5360cc7
RS
3792001-11-05 Richard M. Stallman <rms@gnu.org>
380
381 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
382
383 * buffer.c (Fkill_buffer): Don't delete auto save file
384 if buffer is modified.
385
96238a5a
AI
3862001-11-05 Andrew Innes <andrewi@gnu.org>
387
388 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
389 CHECK_NUMBER_CDR.
390
d9d54213
RS
3912001-11-05 Richard M. Stallman <rms@gnu.org>
392
393 * unexelf.c (unexec): Minor changes; clean up comments.
394
b116830b
SS
3952001-11-05 Sam Steingold <sds@gnu.org>
396
397 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
398
3297e2a1
AS
3992001-11-05 Andreas Schwab <schwab@suse.de>
400
401 * sound.c (sound_perror): Save errno from being clobbered.
402
9212319f 4032001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
404
405 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
406 the program image directly.
407
7dd73b78
PJ
4082001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
409
410 * buffer.h (Fbuffer_local_value): Add prototype.
411
982f6c7e
RS
4122001-11-04 Richard M. Stallman <rms@gnu.org>
413
d31053f9
RS
414 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
415 and CHECK_BUFFER.
416
417 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
418 (record_char): Likewise.
419
420 * keyboard.c (make_lispy_event): Don't insist a drag event must
421 move to a different buffer position. Instead, check for moving at
422 least double_click_fuzz.
423
424 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
425
426 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
427
982f6c7e
RS
428 * indent.c (current_column_1, Fmove_to_column): Separate the code
429 for display-table glyphs from the code buffer text, to fix
430 bugs in the former.
431
830047fd
RS
4322001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
433
434 * buffer.c (Fbuffer_local_value): New function.
c191d13c 435 (syms_of_buffer): Defsubr it.
b116830b 436
830047fd
RS
437 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
438 value of `cursor-in-non-selected-windows'.
439
440 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
441 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
442 (syms_of_xdisp): Initialize it.
b116830b 443
2df5238c
PJ
4442001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
445
4e397688
PJ
446 * xfns.c (Fx_create_frame): Doc fix.
447
48b0f3ae
PJ
448 * coding.c: Change doc-string comments to `new style' [w/`doc:'
449 keyword].
450
2df5238c
PJ
451 * eval.c (top_level_value, top_level_set): Remove commented and
452 #ifdef'd-out code.
453 (Fdefvar): Fix usage in doc-string.
454
3ecaf7e5
RS
4552001-11-03 Richard M. Stallman <rms@gnu.org>
456
457 * xfns.c: Include unistd.h, if it exists.
458
459 * editfns.c: Move the include of ctype.h after unistd.h.
460
461 * gmalloc.c: Test BROKEN_PROTOTYPES.
462
8db2e33b
KR
4632001-11-03 Ken Raeburn <raeburn@gnu.org>
464
465 * lisp.h (CHECK_STRING_CAR): New macro.
466 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
467 treating XCAR and XCDR as lvalues.
468 (openp): Use CHECK_STRING_CAR.
469 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
470
aed29b97
EZ
4712001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
472
473 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 474 (SIGMASKTYPE): Define.
aed29b97
EZ
475
476 * syssignal.h (sigunblock): Don't define if already defined.
477
6cb16f95
PJ
4782001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
479
16b45be4
EZ
480 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
481 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
482 Fix typos in comments.
483
020f9b38
PJ
484 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
485 and #ifdef'd-out code.
486 Fix and reindent comments.
487
c191d13c 488 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 489
6cb16f95
PJ
490 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
491 argument `i' in macros.
492
493 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
494 `i' in macros.
495
16b45be4
EZ
496 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
497 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
498 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
499 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
500 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
501 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
502 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
503 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
504 in macros.
505
506 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
507 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
508 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
509 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
510 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
511 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
512 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
513 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
514 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
515 (remove unused second argument).
516
7e9d3c2f
SM
5172001-11-02 Stefan Monnier <monnier@cs.yale.edu>
518
519 * syntax.c (describe_syntax): New wrapper.
520 (Finternal_describe_syntax_value): Rename from describe_syntax.
521 Don't insert space at front and \n at the end.
522 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
523
524 * regex.c (re_wctype): Try to fix some warnings.
525 (regcomp, regexec): Don't forget the __restrict.
526
e6bff182
RS
5272001-11-02 Richard M. Stallman <rms@gnu.org>
528
529 * textprop.c (Fget_char_property): Doc fix.
530
9ba48103
PJ
5312001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
532
533 * process.c (Fstart_process): Add usage to doc-string.
534
535 * data.c (Fsetq_default): Ditto.
536
537 * callint.c (Finteractive): Ditto.
538
c22e59e1
SM
5392001-11-01 Stefan Monnier <monnier@cs.yale.edu>
540
541 * macros.c: Don't include keymap.h any more.
542
9271ed2c
RS
5432001-11-01 Richard M. Stallman <rms@gnu.org>
544
e6bff182
RS
545 * data.c (Fmake_local_variable): Doc fix.
546
547 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
548 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
549
9271ed2c
RS
550 * keymap.c (Fdescribe_buffer_bindings): Print character property
551 bindings along with or instead of the buffer local map.
552 Make the overriding maps override what they should.
553
8b8bd9c6
PJ
5542001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
555
556 * window.c (grow_mini_window): Fix typo in comment.
557
27188d11
GM
5582001-11-01 Gerd Moellmann <gerd@gnu.org>
559
7b49b9d2
GM
560 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
561 (XTset_vertical_scroll_bar): Likewise.
562
43f7c3ea
GM
563 * xfns.c (x_build_heuristic_mask): Use four_corners_best
564 instead of IMAGE_BACKGROUND.
c22e59e1 565
b350c2e5
GM
566 * xfns.c (four_corners_best): Reindent.
567
c22e59e1 568 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
569 Handle :box so that it is possible to specify sexprs.
570
d576358b
PJ
5712001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
572
573 * xfaces.c (Finternal_merge_in_global_face): Reindent.
574 (Fface_font): Ditto.
575 (Finternal_set_alternative_font_registry_alist): Ditto.
576 (Ftty_suppress_bold_inverse_default_colors): Ditto.
577
578 * xfns.c (x-get-resource): Reindent.
579
bf00d461
EZ
5802001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
581
582 * s/hpux11.h: New file.
583
4e10df59
PJ
5842001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
585
2b209b97
PJ
586 * emacs.c (USAGE1): Show command line option --no-window-system
587 instead of --no-windows in usage.
588 (standard_args): Rename --no-windows to --no-window-system.
589 (bug_reporting_address): Follow Emacs coding conventions.
590
9dbc9081
PJ
591 * eval.c (Fcommandp): Doc fix.
592 Change doc-string comments to `new style' [w/`doc:' keyword].
593
4e10df59
PJ
594 * frame.c (Fframe_live_p): Doc fix.
595
596 * buffer.c (selective-display-ellipses): Doc fix.
597
dd387b25
GM
5982001-10-31 Gerd Moellmann <gerd@gnu.org>
599
fe957e65
GM
600 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
601
dd387b25
GM
602 * xfaces.c (realize_x_face): If C is not a single-byte character,
603 set the face's colors_copied_bitwise_p instead of the defaulted_p
604 members which have a different meaning.
605 (free_face_colors): Do nothing for a face whose colors have been
606 copied bitwise.
607
c22e59e1 608 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 609
2e1280f8
PJ
6102001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
611
687784e8
PJ
612 * marker.c, mocklisp.c: Change doc-string comments to `new style'
613 [w/`doc:' keyword].
2e1280f8 614
b9d9a9b9
GM
6152001-10-31 Gerd Moellmann <gerd@gnu.org>
616
617 * fns.c (require_unwind): Return Lisp_Object.
618
48400103
PJ
6192001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
620
fa1361cb
PJ
621 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
622 (last-input-char): Revert doc-string to be the same as the
623 doc-string of `last-input-event'.
624
48400103
PJ
625 * xdisp.c: Fix typos in comments.
626
eafa3196
GM
6272001-10-31 Gerd Moellmann <gerd@gnu.org>
628
629 * window.c (grow_mini_window): Handle case that the root
630 window is already smaller than the nominal mininum height.
631
747d3f2a
SM
6322001-10-30 Stefan Monnier <monnier@cs.yale.edu>
633
bf9bb76f
SM
634 * emacs.c (main): Don't call keys_of_macros any more.
635
636 * lisp.h (keys_of_macros): Remove.
637
638 * macros.c (keys_of_macros): Remove.
639
747d3f2a
SM
640 * xfaces.c (Fface_attribute_relative_p): Declare args.
641
5e905a57
JR
6422001-10-30 Jason Rumney <jasonr@gnu.org>
643
644 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
645 (enum_font_cb2): Ignore fonts with vertical orientation.
646
3a426197
RS
6472001-10-30 Richard M. Stallman <rms@gnu.org>
648
649 * keyboard.c (Finput_pending_p): Doc fix.
650
a742d646
GM
6512001-10-30 Gerd Moellmann <gerd@gnu.org>
652
259cf6bc
GM
653 * xterm.c (x_after_update_window_line): Don't run the code
654 clearing in borders for rows whose visible height is 0.
655
3f99f948
GM
656 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
657 resized_p flag is set. If not set, use the much less flickering
658 method previously used.
659
660 * dispnew.c (change_frame_size_1): Set frame's resized_p.
661
662 * frame.h (struct frame) <resized_p>: New member.
663
b4a3be43
GM
664 * lread.c (to_multibyte): Ensure read_buffer is at least twice
665 as large as the number of bytes to convert.
747d3f2a 666
a742d646
GM
667 * lread.c (to_multibyte): New function.
668 (read1): Use it.
669
cacbb9e9
EZ
6702001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
671
672 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
673
99cb6b2f
GM
6742001-10-30 Gerd Moellmann <gerd@gnu.org>
675
327f42ee 676 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
677 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
678 if the row's fill_line_p is set and drawing the last glyph with
679 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 680
99cb6b2f
GM
681 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
682
8e8223e2
SM
6832001-10-29 Stefan Monnier <monnier@cs.yale.edu>
684
685 * xmenu.c: Include coding.h and charset.h.
686 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
687 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
688 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
689 Explicitly set wv->help. Use `TRUE' rather than `True'.
690 (menu_help_callback): Use empty_string.
691
692 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
693 (Fx_popup_dialog): Explicitly init f.
694 (w32_menu_display_help): Use empty_string.
695
4d083a8f
RS
6962001-10-29 Richard M. Stallman <rms@gnu.org>
697
b2304472
RS
698 * fns.c (Frequire): Detect recursive try to require the same
699 feature 3 or more levels deep, and get error.
700 (require_unwind): New subroutine.
701 (require_nesting_list): New variable.
702 (syms_of_fns): Init and staticpro it.
703
4d083a8f
RS
704 * print.c (print_object): Clarify indication of insertion type.
705
2fe41216
EZ
7062001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
707
90480000
EZ
708 * coding.c (syms_of_coding): Document that locale-coding-system is
709 used for decoding input on X.
710
2fe41216
EZ
711 * window.c (Fscroll_left, Fscroll_right): Doc fix.
712
74e79967
PJ
7132001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
714
715 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
716 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
717
60ebcfe8
GM
7182001-10-29 Gerd Moellmann <gerd@gnu.org>
719
9a7bdceb
GM
720 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
721 use NO_CURSOR if cursor_in_non_selected_windows is false.
722
3f08fcd2
GM
723 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
724 the slant attribute if FRAME is t.
725
0ccfdad2
GM
726 * xfns.c (x_set_internal_border_width): Set frame garbaged
727 when X window doesn't exist yet.
728
ef253080
GM
729 * xterm.c (x_after_update_window_line): Clear internal border
730 in different circumstances.
b116830b 731
60ebcfe8
GM
732 * xterm.c (XTread_socket) <KeyPress>: Don't use
733 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
734 <handa@etl.go.jp>.
735
73d25f9c
EZ
7362001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
737
738 * m/ibms390.h: New file. From Adam Thornton
739 <athornton@sinenomine.net>.
740
cac1daf0
GM
7412001-10-28 Gerd Moellmann <gerd@gnu.org>
742
053b3256 743 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 744
cac1daf0
GM
745 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
746 a loop counter.
747
13b1a09c
PJ
7482001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
749
186486eb
PJ
750 * emacs.c: Use argv[0] instead of emacs when -t was specified.
751
4707d2d0
PJ
752 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
753 keyword].
754 Fix typos in comments.
b116830b 755
d883731c
PJ
756 * emacs.c (bug_reporting_address): New function.
757 Use it when displaying usage message.
758
04012254
PJ
759 * minibuf.c (read_minibuf): Remove unused external declaration of
760 variable `Qread_only'.
761
13b1a09c
PJ
762 * keymap.c (access_keymap): Remove unused variable `charset'.
763
5bbf4378
MB
7642001-10-28 Miles Bader <miles@gnu.org>
765
766 * xfaces.c (merge_face_heights): Handle TO being relative as well.
767 Remove #ifdef'd-out code.
768 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
769 (syms_of_xfaces): Initialize them.
770
1ce1e4ee
JR
7712001-10-27 Jason Rumney <jasonr@gnu.org>
772
773 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
774 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
775 position using the system caret.
776
777 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
778 (w32_system_caret_height, w32_system_caret_x)
779 (w32_system_caret_y): New variables for tracking system caret.
780 (w32_initialize): Initialize them.
c2d53558 781 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 782
c2d53558
SM
783 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
784 New messages types.
1ce1e4ee
JR
785
786 * w32term.c (note_mouse_highlight): Clear old help_echo.
787
4e30ce42
PJ
7882001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
789
bb4600a4
PJ
790 * xterm.c: Fix typo in a comment.
791
7db35a48
PJ
792 * emacs.c: Fix typos in comments.
793 Remove unnecessary spaces.
794 Change doc-string comments to `new style' [w/`doc:' keyword].
795 (USAGE2): Fix typos in usage string.
796
a7248e4f
PJ
797 * xterm.c: Fix typo in a comment.
798
4e30ce42
PJ
799 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
800 emacs.c.
801
62725a92
GM
8022001-10-27 Gerd Moellmann <gerd@gnu.org>
803
798dbe1f 804 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 805 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
806 farther backward when target_y was not reached.
807
62725a92
GM
808 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
809 Display errno only if non-zero.
810 (sound_warning): New function.
811 (vox_configure): Don't treat failing to set sample rate as error.
812 (various places): Improve error messages.
813
d4e34d24
EZ
8142001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
815
944e6f60
EZ
816 * fileio.c (Faccess_file): Run the argument filename through
817 Fexpand_file_name, before using it.
818
d4e34d24
EZ
819 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
820 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
821
38d2af0c
GM
8222001-10-26 Gerd Moellmann <gerd@gnu.org>
823
da80a8d5
GM
824 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
825
38d2af0c
GM
826 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
827 Fix clearing in the case of scroll bars on the right.
c2d53558 828
56f508dd
EZ
8292001-10-26 Juanma Barranquero <lektu@terra.es>
830
831 * w32gui.h (XImage): Add a dummy typedef.
832
fbd5ceb2
GM
8332001-10-26 Gerd Moellmann <gerd@gnu.org>
834
c2d53558 835 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 836
b23236fb
EZ
8372001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
838
839 * frame.c (Fframe_parameter): Fix last change.
840
5d991fc4
EZ
841 * fileio.c: Revert last change (which removed old commented-out
842 version of expand-file-name). Add a comment that explains why
843 this old version should not be removed.
844
879eadc3
GM
8452001-10-25 Gerd Moellmann <gerd@gnu.org>
846
75700ff2
GM
847 * frame.c (Fframe_parameter): Fix a bug whereby some
848 ``artificial'' frame parameters, like `minibuffer' were not
849 obtained by calling Fframe_parameters.
850
dfe92a6a
GM
851 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
852 cursor differently.
853
879eadc3
GM
854 * xdisp.c (move_it_vertically_backward): Compute line height
855 differently. Add heuristic to try to be more compatible to 20.x.
856
e1010ebe
SM
8572001-10-25 Stefan Monnier <monnier@cs.yale.edu>
858
d73a471b
SM
859 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
860
d6da5a06
GM
861 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
862 boolean.
e1010ebe 863
f66bd220
MB
8642001-10-25 Miles Bader <miles@gnu.org>
865
866 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
867 BG is a pointer to a structure, not a structure.
868 (gif_format, png_format): Add missing commas.
869
d436d538
RS
8702001-10-24 Richard M. Stallman <rms@gnu.org>
871
872 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 873 (syms_of_xfaces): Defsubr it.
d436d538 874
075c507b
PJ
8752001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
876
877 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
878 variable `area'.
879
d492b584
PJ
8802001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
881
c2d53558 882 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 883
e2a57b34
MB
8842001-10-25 Miles Bader <miles@gnu.org>
885
886 * dispextern.h (struct image): Add `background',
887 `background_valid', and `background_transparent' fields.
888 (image_background, image_background_transparent): New declarations.
889 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
890 * xfns.c (image_background, image_background_transparent)
891 (four_corners_best): New functions.
c2d53558 892 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
893 (gs_format): Add `:background' entry.
894 (lookup_image): Set IMG's background color if specified.
895 (pbm_load, xbm_load_image, png_load): Set IMG's background field
896 when appropriate.
897 (x_clear_image_1): Reset `background_valid' and
898 `background_transparent_valid' fields.
899 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
900 calculating it here. Set IMG's background_transparent field.
901 (enum xpm_keyword_index): Add XPM_BACKGROUND.
902 (enum png_keyword_index): Add PNG_BACKGROUND.
903 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
904 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
905 (enum gif_keyword_index): Add GIF_BACKGROUND.
906 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 907 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
908 Pre-calculate image background color where necessary.
909 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
910 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
911 color to use for image glyph reliefs.
912
b547b6e8
GM
9132001-10-24 Gerd Moellmann <gerd@gnu.org>
914
d9e3b8c6
GM
915 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
916 in full-width rows.
c2d53558 917
b547b6e8
GM
918 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
919 Fix clearing of area not covered by scroll bar.
920
2beb36f9
PJ
9212001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
922
923 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
924 and `real_start'.
c2d53558 925 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
926 (glyph_rect): Remove unused variable `area'.
927
76cb5e06
GM
9282001-10-24 Gerd Moellmann <gerd@gnu.org>
929
bdbdebff 930 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
931
932 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
933 (row_containing_pos): Take additional argument DY.
934 Treat rows ending in middle of char differently.
62e33982
GM
935 (display_line): Handle tabs on window systems differently.
936
937 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
938 with additional argument.
939
940 * dispextern.h (row_containing_pos): Adjust prototype.
941
76cb5e06
GM
942 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
943 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
944 (try_window_id, try_window_reusing_current_matrix)
945 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
946 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
947
996fee11
PJ
9482001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
949
c9e60620
PJ
950 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
951 gnuemacs).
952 (HAVE_BOXES): Fix typo in comment.
953 (push_menu_pane): Fix typo in comment.
954
3b552d56
PJ
955 * xdisp.c: (display_prop_string_p): Remove unused local declaration
956 of `Qwhen'.
957 (single_display_prop_string_p): Remove unused local declarations
958 of `Qwhen' and `Qmargin'.
959 (string_buffer_position): Remove unused variable `around'.
960 (store_frame_title): Remove unused variable `width'.
961
15c565ac
PJ
962 * window.c: Don't define max.
963 (coordinates_in_window): Remove unused variable `uy'.
964
a8818eb9
PJ
965 * widget.c: Don't define max.
966
996fee11
PJ
967 * process.c: Don't define max.
968 (create_process): Remove unused variable `buffer'.
969
496e1a5b
GM
9702001-10-23 Gerd Moellmann <gerd@gnu.org>
971
c2d53558 972 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 973
5905ae8b
EZ
9742001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
975
976 * xfaces.c (Finternal_set_lisp_face_attribute)
977 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
978 frame is on a windowed display.
979
24db49fb
GM
9802001-10-23 Gerd Moellmann <gerd@gnu.org>
981
c2d53558
SM
982 * dispnew.c (sync_window_with_frame_matrix_rows):
983 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
984 of marginal areas.
985
c2d53558 986 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 987
f0487f05
EZ
9882001-10-23 Andreas Schwab <schwab@suse.de>
989
990 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
991 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
992
f0a48a01
GM
9932001-10-23 Gerd Moellmann <gerd@gnu.org>
994
c2d53558 995 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
996 REAL_END. Notice if cursor gets overwritten.
997 (notice_overwritten_cursor): Take X positions as parameters.
998 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
999 around call to x_draw_glyphs.
1000
a50a10a0
PJ
10012001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1002
fc11dff0
PJ
1003 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1004 instead of C) and usage.
a50a10a0 1005
fc11dff0
PJ
1006 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1007 of C) and usage.
a50a10a0
PJ
1008
1009 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1010 `left', `max_width' and `max_height'.
1011
8738febd
GM
10122001-10-23 Gerd Moellmann <gerd@gnu.org>
1013
1014 * xdisp.c (display_line): For a tab continued to the next line,
1015 set row's ends_in_middle_of_char_p.
1016
653c329b
GM
10172001-10-22 Gerd Moellmann <gerd@gnu.org>
1018
1019 * xdisp.c (display_line): Fix computation of continuation lines
1020 width for TABs.
1021
f958c5ac
PJ
10222001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1023
7ba51063
PJ
1024 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1025 `Qlaplace'.
1026
f958c5ac
PJ
1027 * fileio.c: Remove unused code.
1028
eb360291
MB
10292001-10-22 Miles Bader <miles@gnu.org>
1030
1031 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1032 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1033 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1034
98515cf0
JR
10352001-10-21 Jason Rumney <jasonr@gnu.org>
1036
1037 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1038
93026d88
EZ
10392001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1040
1041 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1042 (Finsert_string): Avoid the multi-line string literals warning.
1043
c9a95b79
MB
10442001-10-22 Miles Bader <miles@gnu.org>
1045
1046 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1047 (Fdocumentation): Don't use it.
1048 (syms_of_doc): Don't initialize it.
1049
1050 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1051 * print.c (Fwith_output_to_temp_buffer): Likewise.
1052 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1053 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1054 (Fsave_restriction): Likewise.
c2d53558
SM
1055 * eval.c (Frun_hooks, Frun_hook_with_args)
1056 (Frun_hook_with_args_until_failure)
1057 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1058 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1059 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1060 (Funwind_protect, Fcondition_case): Likewise.
1061 * coding.c (Ffind_operation_coding_system): Likewise.
1062 * keyboard.c (Ftrack_mouse): Likewise.
1063
a3b10252
MB
10642001-10-21 Miles Bader <miles@gnu.org>
1065
c2d53558 1066 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1067 (Fmake_hash_table): Add usage: string to doc string.
1068 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1069 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1070 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1071 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1072 (Fml_prefix_argument_loop): Likewise.
1073
c6f73eec
PJ
10742001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1075
c2d53558 1076 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1077
c6f73eec
PJ
1078 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1079 style' [w/`doc:' keyword].
1080
1081 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1082 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1083 comments to `new style' [w/`doc:' keyword].
1084
3cf3436e
JR
10852001-10-21 Jason Rumney <jasonr@gnu.org>
1086
1087 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1088
c169b8f1
JR
1089 * w32term.c (remember_mouse_glyph): New function.
1090 (w32_mouse_position): Use it.
1091 (note_mouse_movement): If the mouse moved off the glyph, remember
1092 its new position.
c2d53558 1093
4fdd691b
JR
1094 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1095 (w32_display_info): Add mouse_face_overlay.
1096
c169b8f1
JR
1097 * w32term.c (notice_overwritten_cursor): Renamed from
1098 note_overwritten_text_cursor. Rewritten to take glyph widths into
1099 account.
1100 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1101 (fast_find_string_pos): New function.
1102 (fast_find_position): Return the correct vpos. Add parameter
1103 STOP. In the final row, stop before glyphs having STOP as object.
1104 Don't consider glyphs that are not from a buffer.
1105 (fast_find_position) [0]: Add a presumably more correct version
1106 for after 21.1.
1107 (expose_window_tree, expose_frame): Don't compute intersections here.
1108 (expose_window): Do it here instead.
1109 (expose_window_tree, expose_window, expose_line): Return 1 when
1110 overwriting mouse-face.
1111 (expose_window): If W is the window currently being updated, mark
1112 the frame garbaged.
1113 (expose_frame): If mouse-face was overwritten, redo it.
1114 (x_use_underline_position_properties): New variable.
1115 (syms_of_xterm): DEFVAR_BOOL it.
1116 (x_draw_glyph_string): Add comment to use it in future.
1117 (x_draw_glyph_string): Restore clipping after drawing box.
1118 Fix a computation of the underline position.
1119 (w32_get_glyph_string_clip_rect): Minor cleanup.
1120 (x_fill_stretch_glyph_string): Remove an assertion.
1121 (x_produce_glyphs): Don't convert multibyte characters
1122 to unibyte characters in unibyte buffers.
1123 (cursor_in_mouse_face_p): New function.
1124 (x_draw_stretch_glyph_string): Use it to choose a different GC
1125 when drawing a cursor within highlighted text. Don't draw
1126 background again if it has already been drawn.
1127 (x_draw_glyph_string_box): Don't draw a full-width
1128 box just because the glyph row's full_width_p flag is set.
1129 (x_draw_glyphs): Fix computation of rightmost x for
1130 full-width rows.
1131 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1132 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1133 change bottom shadow accordingly. Some cleanup.
1134 (x_update_window_end): Handle overwritten mouse face
1135 also for tool bar windows.
1136 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1137 DRAW is DRAW_IMAGE_RAISED.
1138 (clear_mouse_face): Return 1 if text with mouse face was
1139 actually redrawn. Make the function static. Reset
1140 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1141 optimize away highlighting if we pass over that same overlay again.
1142 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1143 to detect a case where we have to highlight a different region
1144 despite not having left the currently highlighted region.
1145 Set mouse_face_overlay in the x_display_info. Avoid changing the
1146 mouse pointer shape when show_mouse_face has already done it, or
1147 there is no need. Handle mouse-face and help-echo in strings.
1148 (glyph_rect): New function.
1149 (w32_mouse_position): Use it to raise the threshold for mouse
1150 movement event generation.
1151 (w32_initialize_display_info): Initialize the x_display_info's
1152 mouse_face_overlay.
1153 (w32_set_vertical_scroll_bar): Don't clear a zero height
1154 or width area.
1155 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1156 a widget to zero height.
1157
3cf3436e 1158 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1159 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1160 equivalents in menu_items.
1161 (w32_menu_show): Don't overwrite an item's name with its key
1162 description in case the description is a multibyte string.
1163 (single_submenu): Some cleanup.
1164
1165 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1166 (postprocess_image): New function.
1167 (lookup_image): Call it for all image types except PostScript.
1168 (x_kill_gs_process): Call postprocess_image.
1169 (tiff_error_handler, tiff_warning_handler): New functions.
1170 (tiff_load): Install them as handlers.
1171 (x_kill_gs_process): Recognize if someone has cleared the image
1172 cache under us.
1173 (valid_image_p): Protect better against invalid image
1174 specifications. Previous code could signal an error.
1175 (Fx_hide_tip, Fshow_tip): Doc fix.
1176 (Fv_max_tooltip_size): New variable.
1177 (syns_of_xfns): DEFVAR_LISP it.
1178 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1179 window buffer to *tip* right after creating the frame. Set frame's
1180 window_width. Use a maximum tooltip size specified by
1181 Vx_max_tooltip_size, if that has valid contents.
1182 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1183 Make sure the tooltip is completely visible.
1184 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1185 (Fx_create_frame): Adjust the frame's height for presence
1186 of the tool bar before calling x_figure_window_size.
1187 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1188 when the window gets smaller.
1189 (x_set_foreground_color): Set frame's cursor_pixel.
1190 (x_set_foreground_color, x_set_background_color): Cleaned up.
1191 (x_set_font): Handle case of x_new_fontset returning the same name
1192 as before, although there was a change in fontsets.
1193
386ca361
MB
11942001-10-21 Miles Bader <miles@gnu.org>
1195
c2d53558 1196 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1197 (Flogxor): Add usage: string to doc string.
1198 * charset.c (Fstring): Likewise.
1199 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1200 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1201
14ff1ee0
PJ
12022001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1203
03be2694
PJ
1204 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1205
1206 * alloc.c: Reindent DEFUNs with doc: keywords.
1207
1208 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1209
14ff1ee0
PJ
1210 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1211 keyword].
1212
71431a0e
GM
12132001-10-20 Gerd Moellmann <gerd@gnu.org>
1214
6aa97356 1215 * (Version 21.1 released.)
71431a0e 1216
39f624fa
PJ
12172001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1218
c2d53558 1219 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1220
1221 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1222 0 because unused.
1223
1224 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1225 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1226 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1227
abcce93a
MB
12282001-10-20 Miles Bader <miles@gnu.org>
1229
1230 The following changes remove the glyph_row `inverse_p' field,
1231 which is never set anymore, due to other changes:
1232
1233 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1234 (reassert_line_highlight, change_line_highlight): Declarations removed.
1235 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1236 (line_hash_code, row_equal_p, fake_current_matrices)
1237 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1238 (update_frame_line, update_frame_line, update_frame_line):
1239 Don't use `inverse_p' field.
1240 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1241 change_line_highlight_hook.
1242 (XTreassert_line_highlight, x_change_line_highlight):
1243 Functions removed.
c2d53558 1244 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1245 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1246 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1247 `inverse_p' field.
c2d53558 1248 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1249 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1250 (w32_reassert_line_highlight, x_change_line_highlight):
1251 Functions removed.
1252 * w32console.c (reassert_line_highlight, change_line_highlight):
1253 Functions removed.
1254 (initialize_w32_display): Don't set reassert_line_highlight_hook
1255 or change_line_highlight_hook.
1256 (hl_mode): Function removed.
c2d53558
SM
1257 (reset_terminal_modes, set_terminal_modes, update_begin)
1258 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1259 (clear_frame, ins_del_lines): Don't call it.
1260 * termhooks.h (reassert_line_highlight_hook)
1261 (change_line_highlight_hook): Declarations removed.
1262 * term.c (reassert_line_highlight_hook)
1263 (change_line_highlight_hook): Variables removed.
1264 (reassert_line_highlight, change_line_highlight): Functions removed.
1265 * msdos.c (IT_reassert_line_highlight)
1266 (IT_change_line_highlight): Functions removed.
1267 (internal_terminal_init): Don't set reassert_line_highlight_hook
1268 or change_line_highlight_hook.
1269 (highlight): Variable removed.
c2d53558 1270 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1271 (IT_set_terminal_modes): Don't set or use it.
1272
1273 The following changes remove inverse-video support for terminals
1274 that use a `magic cookie' standout mode. Due to changes in the
1275 way mode-lines are displayed, such support no longer works
1276 anyway, and it's probable that almost no one uses such terminals
1277 anymore:
1278
1279 * term.c (standout_requested): Variable removed.
1280 (update_end, highlight_if_desired): Don't use it.
1281 (chars_wasted, copybuf): Variables removed.
1282 (write_standout_marker): Function removed.
c2d53558 1283 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1284 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1285 Don't use `chars_wasted' or `copybuf'.
1286 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1287 Set `costs_set' to true.
1288 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1289 `chars_wasted'.
1290 (clear_end_of_line): Function removed.
1291 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1292 (clear_to_end): Call `clear_end_of_line' instead of
1293 `clear_end_of_line_raw'.
54800acb
MB
1294 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1295 (term_init): Don't set them.
1296 Turn off any standout/underline modes that require magic cookies.
c2d53558 1297 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1298 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1299 Remove special processing for magic-cookie standout modes.
1300 (turn_off_face, turn_on_face): Remove special processing for
1301 underline magic-cookie glitch.
abcce93a 1302
0b5f679f
RS
13032001-10-19 Richard M. Stallman <rms@gnu.org>
1304
1305 * eval.c (syms_of_eval): Doc fixes.
1306
5a4a5bd4
GM
13072001-10-19 Gerd Moellmann <gerd@gnu.org>
1308
1309 * xdisp.c (redisplay_internal): Don't clear echo area if the
1310 mini-window is selected.
1311
79f1f96c
MB
13122001-10-19 Miles Bader <miles@gnu.org>
1313
b57c2708
MB
1314 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1315 doesn't take precedence if the affected property's value is nil.
1316
1317 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1318
79f1f96c
MB
1319 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1320 with fields and suggest using `forward-line' to avoid them.
1321 * editfns.c (Fline_beginning_position, Fline_end_position):
1322 Clarify documentation.
1323
ef879104
SM
13242001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1325
1326 * keymap.c (current_minor_maps): `override' only shadows its
1327 correspondent in minor-mode-map-alist, not the whole tail.
1328
97f4db8c
AI
13292001-10-18 Andrew Innes <andrewi@gnu.org>
1330
1331 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1332 optimization. The fontp->encoding array was not being initialized
1333 correctly when compiled with optimizations by MSVC.
1334
e6b70fd8
GM
13352001-10-18 Gerd Moellmann <gerd@gnu.org>
1336
30903479 1337 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1338
0e804d38
AI
13392001-10-17 Andrew Innes <andrewi@gnu.org>
1340
1341 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1342
1343 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1344 font_info.charset field.
1345
1346 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1347 rather than working it out by calling w32_codepage_for_font for
1348 every glyph.
1349
66e5868a
AI
13502001-10-17 Andrew Innes <andrewi@gnu.org>
1351
1352 * w32term.c (w32_read_socket): Determine clipping rectangle for
1353 the entire frame, including areas covered by scrollbars and the
1354 menubar. This avoids internal arguments about whether a frame is
1355 fully obscured or not.
1356
15b00083
GM
13572001-10-17 Gerd Moellmann <gerd@gnu.org>
1358
23e8bd86
GM
1359 * xdisp.c (try_window_id): Undo last change. Give up if
1360 window ends in strings.
30903479 1361
9c6ba6d1 1362 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1363 end if the rest of the window after the window end was already blank.
23e8bd86 1364
30903479 1365 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1366 for the release of 21.1.
1367
30903479 1368 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1369
945220bd
MB
13702001-10-17 Miles Bader <miles@gnu.org>
1371
1372 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1373 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1374 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1375 Change doc-string comments to `new style' [w/`doc:' keyword].
1376 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1377 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1378 out make-docfile.
1379
14242528
MB
13802001-10-16 Miles Bader <miles@gnu.org>
1381
1382 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1383
3ddf952f
GM
13842001-10-16 Gerd Moellmann <gerd@gnu.org>
1385
1386 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1387 *scratch*.
1388
f3fbd155
KR
13892001-10-16 Ken Raeburn <raeburn@gnu.org>
1390
1391 Avoid the assumption that car and cdr slots of cons cells are
1392 addressable lvalues; this allows for easier experimentation with
1393 other lisp implementations that may not permit such accesses for
1394 various reasons. Not quite complete -- buffer.c still needs some
1395 work, and w32/mac files need rechecking -- so compile-time
1396 enforcement is left disabled for now.
1397
1398 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1399 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1400 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1401 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1402 (XSETCAR, XSETCDR): New macros.
1403 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1404 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1405 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1406 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1407 XSETCDR.
1408 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1409 * buffer.c (record_buffer, Fbury_buffer)
1410 (swap_out_buffer_local_variables, recenter_overlay_lists)
1411 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1412 fields of a cons cell respectively.
1413 * callint.c (quotify_args, Fcall_interactively): Likewise.
1414 * ccl.c (Fregister_code_conversion_map): Likewise.
1415 * coding.c (detect_coding_system): Likewise.
1416 * composite.c (get_composition_id, make_composition_value_copy):
1417 Likewise.
30903479
SM
1418 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1419 (swap_in_symval_forwarding, set_internal, Fset_default)
1420 (Fmake_variable_buffer_local, Fmake_local_variable)
1421 (Fmake_variable_frame_local): Likewise.
f3fbd155 1422 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1423 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1424 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1425 * minibuf.c (get_minibuffer): Likewise.
1426 * search.c (Fmatch_data): Likewise.
1427 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1428 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1429 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1430 Likewise.
1431 * w32term.c (x_delete_display): Likewise.
1432 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1433 Likewise.
c2d53558 1434 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1435 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1436 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1437 (Fread_file_name): Use XSETCAR.
1438 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1439 CHECK_NUMBER_CDR.
1440 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1441 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1442 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1443 CHECK_NUMBER_CDR.
1444 * keyboard.c (read_char): Alter list traversal to avoid taking the
1445 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1446 (parse_menu_item): Use XSETCAR and XSETCDR.
1447 (reach_char_x_menu_prompt): Use XSETCAR.
1448 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1449 (Fcommand_execute): Use XSETCDR.
1450 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1451 (openp): Change list traversal to avoid using XCAR as lvalue.
1452 (read_list): Use XSETCDR.
1453 * process.c (wait_reading_process_input): Change wait_for_cell
1454 handling to avoid taking addresses of cons cell slots.
30903479
SM
1455 * xselect.c (x_own_selection, x_handle_selection_clear)
1456 (x_clear_frame_selections): Use XSETCDR.
1457 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1458 (x_handle_property_notify, x_get_foreign_selection)
1459 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1460
502150e5
PJ
14612001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1462
018ba359
PJ
1463 * buffer.c: Put doc strings in comments.
1464
30903479 1465 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1466
b56ba8de
SS
14672001-10-15 Sam Steingold <sds@gnu.org>
1468
1469 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1470
6a0b793a
PJ
14712001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1472
30903479
SM
1473 * process.c (process-inherit-coding-system-flag)
1474 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1475 in comment.
1476
a1f17501 1477 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1478 arguments. Put doc strings in comments.
a65da641
PJ
1479
1480 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1481
aa601ad0
GM
14822001-10-15 Gerd Moellmann <gerd@gnu.org>
1483
30903479 1484 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1485
aa601ad0
GM
1486 * window.c (select_window_1): Unfreeze window start. Remove a
1487 doubled test for WINDOW being live.
1488
288148a1
PJ
14892001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1490
dd8d1e71
PJ
1491 * fns.c (Fmapconcat): Fix typo in a doc string.
1492
288148a1
PJ
1493 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1494
9f5eb4a3
GM
14952001-10-15 Gerd Moellmann <gerd@gnu.org>
1496
1497 * xterm.c (x_draw_glyph_string): Restore clipping after
1498 drawing box.
1499
dbae44c8
PJ
15002001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1501
30903479 1502 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1503
0c88c937
SM
15042001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1505
56378db4
GM
1506 * indent.c (skip_invisible): Use new retval of
1507 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1508
845e4cf4
SM
1509 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1510 If a parent is reached and noinherit is set, exit immediately.
1511 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1512
0c88c937
SM
1513 * s/ms-w32.h (EXEC_SUFFIXES):
1514 * s/msdos.h (EXEC_SUFFIXES):
1515 * process.h (EXEC_SUFFIXES): Remove.
1516
1517 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1518 (decode_suffixes): Remove.
1519
1520 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1521 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1522 (invisible_ellipsis_p): Remove.
0c88c937
SM
1523
1524 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1525 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1526 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1527 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1528 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1529
d19be8a9
PJ
15302001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1531
04d7d066
PJ
1532 * lisp.h (Ftop_level): Add prototype.
1533
d624284c
PJ
1534 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1535 (XTread_socket): Improve style of comments to follow other
1536 comments.
1537
a87414f9
PJ
1538 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1539 is already prototyped in included lisp.h).
1540
d19be8a9
PJ
1541 * frame.c (Fset_mouse_position): Improve style of comment to
1542 follow other comments.
1543 (Fset_mouse_pixel_position): Improve style of comment to follow
1544 other comments.
1545 (Fmake_frame_visible): Doc fix and typo in comment.
1546 (Fmake_frame_invisible): Doc fix and typo in comment.
1547 (Ficonify_frame): Fix typo in comment.
1548
c061c855
GM
15492001-10-14 Gerd Moellmann <gerd@gnu.org>
1550
37f6b5b6 1551 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1552 * term.c, alloc.c: Put doc strings in comments.
c061c855 1553
e641b454
GM
15542001-10-13 Gerd Moellmann <gerd@gnu.org>
1555
1556 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1557 Provide definitions for doc strings in comments.
1558
1559 * fns.c: Put doc strings in comments.
1560
51724e26
EZ
15612001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1562
1563 * dired.c (file_name_completion): Ignore a candidate directory if
1564 it matches an element in completion-ignored-extensions that ends
1565 in a slash.
1566 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1567 feature in the doc string.
1568 (Ffile_name_completion): Ditto.
1569
be5fc59b
SM
15702001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1571
5a1373f3
SM
1572 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1573
1574 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1575
1576 * lisp.h (Fprovide): Update prototype.
1577 (Ffeaturep, invisible_p): Remove.
1578
bbc4a3d3 1579 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1580 (DOLIST, LOOP_PROPVAL): New macros.
1581 (invisible_p, invisible_ellipsis_p): Use them.
1582 (invisible_noellipsis_p): New function.
1583 (syms_of_xdisp): Use empty_string.
1584
1585 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1586
1587 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1588 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1589
1590 * print.c (Fwith_output_to_temp_buffer): Align with
1591 internal_with_output_to_temp_buffer.
1592 (print_preprocess): Use traverse_intervals_noorder.
1593 (print_object): Update call to traverse_intervals.
1594
1595 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1596 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1597
1598 * intervals.c (traverse_intervals_noorder): New function.
1599 (search_for_interval, count_intervals): Use it.
1600 (traverse_intervals): Use less stack space and drop `depth' arg.
1601
1602 * fns.c (Ffeaturep): Add new `subfeature' arg.
1603 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1604 (Qsubfeatures): New var.
1605 (syms_of_fns): Initialize it.
1606
026f408d
SM
1607 * keymap.c (Fkey_description): Use empty_string.
1608 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1609 (syms_of_keymap): Setup inheritance between maps.
1610 Don't export Sdescribe_bindings_internal any more.
1611
be5fc59b
SM
1612 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1613
3365175e
GM
16142001-10-12 Gerd Moellmann <gerd@gnu.org>
1615
1616 * xterm.c (notice_overwritten_cursor): Renamed from
1617 note_overwritten_text_cursor. Rewritten to take glyph widths into
1618 account.
1619
2ab7765c
EZ
16202001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1621
1622 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1623 multi-line strings without a trailing "\n\".
1624
311346bb
PJ
16252001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1626
1627 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1628 defined.
1629
2168e04d
SM
16302001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1631
026f408d
SM
1632 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1633
c0ec53ad
SM
1634 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1635 * w32proc.c (sys_spawnve):
1636 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1637 * w32.c (check_windows_init_file):
1638 * sound.c (Fplay_sound):
026f408d 1639 * emacs.c (init_cmdargs):
c0ec53ad
SM
1640 * process.c (Fstart_process): Update calls to openp.
1641
1642 * callproc.c (Vexec_suffixes): New var.
1643 (Fcall_process): Update call to openp.
1644 (decode_suffixes): New function.
1645 (syms_of_callproc): Init exec-suffixes.
1646
1647 * lread.c (Vload_suffixes, default_suffixes): New vars.
1648 (openp): Take a lisp list of suffixes.
1649 Check for file-name-handlers even if the file was absolute already.
1650 (syms_of_lread): Declare load-suffixes.
1651 (Fload): Fix up call to openp.
1652 Don't bother checking for file-name-handler at the very beginning.
1653
f6333468
SM
1654 * keymap.h (Fcopy_keymap): Don't export.
1655
1656 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1657 (Vload_suffixes, Vexec_suffixes): Declare.
1658 (openp): Update prototype.
f6333468
SM
1659
1660 * emacs.c (empty_string): New var.
1661 (syms_of_emacs): Initialize it.
1662
1663 * search.c (wordify): Use it.
1664
1665 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1666 selected window if it's not displayed there. Handle the case
1667 when the window is dedicated.
1668 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1669
1670 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1671
2168e04d
SM
1672 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1673 Remove left_ok and right_ok.
1674 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1675 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1676 new meaning of b_property.
1677
1678 * syntax.c (update_syntax_table): Simplify.
1679 (Fforward_comment): Don't skip quoted chars when going backward.
1680
13d95cc0
GM
16812001-10-11 Gerd Moellmann <gerd@gnu.org>
1682
beb0990f
GM
1683 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1684 in case I is of some unsigned type, in which case
1685 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1686 comparison becomes bogus.
1687
cb938d46
GM
1688 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1689 (Fuser_full_name): Fix bug treating a float as a fixnum.
1690
1691 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1692
1693 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1694
13d95cc0
GM
1695 * lisp.h (circular_list_error): Add prototype.
1696
1697 * data.c (Qcircular_list): New variable.
1698 (circular_list_error): New function.
1699 (syms_of_data): Initialize it Qcircular_list.
1700
e35f6ff7
SM
17012001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1702
1703 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1704 casefiddle.c, buffer.c: Include keymap.h.
1705
619632ac
GM
17062001-10-10 Gerd Moellmann <gerd@gnu.org>
1707
1708 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1709 options. From Dave Love <d.love@dl.ac.uk>.
1710
5e5388f6
GM
17112001-10-09 Gerd Moellmann <gerd@gnu.org>
1712
1713 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1714 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1715
14a3dff7
GM
1716 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1717 unsigned char.
1718 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1719
76ba8daf
AI
17202001-10-08 Andrew Innes <andrewi@gnu.org>
1721
1722 * lisp.h [max]: Undef min and max before redefining them.
1723
1724 * w32gui.h: Do not undef min and max.
1725
1726 * w32heap.h: Do not undef min and max.
1727
1728 * s/ms-w32.h: Do not undef min and max.
1729
166253cb
SM
17302001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1731
1732 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1733
0c4d9527
SS
17342001-10-08 Sam Steingold <sds@gnu.org>
1735
1736 * keymap.c (current-active-maps): Quote newlines (compilation error).
1737
14bfa771
EZ
17382001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1739
1740 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1741 bindings.elc, since otherwise doc strings in bindings.el get wrong
1742 offsets in etc/DOC.
1743
bdb7aa47
SM
17442001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1745
9985827f
SM
1746 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1747
1748 * keyboard.h (map_prompt): Remove.
1749
1750 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1751 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1752
bdb7aa47
SM
1753 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1754
1755 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1756
1757 * keyboard.c (map_prompt): Remove.
1758 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1759 Use Fkeymap_prompt.
1760
1761 * keymap.h: New file. Extracted from lisp.h.
1762
9985827f
SM
1763 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1764 (accessible_keymaps_1): New function.
1765 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1766 (Fwhere_is_internal): Use Fcurrent_active_maps.
1767 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1768 Insert in current buffer rather than standard-output.
1769 Don't call `help-mode'. Export to elisp.
1770 (describe_buffer_bindings): New wrapper.
1771 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1772 and Sdescribe_buffer_bindings.
1773
402c9a51
GM
17742001-10-08 Gerd Moellmann <gerd@gnu.org>
1775
9985827f 1776 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1777 Remove code setting signal handler.
1778
9985827f 1779 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1780 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1781
3fe81fdf
PJ
17822001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1783
1784 * keyboard.c: Don't define min/max.
1785
55fa7820
GM
17862001-10-08 Gerd Moellmann <gerd@gnu.org>
1787
9985827f 1788 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1789 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1790 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1791 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1792 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1793 Don't define min/max.
1794
1795 * lisp.h (min, max): New macros.
1796
55fa7820
GM
1797 * puresize.h (BASE_PURESIZE): Increase to 725000.
1798
1aad31e4
PJ
17992001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1800
9180dc8c
PJ
1801 * xfaces.c (free_frame_menubar): Add prototype.
1802
01f67d2c
PJ
1803 * lisp.h (init_window): Add prototype.
1804
1805 * editfns.c: Include ctype.h.
1806
1807 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1808 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1809 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1810 variable `sb'.
1811
5f351ff1
PJ
1812 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1813 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1814 `popup_activated_flag' and `title'.
1815
479dfe87
PJ
1816 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1817
dff49fc8
PJ
1818 * emacs.c (main): Remove extra `;'.
1819
248ac615
PJ
1820 * atimer.h (struct atimer): Fix typos in a comment.
1821
1822 * atimer.c: Fix typo.
1823
af232c7d
PJ
1824 * Makefile.in: Fix typo.
1825
1826 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1827
d876f455
MB
18282001-10-07 Miles Bader <miles@gnu.org>
1829
1830 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1831
0037e2f2
KR
18322001-10-07 Ken Raeburn <raeburn@gnu.org>
1833
b056f36d
KR
1834 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1835 Lisp_Object.
1836
0037e2f2
KR
1837 * lisp.h (Ffield_end): Declare.
1838
1a4372ef
GM
18392001-10-07 Gerd Moellmann <gerd@gnu.org>
1840
a4a74e8c
GM
1841 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1842
1843 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1844
1845 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1846
1847 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1848
1a4372ef
GM
1849 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1850 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1851
1852 * alloc.c (inhibit_garbage_collection): Simplify.
1853 (Fmemory_use_counts): Ditto.
1854
9985827f 1855 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1856 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1857 most-negative-fixnum.
1858
9985827f 1859 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1860 (FIXNUM_OVERFLOW_P): New macros.
1861
4650e362
MB
18622001-10-06 Miles Bader <miles@gnu.org>
1863
1864 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1865 scroll_bar_bottom_shadow_pixel fields.
1866 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1867 for the shadows, and tell the toolkit about them if we succeed.
1868 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1869 Free scroll-bar shadow colors.
1870 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1871 Free scroll-bar shadow colors when the background color changes.
1872 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1873 Initialize scroll-bar shadow-color fields.
1874
ace64e0a
GM
18752001-10-05 Gerd Moellmann <gerd@gnu.org>
1876
1877 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1878
ec66bdc7
MB
18792001-10-05 Miles Bader <miles@gnu.org>
1880
9985827f
SM
1881 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1882 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1883 New functions (were in simple.el).
9985827f 1884 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1885 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1886 (syms_of_minibuf): Initialize them.
1887
a0fb4492
GM
18882001-10-05 Gerd Moellmann <gerd@gnu.org>
1889
1890 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1891 (tiff_load): Install them as error and warning handler.
1892
0bcf87c1
AI
18932001-10-04 Andrew Innes <andrewi@gnu.org>
1894
1895 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1896 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1897 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1898 (x_to_w32_charset): Handle private format for unknown charsets.
1899 Handle wildcards in charset spec, by ignoring them.
1900 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1901 "*-" prefix from charset.
1902 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1903 handle the truncated font spec form constructed by font_list_1, so
1904 that we correctly identify the charset fields. Don't remove "*-"
1905 prefix from charset.
1906 (w32_list_synthesized_fonts): Fix argument to alloca.
1907
c89e4bc5
GM
19082001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1909
1910 * window.h (MINI_WINDOW_P): Use NILP.
1911
1912 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1913
1914 * termhooks.h (struct input_event): Use proper type for `kind'.
1915
19162001-10-04 Gerd Moellmann <gerd@gnu.org>
1917
1918 This handles unknown keysyms better than before. For example,
1919 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1920 Emacs formerly completely ignored F5. With the change, it derives
1921 a key symbol from the name of the X keysym, `ccaron' in this case.
1922 Reported by Martin Buchholz.
1923
1924 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1925 unknown keysyms.
1926
1927 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1928 that EVENT->code isn't a function key, use the keysym's name.
1929
19302001-10-04 Gerd Moellmann <gerd@gnu.org>
1931
1932 FOREACH is a macro that should make it easier to loop over Lisp
1933 lists with checks for cycles and proper lists.
1934
1935 * lisp.h (LIST_END_P, FOREACH): New macros.
1936
19372001-10-04 Gerd Moellmann <gerd@gnu.org>
1938
1939 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1940 called for a lost connection. Prevent dumping core in this case.
1941 Instead print the X error, and exit. On user request.
1942
1943 * xterm.c (error_msg): New variable.
1944 (x_fatal_error_signal): New function.
1945 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1946 as fatal_error_signal_hook around the call to XtCloseDisplay.
1947
1948 * emacs.c (fatal_error_signal_hook): New variable.
1949 (fatal_error_signal): Call that function.
1950
19512001-10-04 Gerd Moellmann <gerd@gnu.org>
1952
1953 With this, Emacs prints how much pure storage it will
1954 approximately need in case pure storage overflows while dumping.
1955
1956 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1957 New variables.
1958 (init_alloc_once): Initialize new variables.
1959 (PURE_POINTER_P): Use new variables.
1960 (pure_alloc): If pure storage overflows, allocate from the heap.
1961 (check_pure_size): New function.
1962 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1963
1964 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1965 (check_pure_size): Add prototype.
1966
1967 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1968
19692001-10-04 Gerd Moellmann <gerd@gnu.org>
1970
1971 This adds a post-gc-hook that's run with GC inhibited.
1972 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1973
1974 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1975 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1976 (Fgarbage_collect): Run post-gc-hook.
1977
19782001-10-04 Gerd Moellmann <gerd@gnu.org>
1979
1980 This adds `defvaralias' and `indirect-variable'. Changes not
1981 directly related to this feature are there to gain the same
1982 performance again as before variable aliases.
1983
1984 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1985 code to get and set symbol values, to take defvaralias into account.
1986
1987 (Note: the new `constant' bit-flag in symbols would make it
1988 possible to define arbitrary read-only variables, e.g. with
1989 `defconst'.)
1990
1991 Documentation is in lispref/variables.texi. Added to NEWS.
1992
1993 * lisp.h (enum symbol_interned): New enumeration.
1994 (struct Lisp_Symbol): Remove member `obarray', add
1995 `indirect_variable', `constant', and `interned'.
1996 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1997 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1998 (indirect_variable): Add prototype.
1999
2000 * print.c (print_preprocess, print_object): Test internedness of
2001 symbols differently.
2002
2003 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2004 bit-fields.
2005 (init_obarray): Likewise for t and nil.
2006
2007 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2008 (Fdefvaralias): New function.
2009 (specbind): Simplify the test if symbol is a constant.
2010 (syms_of_eval): Defsubr Fdefvaralias.
2011
2012 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2013 (Qcyclic_variable_indirection): New variable.
2014 (Fkeywordp): Check for internedness differently.
2015 (Fmakunbound): Simplify the test if symbol is a constant.
2016 (indirect_variable, Findirect_variable): New functions.
2017 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2018 aliased symbol.
2019 (let_shadows_buffer_binding_p): Check for variable aliases.
2020 (set_internal): Simplify the test if SYMBOL is a constant.
2021 If SYMBOL has a buffer-local value and is an alias, use the aliased
2022 symbol instead.
2023 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2024 Sindirect_variable.
2025
2026 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2027 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2028 set directly.
2029
2030 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2031
2032 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2033 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2034 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2035
ab952a4f
GM
20362001-10-04 Gerd Moellmann <gerd@gnu.org>
2037
2038 * Branch for 21.1.
b56ba8de 2039
ba88ff28
MB
20402001-10-03 Miles Bader <miles@gnu.org>
2041
2042 * callproc.c (syms_of_callproc): Explicitly state in the
2043 documentation for `process-environment' that earlier entries take
2044 precedence over later ones.
2045
ae1a9581
MB
20462001-10-02 Miles Bader <miles@gnu.org>
2047
2048 * textprop.c (Fnext_char_property_change)
2049 (Fprevious_char_property_change): Remove reference to non-existant
2050 argument OBJECT from doc-string.
2051
257e3f57
GM
20522001-10-01 Gerd Moellmann <gerd@gnu.org>
2053
2054 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2055 (try_window_id): Skip back over lines ending in a newline from a
2056 string.
2057
2058 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2059 New bit flag
2060
c1f29759
RS
20612001-10-01 Richard M. Stallman <rms@gnu.org>
2062
2063 * search.c (Freplace_match): Doc fix.
2064
c30dce3d
AI
20652001-09-28 Andrew Innes <andrewi@gnu.org>
2066
2067 * w32menu.c (set_frame_menubar): Take into account that
2068 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2069 <raeburn@gnu.org>.
2070
03be5931
EZ
20712001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2072
2073 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2074
75bec752
PJ
20752001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2076
2077 * s/gnu-linux.h: Fix a typo in comment.
2078
83100e0a
AS
20792001-09-28 Andreas Schwab <schwab@suse.de>
2080
2081 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2082 nocombreloc, in case -z combreloc is the default.
2083
a74b48cf
GM
20842001-09-28 Gerd Moellmann <gerd@gnu.org>
2085
2086 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2087 really going on here.
2088
09c4719e
SM
20892001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2090
2091 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2092
f7d5d963
EZ
20932001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2094
2095 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2096 utf-8, menu-bar, and latin-N.
2097 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2098 unconditionally now.
2099 (lisp): Add latin-N, since they are preloaded.
2100
9240e746
GM
21012001-09-27 Gerd Moellmann <gerd@gnu.org>
2102
14531065
GM
2103 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2104 to the left. Some cleanup.
2105
9240e746
GM
2106 * xdisp.c (display_mode_element): One more case where a string's
2107 multibyteness should be used for display.
2108
edd1e654
GM
21092001-09-26 Gerd Moellmann <gerd@gnu.org>
2110
b02439c8
GM
2111 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2112 reading at EOF.
2113
032906b1 2114 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2115 of the only temporarily set echoing flag for deciding when
032906b1
GM
2116 the cancel echoing.
2117
2118 * keyboard.c (echo_kboard): Make externally visible.
2119
2120 * lisp.h (echo_kboard): Declare extern.
2121
cb617e7c 2122 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2123 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2124 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2125 this round of redisplay if make_cursor_line_fully_visible fails.
2126 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2127 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2128
2129 * dispextern.h (required_matrix_width, required_matrix_height):
2130 Add prototypes.
2131
09c4719e
SM
2132 * dispnew.c (required_matrix_width, required_matrix_height):
2133 New functions.
cb617e7c 2134 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2135 (allocate_matrices_for_frame_redisplay: Use them.
2136 Remove parameters CH_DIM.
cb617e7c 2137
edd1e654
GM
2138 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2139 and selected_window to the frame of the window whose mode-lines
2140 are displayed, and to the window itself.
2141 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2142 here.
edd1e654 2143
924b604c
GM
21442001-09-25 Gerd Moellmann <gerd@gnu.org>
2145
daba7643
GM
2146 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2147 the image cache under us.
2148
b7a22712 2149 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2150 with a string value, use that string's multibyteness for displaying.
b7a22712 2151
ad648212
GM
2152 * keyboard.c (read_char): Don't clear a message for a switch-frame
2153 event. From Stefan Monnier <monnier@cs.yale.edu>.
2154
9f8531e5
GM
2155 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2156 version for after 21.1.
2157
2158 * xdisp.c (row_containing_pos): Make externally visible.
2159
2160 * dispextern.h (row_containing_pos): Add prototype.
2161
924b604c
GM
2162 * process.c (send_process): Disable composition if from_byte < 0.
2163 From Kenichi Handa <handa@etl.go.jp>.
2164
6f3f0db4
GM
21652001-09-24 Gerd Moellmann <gerd@gnu.org>
2166
c69c0ebc
GM
2167 * xterm.c (refreshicon): Function removed.
2168
d1182bc4
GM
2169 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2170
2171 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2172
2173 * xterm.c (toplevel): Remove includes in #if 0.
2174
6f3f0db4
GM
2175 * process.c (sigchld_handler) [LINUX]: Don't return from
2176 the signal handler at the end of the loop.
2177
59957f85
GM
21782001-09-21 Gerd Moellmann <gerd@gnu.org>
2179
09c4719e
SM
2180 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2181 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2182
a0528984
EZ
21832001-09-21 Markus Rost <rost@math.ohio-state.edu>
2184
2185 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2186
db92b288
GM
21872001-09-20 Gerd Moellmann <gerd@gnu.org>
2188
3fed8ad5
GM
2189 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2190 since this function can be called during GC.
2191
db92b288
GM
2192 * callproc.c (Fcall_process): Handle errors from pipe(2).
2193 (child_setup): Delete code in #ifdef vipc.
2194
7121b85a
GM
21952001-09-19 Gerd Moellmann <gerd@gnu.org>
2196
72f62cb5
GM
2197 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2198 (display_mode_element): Display the string from decode_mode_spec
2199 depending on its multibyteness.
2200
a2697022
GM
2201 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2202
7121b85a
GM
2203 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2204
bfc97351
GM
22052001-09-18 Gerd Moellmann <gerd@gnu.org>
2206
c9063433
GM
2207 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2208 recursive_edit_unwind.
2209 (recursive_edit_unwind): Set kboard state according to
2210 SINGLE-KBOARD.
2211
3fbdba3e
GM
2212 * buffer.c (modify_overlay): Don't do nothing if START == END;
2213 This can still be a modification, for example when an overlay has
2214 a before-string or after-string.
2215 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2216 an overlay with before-string or after-string.
2217
1270031d
GM
2218 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2219 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2220
bfc97351
GM
2221 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2222 first_unchanged_at_end_row is in front of
2223 last_unchanged_at_beg_row. This code should be removed after the
2224 release of 21.1.
2225
d8a973aa
GM
22262001-09-17 Gerd Moellmann <gerd@gnu.org>
2227
e18c8b8d
GM
2228 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2229 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2230
d8a973aa
GM
2231 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2232 versions >= 2.95.
2233
ed7d6ba4
EZ
22342001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2235
2236 * dired.c (Ffile_attributes): Doc fix.
2237
551629f9
GM
22382001-09-14 Gerd Moellmann <gerd@gnu.org>
2239
2240 * fileio.c (Ffile_symlink_p): Fix last change.
2241
2242 * filelock.c (current_lock_owner): Fix last change.
2243
4c8c7926
GM
22442001-09-13 Gerd Moellmann <gerd@gnu.org>
2245
620c4704
GM
2246 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2247 take that to mean that the buffer is too small.
2248
81c3310d
GM
2249 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2250 that to mean that the buffer is too small.
2251
06fd3792
GM
2252 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2253 current buffer's multibyteness when discarding the iterator's
2254 stack.
2255
4c8c7926
GM
2256 * xfns.c (Fx_window_property): Handle case that property gets
2257 deleted between the two calls to XGetWindowProperty.
2258
9a72e4c1
GM
22592001-09-11 Gerd Moellmann <gerd@gnu.org>
2260
bd819d14 2261 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2262
a41edd99
GM
2263 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2264 in addition to read-only.
2265
2266 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2267 to t in addition to read-only.
2268
2269 * lisp.h (Qinhibit_modification_hooks): Declare.
2270
2271 * insdel.c (Qinhibit_modification_hooks): New variable.
2272 (syms_of_insdel): Initialize and staticpro it.
2273
d4881c6a
GM
2274 * textprop.c (verify_interval_modification): Don't run
2275 modification-hooks if inhibit_modification_hooks.
2276
2277 * dispnew.c (set_window_cursor_after_update): Fix code
2278 finding glyph row containing cursor when cursor_in_echo_area
2279 is >= 0.
2280
9a72e4c1
GM
2281 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2282 (add_to_log): Use bcopy instead of strcpy.
2283 (init_from_display_pos): Use an explicit loop over bytes in
2284 overlay strings instead of calling index.
2285
f4a374a1
GM
22862001-09-10 Gerd Moellmann <gerd@gnu.org>
2287
300e57bd
GM
2288 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2289
2290 * dispnew.c (direct_output_for_insert): Don't change IT's
2291 stop_charpos to something in front of its current position.
2292
f4a374a1
GM
2293 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2294 `format'.
2295
7e4cbc91
RS
22962001-09-10 Richard M. Stallman <rms@gnu.org>
2297
2298 * frame.c (Fmouse_position): Doc fix.
2299
6afad91e
GM
23002001-09-07 Gerd Moellmann <gerd@gnu.org>
2301
2302 * xdisp.c (init_from_display_pos): Don't compare the result
2303 of calling index with NULL.
2304
f76e0368
GM
23052001-09-06 Gerd Moellmann <gerd@gnu.org>
2306
2307 * xfns.c (x_set_background_color): Don't change the colors
2308 of the X window of scroll bar widgets.
2309
9ead1b60
AI
23102001-09-05 Andrew Innes <andrewi@gnu.org>
2311
2312 * w32fns.c (w32_createwindow): Undo last change.
2313
c3b497b3
GM
23142001-09-05 Gerd Moellmann <gerd@gnu.org>
2315
08e1d6df
GM
2316 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2317
c3b497b3
GM
2318 * xdisp.c (string_buffer_position): Use *single_char_property*
2319 functions instead of the *single_property* functions.
b56ba8de 2320
8f860180
AI
23212001-09-04 Andrew Innes <andrewi@gnu.org>
2322
9a72e4c1
GM
2323 * w32term.c (w32_read_socket): Add more information to debugging
2324 output.
8f860180
AI
2325
2326 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2327 from Emacs frames, so that calls to GetClipBox in w32term.c
2328 correctly report when part of a frame is visible (including
2329 scrollbars, etc). This prevents repeated redrawing of frames when
2330 only a scrollbar is visible.
2331 (w32_wnd_proc): Add more frame information to debugging output.
2332
2ee1aa00
SM
23332001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2334
2335 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2336
e3b22517
GM
23372001-09-03 Gerd Moellmann <gerd@gnu.org>
2338
7e376260
GM
2339 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2340 help-echo for a string which doesn't have help-echo itself, use
2341 get-char-property to obtain the help-echo from the string's buffer
2342 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2343 have mouse-face, look ``under'' the string for mouse-face from an
2344 overlay.
2345 (fast_find_position): Add parameter STOP. In the final row, stop
2346 before glyphs having STOP as object. Don't consider glyphs that
2347 are not from a buffer.
2348
e3b22517
GM
2349 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2350
9a249bba
EZ
23512001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2352
2353 * fns.c (Fmd5): Doc fix.
2354
c9979669
GM
23552001-08-31 Gerd Moellmann <gerd@gnu.org>
2356
2357 * composite.c (update_compositions): Do nothing if
2358 inhibit-modification-hooks is set.
2359
9584e63a
GM
23602001-08-30 Gerd Moellmann <gerd@gnu.org>
2361
986ec8f2 2362 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2363 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2364 glyph matrices etc. in a core dump.
2365
92a25631
GM
2366 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2367 (syms_of_xdisp): Initialize them.
2368 (handle_single_display_prop): Don't change point, bind `object',
2369 `position', and `buffer-position' instead to the object having the
2ee1aa00 2370 `display' property, position in the object and position in the buffer.
92a25631 2371
9584e63a
GM
2372 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2373 of the buffer if REPLACE is non-nil.
2374
d38633a3
GM
23752001-08-29 Gerd Moellmann <gerd@gnu.org>
2376
2377 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2378
f4fccc1e
EZ
23792001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2380
2381 * w32term.c (x_set_glyph_string_background_width)
2382 (show_mouse_face): Track the last changes in xterm.c.
2383
eaaa65b0
GM
23842001-08-28 Gerd Moellmann <gerd@gnu.org>
2385
7b0870b2
GM
2386 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2387 string's background width so that multi-line mouse-face is drawn
2388 to the right edge of the window.
2389 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2390 glyphs.
2391
6b6e2422 2392 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2393 before inserting/writing glyphs.
6b6e2422 2394
eaaa65b0
GM
2395 * xdisp.c (display_mode_element): Use string_byte_to_char to
2396 determine character positions in strings, use chars_in_text
2397 instead of strwidth.
2398 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2399 a matrix as parameter; this is easier to use from GDB.
2400
9ad62cf8
MB
24012001-08-28 Miles Bader <miles@gnu.org>
2402
2ee1aa00
SM
2403 * textprop.c (Fprevious_single_char_property_change)
2404 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2405
32171635
GM
24062001-08-27 Gerd Moellmann <gerd@gnu.org>
2407
47d57b22
GM
2408 * fileio.c (Finsert_file_contents): Allocate, restore, and
2409 free composition data in the case of REPLACE not being nil.
2410
2411 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2412 there exist overlay strings with newlines at POS.
2413 (text_outside_line_unchanged_p): Return 0 if changes start at
2414 START and overlays exist at START. Likewise for END.
2415 (try_window_id): Give up if init_to_row_end returns 0.
2416
32171635
GM
2417 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2418 unconditionally.
2419
e1249666
GM
24202001-08-24 Gerd Moellmann <gerd@gnu.org>
2421
33954c45
GM
2422 * keymap.c (access_keymap): Return the cdr of the binding of
2423 a generic character instead of its definition (KEY . BINDING).
2424
e1249666
GM
2425 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2426 to 0 also in the REPLACE case.
2427
fb4c6c96
AC
24282001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2429
2430 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2431 open to determine whether file is readable (as for DOS_NT).
2432
59ecf80b
GM
24332001-08-23 Gerd Moellmann <gerd@gnu.org>
2434
2435 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2436 coding.type is coding_type_no_conversion or coding_type_raw_text,
2437 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2438 non-nil instead of just setting enable_multibyte_characters in the
2439 buffer to nil.
2440
40e33037
GM
24412001-08-22 Gerd Moellmann <gerd@gnu.org>
2442
374388c3
GM
2443 * dispextern.h (struct face_cache): Add member
2444 menu_face_changed_p.
2445
2446 * xfaces.c (menu_face_changed_default): New variable.
2447 (menu_face_changed_count): Variable removed.
2448 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2449 the menu_face_changed_default flag, otherwise set the FRAME's
2450 menu_face_changed_p flag if the `menu' face has been changed.
2451 Prevent calling set_font_frame_param if FRAME is t.
2452 (make_face_cache): Initialize cache's menu_face_changed_p
2453 from menu_face_changed_default.
2454 (realize_basic_faces): Look into the frame's face cache to
2455 determine if the menu appearance needs updating.
2456
40e33037
GM
2457 * keymap.c (access_keymap): Fix last change to not consider
2458 IDX when it has modifiers.
2459
859ea4b8
GM
24602001-08-21 Gerd Moellmann <gerd@gnu.org>
2461
2462 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2463 . BINDING) exists, where GENERIC-CHAR is the generic character of
2464 the charset of IDX, return BINDING unless there exists a binding
2465 for IDX itself.
2466
e8660d73
GM
24672001-08-16 Gerd Moellmann <gerd@gnu.org>
2468
cca1b1d7
GM
2469 * xrdb.c (SYSV): Don't define on Solaris 2.
2470 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2471
e8660d73 2472 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2473 of the screen line, not text line, containing IT's current position.
e8660d73 2474
93aba6fc
GM
24752001-08-15 Gerd Moellmann <gerd@gnu.org>
2476
288d4e06
GM
2477 * window.c (window_scroll_pixel_based): Don't recenter if
2478 PT is partially visible in the window.
2479
3452efc2
SM
2480 * xterm.c (expose_window_tree, expose_window, expose_line):
2481 Return 1 when overwriting mouse-face.
82f053ab
GM
2482 (expose_frame): If mouse-face was overwritten, redo it.
2483
93aba6fc
GM
2484 * xfaces.c (x_update_menu_appearance): Don't call
2485 set_frame_menubar, let the next redisplay do it.
2486
858a55c1
AI
24872001-08-14 Andrew Innes <andrewi@gnu.org>
2488
2489 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2490 drawing glyph string.
2491
3a990b67
EZ
24922001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2493
2494 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2495 running HI-UX/MPP.
2496
04386463
GM
24972001-08-14 Gerd Moellmann <gerd@gnu.org>
2498
2499 * xfaces.c (x_update_menu_appearance): Save and restore value of
2500 interrupt_input_blocked.
2501
3e6385a4
GM
25022001-08-13 Gerd Moellmann <gerd@gnu.org>
2503
b0e619b4
GM
2504 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2505 a line start, move back to the line start.
3452efc2 2506
0de73d5a
GM
2507 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2508 exactly when a mini-buffer is active.
2509
3e6385a4
GM
2510 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2511 in units of 1/8 character on non window-system frames.
2512 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2513
d1b5f629
EZ
25142001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2515
2516 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2517 a doc string.
2518
eaa2319f
GM
25192001-08-09 Gerd Moellmann <gerd@gnu.org>
2520
8e3189f0
GM
2521 * keyboard.c (Vpre_help_message): New variable.
2522 (syms_of_keyboard): Initialize and staticpro it.
2523 (show_help_echo): Record current message before displaying a
2524 help-echo, and restore that message when clearing the help.
2525
eaa2319f
GM
2526 * xfns.c (x_create_im): Remove prototype.
2527
2528 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2529
2530 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2531
eaa2319f
GM
25322001-08-08 Gerd Moellmann <gerd@gnu.org>
2533
2534 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2535 windows whose height has changed, disable partially visible lines.
eaa2319f 2536
17fdcfc8
GM
25372001-08-07 Gerd Moellmann <gerd@gnu.org>
2538
22d01aed 2539 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2540 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2541
17fdcfc8
GM
2542 * xdisp.c (start_display): Don't try to determine the continuation
2543 lines width if lines are truncated. It's superfluous and leads to
2544 incorrect results if POS is not visible in the window after
2545 reseating the iterator at the previous line start.
2546
8e3fe78e
GM
25472001-08-06 Gerd Moellmann <gerd@gnu.org>
2548
2549 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2550
98a8938c
GM
25512001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2552
2553 * alloc.c (init_stack): Remove declaration.
2554
18f9986a
GM
25552001-08-03 Gerd Moellmann <gerd@gnu.org>
2556
5e1f85e0
GM
2557 * keyboard.c (read_key_sequence): Check that key is an integer
2558 before comparing it with quit_char.
2559 (add_command_key): Use larger_vector.
2560 (read_char_x_menu_prompt): Instead of converting symbol and
2561 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2562 which cannot be confused with valid events.
5e1f85e0
GM
2563 (read_char): When reading from Vunread_command_events, check for
2564 events of the form (EVENT . disabled) instead of
2565 (EVENT . nil).
2566
18f9986a
GM
2567 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2568 a float, determine the max height from the frame's height.
2569
fbc7f2a6
GM
25702001-08-02 Gerd Moellmann <gerd@gnu.org>
2571
2572 * xdisp.c (redisplay_internal): Take message_cleared_p into
2573 account only if minibuf_level == 0.
2574
81b1a79d
GM
25752001-08-01 Gerd Moellmann <gerd@gnu.org>
2576
e5c60873
GM
2577 * xdisp.c (redisplay_internal): Add a check for the last
2578 displayed message.
3452efc2 2579
6e019995
GM
2580 * xdisp.c (message_cleared_p): New variable.
2581 (clear_message): Set message_cleared_p when clearing the current
2582 message.
2583 (redisplay_internal): Look at message_cleared_p to capture
2584 the case that the echo area should be cleared.
2585
308a74d8
GM
2586 * keyboard.c (command_loop_1): Fix spelling of
2587 resize_echo_area_exactly.
2588
3452efc2 2589 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2590
2591 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2592
81b1a79d
GM
2593 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2594 current matrix when the window gets smaller.
2595
ada329e6
EZ
25962001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2597
2598 * print.c (strout): Cast the character passed to insert_char to
2599 unsigned char, to avoid sign extension when it is promoted to int.
2600
ed86208c
GM
26012001-07-31 Gerd Moellmann <gerd@gnu.org>
2602
2603 * fileio.c (Finsert_file_contents): Don't treat a return value
2604 of 0 from emacs_read as an IO error.
2605
6594ac22
GM
26062001-07-30 Gerd Moellmann <gerd@gnu.org>
2607
cef68af5
GM
2608 * keyboard.c (abs): New macro.
2609 (double_click_fuzz): New variable.
2610 (make_lispy_event): Use it to determine what makes a double-click.
2611 (syms_of_keyboard): DEFVAR_INT it.
2612
6594ac22
GM
2613 * xmenu.c (set_frame_menubar): Take into account that
2614 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2615 <raeburn@gnu.org>.
2616
75c5350a
GM
26172001-07-27 Gerd Moellmann <gerd@gnu.org>
2618
2619 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2620
2621 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2622 of row's visible height.
2623
2624 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2625 deal with the first overlay string having an image `display' property.
2626 (try_window_reusing_current_matrix, compute_line_metrics):
2627 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2628 row is invisible above and part of the row is at the same time
2629 invisible below the window.
2630
ac49effe
GM
26312001-07-26 Gerd Moellmann <gerd@gnu.org>
2632
2633 * xfns.c (x-show-tip): Doc fix.
3452efc2 2634
ac49effe
GM
2635 * xfns.c (Vx_max_tooltip_size): New variable.
2636 (syms_of_xfns): DEFVAR_LISP it.
2637 (Fx_show_tip): Set frame's window_width to the width of the
2638 window. Use a maximum tooltip size specified by
2639 Vx_max_tooltip_size, if that has valid contents.
2640 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2641
8c3b00cb
AI
26422001-07-26 Andrew Innes <andrewi@gnu.org>
2643
2644 * w32term.c (x_display_list): New variable.
2645 (w32_term_init): Set it.
2646
2647 * w32term.h (x_display_list): New extern.
2648
16098288
GM
26492001-07-26 Gerd Moellmann <gerd@gnu.org>
2650
2651 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2652 is non-nil, instead of when redisplaying_p is non-zero.
2653 See comment there.
16098288
GM
2654 (mark_window_display_accurate_1): Add an assertion.
2655
64c5be50
GM
26562001-07-25 Gerd Moellmann <gerd@gnu.org>
2657
e743f599
GM
2658 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2659
563b384d
GM
2660 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2661 events so that we get a chance of processing expose events.
2662
64c5be50
GM
2663 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2664
296808a5
GM
26652001-07-24 Gerd Moellmann <gerd@gnu.org>
2666
2667 * xfns.c (valid_image_p): Protect better against invalid image
2668 specifications. Previous code could signal an error.
2669
5247262a
GM
26702001-07-23 Gerd Moellmann <gerd@gnu.org>
2671
3452efc2 2672 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2673 presence of display table entries.
2674 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2675
dd42b31a
GM
2676 * dispnew.c (adjust_glyph_matrix): In the optimization for
2677 windows whose height has changed, use the new window height
2678 to compute which rows to invalidate.
2679
9e5a7f2a
GM
2680 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2681 (MAX_10_EXP): New macro.
2682 (Fformat): Use it.
2683
5247262a
GM
2684 * coding.c (code_convert_region): Handle the multibyte case if
2685 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2686
177ab8ce
GM
26872001-07-20 Gerd Moellmann <gerd@gnu.org>
2688
6e07c0a5
GM
2689 * dispextern.h (struct face): Change type of `stipple' to
2690 int; it's an ID.
2691
177ab8ce
GM
2692 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2693
b5b80599
GM
26942001-07-19 Gerd Moellmann <gerd@gnu.org>
2695
4e2a256b
GM
2696 * dispnew.c (update_window): Don't set the cursor at the end
2697 of the update if display update has been paused.
2698
3452efc2 2699 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2700
c1fd9232
KR
27012001-07-18 Ken Raeburn <raeburn@gnu.org>
2702
2703 * fns.c (Fset_char_table_default): Check that a charset is defined
2704 before checking its dimension.
2705
928a85c1
KR
27062001-07-17 Ken Raeburn <raeburn@gnu.org>
2707
2708 * coding.c (setup_coding_system): Don't do any designation based
2709 on reg_bits if charset is not yet defined.
2710
fb4c6c96 2711 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2712 pointer, using eassert.
2713
de11c1ea
GM
27142001-07-17 Gerd Moellmann <gerd@gnu.org>
2715
3452efc2
SM
2716 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2717 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2718
467f1209
GM
27192001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2720
2721 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2722
c3d6be34
GM
27232001-07-16 Gerd Moellmann <gerd@gnu.org>
2724
c1d61a7d
GM
2725 * fileio.c (unwind_read): Function removed.
2726 (read_non_regular, read_non_regular_quit): New functions.
2727 (Finsert_file_contents): When reading from non-regular files,
2728 arrange to catch a `quit' and terminate the loop. Rearrange
2729 code so that a `quit' when reading from a regular file doesn't
2730 insert text in the buffer.
2731
c3d6be34
GM
2732 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2733 Clear faces afterwards.
2734 (clear_font_table): Take a x_display_info parameter. Don't free
2735 fonts being the default font of any frame on the given display.
2736
e06aa1f9
GM
27372001-07-13 Gerd Moellmann <gerd@gnu.org>
2738
2739 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2740 instead of CHAR_STRING which can signal an error.
2741
2742 * charset.c (char_to_string_1): Extracted from char_to_string.
2743 Return -1 instead of signaling an error.
2744 (char_to_string): Use it.
2745
2746 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2747
176c92e6
SM
27482001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2749
2750 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2751 is t, don't try to append anything to it.
2752
1c56232f
EZ
27532001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2754
2755 * dired.c (file_name_completion): Pass dp->d_name to
2756 Fstring_match, not elt, which is always nil here.
2757
1d2b2268
GM
27582001-07-12 Gerd Moellmann <gerd@gnu.org>
2759
2760 * xselect.c (x_decline_selection_request): Handle errors
2761 caused by receivers that have vanished.
2762
2763 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2764 ignoring events on foreign windows in #if 0. Always dispatch
2765 the event after checking it with x_handle_property_notify.
2766
2767 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2768 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2769 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2770 (toplevel): Add prototypes for file-local functions.
2771 (x_atom_to_symbol): Remove DPYINFO parameter.
2772
fe5a0162
SM
27732001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2774
2775 * w32menu.c (menubar_selection_callback, w32_menu_show):
2776 Initialize `entry' to nil.
2777 (w32_dialog_show): Remove unused `save_wv' variable.
2778 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2779
a777242c
GM
27802001-07-11 Gerd Moellmann <gerd@gnu.org>
2781
8ee5b6a3
GM
2782 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2783
d0e2444e
GM
2784 * fileio.c (unwind_read): Print a message when discarding inserted
2785 text or switching the buffer to unibyte. Change parameter.
2786 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2787
a777242c
GM
2788 * fileio.c (unwind_read): New function.
2789 (Finsert_file_contents): Record it as unwind-function for
2790 the case that reading is interrupted by C-g.
2791
ae794295
GM
27922001-07-10 Gerd Moellmann <gerd@gnu.org>
2793
fe5a0162 2794 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2795 update when scrolling_window returns 0.
2796
6b05fae3
GM
2797 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2798
2799 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2800 for the case that x_decode_color signals an error.
6b05fae3 2801
ae794295
GM
2802 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2803
bb6e8cee
GM
28042001-07-09 Gerd Moellmann <gerd@gnu.org>
2805
2806 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2807 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2808 around ioctls.
2809
36b40a8a
EZ
28102001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2811
24b97d4b
EZ
2812 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2813 doc string line for dos-timezone-offset.
2814
36b40a8a
EZ
2815 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2816 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2817 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2818 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2819
2820 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2821
0967b4b0
GM
28222001-07-05 Gerd Moellmann <gerd@gnu.org>
2823
f25cfe53
GM
2824 * sound.c: Include Emacs' header files with #include "...".
2825
0967b4b0
GM
2826 * eval.c (specbind): Additionally record the buffer that was
2827 current when a buffer-local or frame-local variable was bound.
2828
c347a1c3
GM
28292001-07-04 Gerd Moellmann <gerd@gnu.org>
2830
2831 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2832 to unibyte characters in unibyte buffers.
2833
6332ca8a
GM
28342001-07-03 Gerd Moellmann <gerd@gnu.org>
2835
38472d44
GM
2836 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2837 the frame on the binding stack. Change format of entries for
2838 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2839 (unbind_to): Handle unbinding a frame-local variable.
2840
6332ca8a 2841 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2842 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2843 (dump_glyph_row): Print row's continuation_lines_width.
2844 (try_window_id): Take the shortcut if ZV is visible in the
2845 window, but there are actually no changes at ZV.
2846
63d1b174
GM
28472001-07-02 Gerd Moellmann <gerd@gnu.org>
2848
4c175203
GM
2849 * xterm.h (x_free_dpy_colors): Add prototype.
2850
2851 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2852 right number of arguments.
2853
0b54ce28
GM
2854 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2855 ($(lwlibdir)TAGS): New target.
4c175203 2856 (TAGS): Fix dependency list.
0b54ce28 2857
63d1b174
GM
2858 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2859 with input blocked.
2860
d827466c
GM
28612001-06-30 Gerd Moellmann <gerd@gnu.org>
2862
2863 * emacs.c (main): Remove extern declaration for sys_nerr, which
2864 isn't used and causes a compilation error with GCC 3.0 on
2865 FreeBSD 4.3.
2866
b5cb1ada
GM
28672001-06-27 Gerd Moellmann <gerd@gnu.org>
2868
a5d3ec3f 2869 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2870 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2871 (toplevel): Include <signal.h> and syssignal.h.
2872
b5cb1ada
GM
2873 * sound.c (vox_configure, vox_close): Turn off atimers
2874 around ioctls.
2875
d9bad487
GM
28762001-06-26 Gerd Moellmann <gerd@gnu.org>
2877
fdbb67fe
GM
2878 * keyboard.c (read_char) <non_reread>: Record the previous idle
2879 start time before calling timer_stop_idle.
2880 (read_char) <reread_first>: After processing a help-echo event,
2881 restore the previous idle start time.
2882
d9bad487
GM
2883 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2884 the start of invisible text.
2885 (setup_for_ellipsis): New function.
2886 (next_overlay_string): After all overlay strings have been
2887 processed, display an ellipsis if necessary.
2888 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2889 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2890
2891 * dispextern.h (struct iterator_stack_entry): Add member
2892 display_ellipsis_p.
2893
2b9c25e0
GM
28942001-06-25 Gerd Moellmann <gerd@gnu.org>
2895
80de57df
GM
2896 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2897 on the value of the wait-for-wm frame parameter.
2898
2899 * xterm.h (struct x_output): Add member wait_for_wm.
2900
2901 * xfns.c (Qwait_for_wm): New variable.
2902 (x_frame_parms): Add entry for `wait-for-wm".
2903 (x_set_wait_for_wm): New function.
2904 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2905 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2906
2b9c25e0
GM
2907 * xdisp.c (try_window_id) <all changes below window end>: Don't
2908 take this shortcut if ZV is visible in the window.
2909 (try_window_id): When checking for window start being in changed
2910 text, don't check that the buffer's size has changed.
2911
f772775c
RS
29122001-06-23 Richard M. Stallman <rms@gnu.org>
2913
2914 * minibuf.c (Fcompleting_read): Doc fix.
2915
fa9090b8
GM
29162001-06-19 Gerd Moellmann <gerd@gnu.org>
2917
2918 * composite.c (Ffind_composition_internal): Accept ZV
2919 and a string's end position as POS.
2920
f6f1beba
GM
29212001-06-18 Gerd Moellmann <gerd@gnu.org>
2922
2923 * composite.c (Ffind_composition_internal): Check POS
2924 for validity.
2925
0ae83348
EZ
29262001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2927
2928 * editfns.c (Fmessage_box): If the frame is not under a window
2929 system, output the message in the echo area.
2930
e4cdc335
RS
29312001-06-14 Richard M. Stallman <rms@gnu.org>
2932
2933 * xdisp.c (try_window_id): When EOB is visible, don't treat
2934 insertion at EOB as if it were "off the bottom of the screen."
2935
a55a5f3c
AI
29362001-06-11 Andrew Innes <andrewi@gnu.org>
2937
2938 * w32proc.c (create_child): Add new parameter is_gui_app.
2939 (w32_executable_type): Add new parameter is_gui_app.
2940 (sys_spawnve): Use it.
2941 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2942 SIGQUIT. This matches better how the signals are interpreted by
2943 MSVC compiled programs.
2944 (syms_of_ntproc): Update docstring.
2945
1b85dc1c
SM
29462001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2947
2948 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2949 well otherwise note_mouse_highlight might optimize away highlighting
2950 if we pass over that same overlay again.
2951
b75f8eab
EZ
29522001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2953
2954 * lread.c (Fload): Document that the argument is run via
2955 substitute-in-file-name.
2956
94843cc1
GM
29572001-05-31 Gerd Moellmann <gerd@gnu.org>
2958
b14659e6
GM
2959 * Makefile.in (bootstrap-doc): New target.
2960 (bootstrap-emacs): Depend on it.
2961
0894672f
GM
2962 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2963 auto-save-list-file-name when shutting down Emacs, because
2964 creating the directory might signal an error, and leaves
2965 Emacs in a strange state.
2966
94843cc1
GM
2967 * term.c: (tty_cursor_hidden): New variable.
2968 (update_begin): Don't call tty_hide_cursor. Clean up.
2969 (update_end, set_terminal_window, set_scroll_region): Clean up.
2970 (ring_bell, reset_terminal_modes): Clean up.
2971 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2972 on tty_cursor_hidden.
2973 (write_glyphs): Call tty_hide_cursor.
2974
db3a49a6
SM
29752001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2976
2977 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2978
8bd189fb
GM
29792001-05-30 Gerd Moellmann <gerd@gnu.org>
2980
6f1be3b9
GM
2981 * xfns.c (enum image_value_type): New enumerator
2982 IMAGE_STRING_OR_NIL_VALUE.
2983 (parse_image_spec): Handle it.
2984 (xbm_format, pbm_format): Use it for :foreground and :background.
2985 (xbm_load, pbm_load): Check for nil color names.
2986
8bd189fb
GM
2987 * xterm.c (note_mouse_highlight): If an overlapping overlay
2988 exists, but we find that we highlight the same overlay as before,
2989 don't do the highlighting again.
2990
7bdba03c
GM
29912001-05-29 Gerd Moellmann <gerd@gnu.org>
2992
4c329aa8
GM
2993 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2994 Protect unibyte strings created by replacing their multibyte
2995 equivalents in menu_items.
2996
e15e2828
GM
2997 * keymap.c (Fsingle_key_description): NUL-terminate the string
2998 buffer before calling build_string.
2999
7bdba03c
GM
3000 * callproc.c (Fcall_process): Deal with decode_coding returning
3001 CODING_FINISH_INCONSISTENT_EOL.
3002
89c8dc6c
GM
30032001-05-28 Gerd Moellmann <gerd@gnu.org>
3004
db3a49a6 3005 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3006 an item's name with its key description in case the description
3007 is a multibyte string.
3008
3009 * keymap.c (Fsingle_key_description): Create a multibyte string
3010 only if necessary.
3011
eb04d6cd
GM
3012 * macros.c (Fstart_kbd_macro): Doc fix.
3013
8bd6307f
GM
3014 * xterm.c (cursor_in_mouse_face_p): New function.
3015 (x_draw_stretch_glyph_string): Use it to choose a different GC
3016 when drawing a cursor within highlighted text.
3017
e26c4089
GM
3018 * editfns.c (char_property_eq): Put in #if 0.
3019
3020 * indent.c (string_display_width): Put in #if 0.
3021
3022 * lread.c (Fload): Remove unused label.
3023
89c8dc6c
GM
3024 * termcap.c (speeds): Put in #if 0.
3025
9a1211f2
GM
30262001-05-18 Gerd Moellmann <gerd@gnu.org>
3027
29148a3f
GM
3028 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3029
9a1211f2
GM
3030 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3031 transformation matrix by 10.
3032
09393d07
GM
30332001-05-16 Gerd Moellmann <gerd@gnu.org>
3034
3035 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3036 only if it's equal to the former foreground pixel color.
db3a49a6 3037 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3038 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3039
460e6bae
GM
30402001-05-16 Dave Love <fx@gnu.org>
3041
3042 * insdel.c (signal_before_change, signal_after_change): Consider a
3043 local change hook which changes the buffer.
99c78ce8
GM
3044
3045 * process.c (read_process_output): Don't call signal_after_change
3046 and update_compositions after insert_from_string_before_markers.
3047
dbcf3c03
GM
30482001-05-16 Gerd Moellmann <gerd@gnu.org>
3049
a90b3d3c
GM
3050 * xfaces.c (split_font_name): Use the right field when
3051 checking for `[...]' syntax.
3052
1b7818b4
GM
3053 * buffer.c (copy_overlays): New function.
3054 (clone_per_buffer_values): Use it.
3055
3056 * buffer.h (OVERLAY_PLIST): New macro.
3057
9bae8781
GM
3058 * keymap.c (Fsingle_key_description): Replace a build_string with
3059 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3060
dbcf3c03
GM
3061 * fontset.c (Ffontset_info): Check that face is non-null
3062 before accessing its fields.
3063
8a1ae4dd
GM
30642001-05-15 Gerd Moellmann <gerd@gnu.org>
3065
18a0a39e
GM
3066 * keyboard.c (read_key_sequence): Prevent generating a fake
3067 prefix key twice.
3068
e335b66a
GM
3069 * xfaces.c (split_font_name): Handle `[...]' for the right
3070 font name fields.
3071
8a1ae4dd
GM
3072 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3073 of CCL_STAT_INVALID_CMD.
3074
3cf80731
SM
30752001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3076
33568849
SM
3077 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3078 in <var> has no default value yet.
3079
3cf80731
SM
3080 * xfaces.c (try_alternative_families): First try the FAMILY.
3081 And if nothing is found in the end, try again with scalable fonts.
3082 (try_font_list): Let try_alternative_families do a bit more of
3083 the work. Only use FAMILY if it is not nil.
3084 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3085
933b0249
GM
30862001-05-14 Gerd Moellmann <gerd@gnu.org>
3087
58e5af83
GM
3088 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3089 pointer shape when show_mouse_face has already done it.
33568849 3090
58e5af83 3091 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3092 full-width rows.
3093
7b16a6bf
GM
3094 * xfaces.c (split_font_name): Make sure to leave the loop
3095 with the right value of `i'.
3cf80731 3096
933b0249
GM
3097 * xfaces.c (split_font_name): Handle matrix transformations
3098 in the pixel and point size fields of XLFD font names.
3099 (xlfd_point_size): Likewise.
3100
dddcbf00
EZ
31012001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3102
3cf80731 3103 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3104 (x_to_w32_font): Add prototype.
3105
7689ef0b
EZ
3106 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3107 redefining, to avoid compiler warnings.
3108
e7c15bba
EZ
3109 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3110
dddcbf00
EZ
3111 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3112 (w32_get_bdf_glyph): Cast between unsigned char and char when
3113 passing arguments to subroutines, to shut up compiler warnings.
3114 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3115 GET_HEX_VAL.
3116
3117 * xfaces.c: Include keyboard.h before frame.h, not after it.
3118
3119 * widget.c: Include keyboard.h before frame.h.
3120
3121 * w32term.h (struct image, struct face): Forward declaration, to
3122 avoid compiler warnings.
3123
7bd2d083
GM
31242001-05-11 Gerd Moellmann <gerd@gnu.org>
3125
47e72862
GM
3126 * keyboard.c (read_key_sequence): Don't modify events when
3127 generating fake prefix keys (mode-line, scroll-bar, ...) since
3128 this prevents proper processing of such events when pushed back
3129 into unread-command-events.
3130
dd5f324b
GM
3131 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3132 actually redrawn. Make the function static.
3133 (note_mouse_highlight): Fix a case where the mouse cursor
3134 was changed back to the text cursor.
3135
3136 * xterm.h (clear_mouse_face): Remove prototype.
3137
d88a79d4
GM
3138 * xdisp.c (try_window_id): Fix the fix and set the right
3139 window_end_vpos.
3140
3141 * xdisp.c (try_window_id): Fix computation of window end in the
3142 case that lines were deleted at the end of the window. Add some
3143 more debug_method_adds.
0416532f 3144
7bd2d083
GM
3145 * xfaces.c (try_alternative_families): New function.
3146 (try_font_list): Use it. If ATTRS specifies a family, check
3147 fonts from that family first.
3148 (choose_face_font): Remove code setting the family part of
3149 the pattern to nil.
3150
23fca891
GM
31512001-05-10 Gerd Moellmann <gerd@gnu.org>
3152
ff9aa2ca
GM
3153 * xdisp.c (try_window_id): Fix case of all changes before
3154 the window start.
7b2654b5 3155
23fca891
GM
3156 * xdisp.c (try_window_id): Add some xasserts.
3157
e9726794
GM
31582001-05-09 Gerd Moellmann <gerd@gnu.org>
3159
3160 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3161
9e53a675
GM
31622001-05-09 Dave Love <fx@gnu.org>
3163
3164 * xdisp.c (GIVE_UP): Fix for K&R C.
3165
0d487c52
GM
31662001-05-09 Gerd Moellmann <gerd@gnu.org>
3167
fe88d421
GM
3168 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3169
0d487c52
GM
3170 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3171 back to the text cursor shape without need.
3172
1e9fc92e
GM
31732001-05-07 Gerd Moellmann <gerd@gnu.org>
3174
a2a6232e
GM
3175 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3176
3177 * dispextern.h (inverse_video): Declare extern.
3178
1e9fc92e
GM
3179 * keyboard.c (delete_kboard): Handle the case that selected_frame
3180 has been deleted in the course of x_connection_closed.
3181
12949a7f
EZ
31822001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3183
7b2654b5
SM
3184 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3185 Fix the change from 2001-04-30.
12949a7f 3186
2fa2f461
GM
31872001-05-03 Gerd Moellmann <gerd@gnu.org>
3188
a779d213
GM
3189 * xfns.c (file_dialog_unmap_cb): New function.
3190 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3191 where a dialog is closed via the window manager.
3192
7b2654b5 3193 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3194 the window start or all below the window end mostly rewritten.
3195 (redisplay_window): Move the tests if try_window_id is
3196 applicable to try_window_id.
3197 (GIVE_UP): New macro.
3198
3356df63
GM
31992001-05-02 Gerd Moellmann <gerd@gnu.org>
3200
a39202f6 3201 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3202 currently being updated, mark the frame garbaged.
3203 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3204 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3205
3356df63
GM
3206 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3207 again if it has already been drawn.
3208
a9d2fd1d
SM
32092001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3210
3211 * syntax.c (update_syntax_table): Check that oldi has the same
3212 properties as old_prop before deciding not to invalidate.
3213
c95fc5f1
GM
32142001-04-30 Gerd Moellmann <gerd@gnu.org>
3215
a9793e45
GM
3216 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3217 read-only text that is so because of text properties.
3218
c95fc5f1 3219 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3220 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3221 windows that are components of a Lucid menu bar.
3222
5a5d9185
GM
32232001-04-27 Gerd Moellmann <gerd@gnu.org>
3224
3225 * term.c (turn_on_face): Fix reverse video handling on terminals
3226 that don't support colors.
3227
ba973f7a
GM
32282001-04-26 Gerd Moellmann <gerd@gnu.org>
3229
3230 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3231 a non-buffer.
3232
8c56a983
GM
32332001-04-25 Gerd Moellmann <gerd@gnu.org>
3234
a728644c
GM
3235 * term.c (toggle_highlight): New function.
3236 (turn_on_face): Change handling of reverse video.
3237
7b2654b5
SM
3238 * process.c (wait_reading_process_input):
3239 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3240
bfd8410f
GM
3241 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3242 of the number of overlays to check.
3243
be2488ca
GM
3244 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3245
8c56a983
GM
3246 * xdisp.c (try_window_id): Fix a case where window_end_pos
3247 and window_end_bytepos were not adjusted.
3248
522d42f7
GM
32492001-04-23 Gerd Moellmann <gerd@gnu.org>
3250
3251 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3252 zero instead of -1.
3253
78c1afb6
EZ
32542001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3255
a9d2fd1d
SM
3256 * process.c (wait_reading_process_input) [!subprocesses]:
3257 Don't reference waiting_for_user_input_p, it's not defined in the
3258 branch without async subprocesses support.
78c1afb6 3259
a2fab450
GM
32602001-04-19 Gerd Moellmann <gerd@gnu.org>
3261
a122a38e
GM
3262 * keyboard.c (delete_kboard): Prevent a dangling reference
3263 from current_kboard to KB, which is freed.
3264
a9d2fd1d
SM
3265 * process.c (wait_reading_process_input):
3266 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3267 read_key_sequence aware of buffer changes from under it.
3268
0f8d6dc7
GM
32692001-04-18 Gerd Moellmann <gerd@gnu.org>
3270
eeffb293
GM
3271 * xfaces.c (Qscalable_fonts_allowed): New variable.
3272 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3273 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3274 removed.
eeffb293 3275 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3276 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3277 for scalable-fonts-allowed to t.
eeffb293 3278
0f8d6dc7
GM
3279 * fileio.c (Finsert_file_contents): If the file size returned from
3280 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3281 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3282
eec2d1de
EZ
32832001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3284
3285 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3286 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3287 (__memalign_hook): Make the two prototypes consistent.
3288
f4f480bd
GM
32892001-04-17 Gerd Moellmann <gerd@gnu.org>
3290
3291 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3292 matrix of mini-windows.
3293
52283633
SM
32942001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3295
3296 * intervals.c (find_interval): Don't rebalance during signal handling.
3297
ec2423c9
GM
32982001-04-11 Gerd Moellmann <gerd@gnu.org>
3299
30cb0001 3300 * fns.c: Include blockinput.h.
52283633 3301
ec2423c9
GM
3302 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3303
719d83ad
GM
33042001-04-10 Gerd Moellmann <gerd@gnu.org>
3305
60f8d735
GM
3306 * fns.c (Fcompare_strings): Fix return values.
3307
afffeb57
GM
3308 * window.c (window_scroll): Change the meaning of N to mean
3309 N screen-fulls or N lines.
3310 (window_scroll_pixel_based, window_scroll_line_based)
3311 (scroll_command, Fscroll_other_window): Change accordingly.
3312
52283633
SM
3313 * window.c (window_scroll_pixel_based, Frecenter):
3314 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3315 height of the window.
3316
3317 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3318 instead of using it.last_visible_y for the height of the window.
52283633 3319
719d83ad 3320 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3321 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3322
3323 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3324 able to write to hidden and system files. From Dan Holmsand
3325 <dan@eyebee.com>.
719d83ad 3326
8ddf3ee1
GM
3327 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3328 Holmsand <dan@eyebee.com>.
719d83ad 3329
522ed7fb
GM
33302001-04-09 Gerd Moellmann <gerd@gnu.org>
3331
9170e5d4
GM
3332 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3333
522ed7fb
GM
3334 * window.c (window_internal_height): Return 1 less if the
3335 window has a header line.
3336
3337 * xdisp.c (try_window_id): When scrolling on a terminal, take
3338 the change of window_internal_height into account.
3339
ceeb3d7d
EZ
33402001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3341
3342 * gmalloc.c (align): If the argument SIZE would overflow
3343 __malloc_ptrdiff_t, fail right away.
3344
63685b9d
GM
33452001-04-06 Gerd Moellmann <gerd@gnu.org>
3346
3347 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3348 Make sure the tooltip is completely visible.
3349 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3350
3351 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3352
3353 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3354
3ffb33bb
DL
33552001-04-06 Dave Love <fx@gnu.org>
3356
52283633
SM
3357 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3358 Fix test of `from'.
3ffb33bb 3359
869fb12c
GM
33602001-04-06 Gerd Moellmann <gerd@gnu.org>
3361
52283633 3362 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3363
869fb12c
GM
3364 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3365
441bf856
GM
33662001-04-05 Gerd Moellmann <gerd@gnu.org>
3367
4d664b04
GM
3368 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3369
52283633 3370 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3371
30ca89f5
GM
3372 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3373 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3374
3375 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3376 shell widget's position only if it is non-null.
3377
52283633
SM
3378 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3379 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3380
81a81c0f
GM
3381 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3382 FILENAME to bring it in synch with the documentation.
3383
441bf856
GM
3384 * xfaces.c (realizing_basic_faces_p): Renamed from
3385 realize_default_face_p.
3386 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3387 (realize_default_face): Don't set the flag.
3388
702a1e8e
GM
33892001-04-04 Gerd Moellmann <gerd@gnu.org>
3390
1013f4e3
GM
3391 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3392
52283633
SM
3393 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3394
1013f4e3
GM
3395 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3396 the buffer that was used for echoing.
3397
702a1e8e
GM
3398 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3399 (first_font_matching): Removed unused function.
3400 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3401 (may_use_scalable_font_p): Remove parameter FONT; rename
3402 parameter NAME to FONT.
3403 (x_face_list_fonts): Fix missing bounds check.
3404 (realizing_default_face_p): New variable.
3405 (realize_default_face): Set and clear that flag.
3406 (x_face_list_fonts): When called during the realization of the
3407 default face, and no matching fonts are found when ignoring
3408 scalable fonts and fonts matching a regexp from
3409 face-ignored-fonts, try without ignoring fonts.
3410
f9dbcda4
GM
34112001-04-03 Gerd Moellmann <gerd@gnu.org>
3412
ad18ffb1
GM
3413 * xfns.c (postprocess_image): New function.
3414 (lookup_image): Call it for all image types except PostScript.
3415 (x_kill_gs_process): Call postprocess_image.
3416
f9dbcda4
GM
3417 * xterm.c (x_use_underline_position_properties): New variable.
3418 (x_draw_glyph_string): Use it.
3419 (syms_of_xterm): DEFVAR_BOOL it.
3420
651f03b6
GM
34212001-04-02 Gerd Moellmann <gerd@gnu.org>
3422
3423 * xterm.c (x_alloc_nearest_color_1): New function.
3424 (x_alloc_nearest_color): Use it.
3425 (x_color_cells): Take a Display as argument, instead of a frame.
3426 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3427 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3428 (x_initialize): Register cvt_string_to_pixel as resource converter
3429 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3430
73d75a62
GM
34312001-03-30 Gerd Moellmann <gerd@gnu.org>
3432
b2046df8
GM
3433 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3434 (set_iterator_to_next): If a string from a display property ends,
3435 consider the case that this might also be the end of an
3436 overlay string having the display property.
3437
52283633 3438 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3439
87d8eba4
GM
3440 * xdisp.c (reseat_to_string): Undo last change.
3441
73d75a62
GM
3442 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3443 matrix of a window when the header line changes, when
3444 new rows are allocated, or when the width changes.
3445
911a2406
EZ
34462001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3447
52283633 3448 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3449
aea51abe
EZ
34502001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3451
3452 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3453 deprecated.
3454
176bc847
GM
34552001-03-29 Gerd Moellmann <gerd@gnu.org>
3456
ed31fabf
GM
3457 * data.c (Fsubr_interactive_form): New function.
3458 (syms_of_data): Defsubr it.
3459
176bc847
GM
3460 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3461 (live_float_p, live_misc_p): Return 1 only if the offset of the
3462 pointer in its block is >= 0.
3463
e59d0e9d
GM
34642001-03-28 Paul Eggert <eggert@twinsun.com>
3465
3466 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3467 microseconds calcuation. Avoid double-rounding problem.
3468 In doc string, warn that the result is approximate.
3469
f827b862
GM
34702001-03-28 Gerd Moellmann <gerd@gnu.org>
3471
30a3f61c
GM
3472 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3473 bind `inhibit-eval-during-redisplay' to t.
3474
3475 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3476
3477 * xdisp.c (inhibit_eval_during_redisplay)
3478 (Qinhibit_eval_during_redisplay): New variables.
3479 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3480 don't eval, return nil instead.
3481 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3482 Initialize Qinhibit_eval_during_redisplay.
3483
e719f5ae
GM
3484 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3485 the iterator's multibyte_p flag.
3486
deb2613a
GM
3487 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3488 instead of setting it to zero; it's incremented for each frame
3489 where the menu face is changed.
3490
52283633
SM
3491 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3492 change bottom shadow accordingly.
3493
3494 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3495 intersections here.
3496 (expose_window): Do it here instead.
52283633 3497 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3498
f827b862
GM
3499 * bytecode.c (BYTE_CODE_QUIT): New macro.
3500 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3501
4bde0ebb
GM
35022001-03-27 Gerd Moellmann <gerd@gnu.org>
3503
607ec83c
GM
3504 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3505 Give up if matrix starts in an ellipsis.
3506 (init_from_display_pos): Do nothing if POS doesn't specify
3507 a dpvec_index but the iterator has such a position.
3508
0245398f
GM
3509 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3510
aba25348
GM
3511 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3512 x/y position is (0, 0) after destroying the menu bar, restore
3513 its original position.
3514
4bde0ebb
GM
3515 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3516 (init_from_display_pos): Use it.
3517 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3518
8cdb267e
GM
35192001-03-26 Gerd Moellmann <gerd@gnu.org>
3520
3521 * xdisp.c (try_window_id): Undo last change.
3522
9948db79
EZ
35232001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3524
3525 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3526
3527 * buffer.c (syms_of_buffer): Doc fix.
3528
2eddf899
GM
35292001-03-26 Gerd Moellmann <gerd@gnu.org>
3530
3531 * xfaces.c (x_update_menu_appearance): Use local variable
3532 popup_path for setting font resources.
3533
6c145d35
EZ
35342001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3535
6a65b1b5
EZ
3536 * frame.c (Fframe_list): Don't reference tip_frame if
3537 HAVE_WINDOW_SYSTEM is not defined.
3538
6c145d35
EZ
3539 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3540 <wl@gnu.org>.
3541
d74c1900
GM
35422001-03-25 Gerd Moellmann <gerd@gnu.org>
3543
20fbd925
GM
3544 * xdisp.c (init_from_display_pos): Test invisible property
3545 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3546
927c5b3b
GM
3547 * xdisp.c (redisplay_internal) <update one window>: Make sure
3548 last_arrow_position and last_arrow_string are set.
3549
d74c1900
GM
3550 * frame.c (Fframe_list): Don't return a tooltip frame.
3551
091f8878
GM
35522001-03-23 Gerd Moellmann <gerd@gnu.org>
3553
52283633
SM
3554 * xdisp.c (mark_window_display_accurate_1): New function,
3555 extracted from mark_window_display_accurate.
3556 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3557 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3558 (mark_window_display_accurate): Use it.
3559 (redisplay_internal): Use it for the selected window.
3560 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3561 for the selected frame.
3562
ac90c44f
GM
3563 * xdisp.c Use make_number, for readability.
3564 (try_window_id): Disable rows below the window end.
3565 (try_window_reusing_current_matrix): Use cursor_row_p.
3566 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3567 of rows.
3568 (init_from_display_pos): If POS specifies a position in a display
3569 vector, maybe get the iterator set up for that ellipsis.
43c09969 3570
091f8878
GM
3571 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3572
991786dd
EZ
35732001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3574
3575 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3576
6c29b43c
GM
35772001-03-23 Gerd Moellmann <gerd@gnu.org>
3578
3579 * xfaces.c (x_update_menu_appearance): Use a different path
3580 for Lucid popup menus.
3581
d8731202
SM
35822001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3583
3584 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3585
3586 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3587 (string_buffer_position): Use `make_number'.
3588
f61a541b
GM
35892001-03-22 Gerd Moellmann <gerd@gnu.org>
3590
3c9e997b
GM
3591 * xfaces.c (x_update_menu_appearance): Renamed from
3592 x_set_menu_face_resources. Use different resources for popups.
3593
3594 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3595 (GC_CHECK_STRING_BYTES): Don't define.
3596
364cd450
GM
3597 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3598 Removed, together with subroutines.
3599 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3600 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3601
d8731202
SM
3602 * dispextern.h (x_set_menu_resources_from_menu_face):
3603 Remove prototype.
364cd450 3604
d8731202 3605 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3606 Remove calls to x_set_menu_resources_from_menu_face.
3607
d8731202
SM
3608 * xfaces.c (xm_set_menu_resources_from_menu_face):
3609 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3610
3611 * xmenu.c: Include widget.h.
3612 (single_submenu): Return int. Some cleanup.
3613 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3614
140330de
GM
36152001-03-21 Gerd Moellmann <gerd@gnu.org>
3616
3617 * xterm.c (x_update_window_end): Handle overwritten mouse face
3618 also for tool bar windows.
3619 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3620 DRAW is DRAW_IMAGE_RAISED.
3621
1741905c
GM
36222001-03-20 Gerd Moellmann <gerd@gnu.org>
3623
fa88947e
GM
3624 * print.c (syms_of_print): Doc fixes.
3625
1741905c
GM
3626 * fns.c (Fmd5): Doc fix.
3627
ade0bee1
GM
36282001-03-19 Gerd Moellmann <gerd@gnu.org>
3629
357e7376
GM
3630 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3631 Clear area of the frame not occupied by the scroll bar.
3632
c2c097cc
GM
3633 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3634 tip frame's root window buffer to *tip* right after creating
3635 the frame.
3636
ade0bee1
GM
3637 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3638 is an integer don't have to be for space characters.
3639
88c6e37e
GM
36402001-03-16 Gerd Moellmann <gerd@gnu.org>
3641
52283633
SM
3642 * indent.c (current_column, current_column_1, Fmove_to_column)
3643 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3644
c62eed76
KH
36452001-03-15 Kenichi Handa <handa@etl.go.jp>
3646
3647 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3648 drawing glyph string.
3649
c899e7e6
GM
36502001-03-15 Gerd Moellmann <gerd@gnu.org>
3651
d0bbfc99
GM
3652 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3653 (command_loop_1): Undo last change.
3654
03d1a189
GM
3655 * xterm.c (fast_find_position): Return the correct vpos.
3656
c899e7e6 3657 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3658 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3659 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3660 Call store_symval_forwarding with BUF null.
3661 (set_internal): Call store_symval_forwarding with the BUF
3662 parameter passed to set_internal. Formerly, the value was always
3663 set in the current buffer; the buffer recorded in specbind for
3664 this case wasn't used.
3665 (arith_driver): Reindent.
3666
52283633
SM
3667 * buffer.c (swap_out_buffer_local_variables):
3668 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3669
3670 * lisp.h (store_symval_forwarding): Change prototype.
3671
3672 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3673
57ac7c81
GM
36742001-03-14 Gerd Moellmann <gerd@gnu.org>
3675
697617d9
GM
3676 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3677 FOR_DELETION. Avoid resizing the mini-window of the selected
3678 frame if FOR_DELETION is set.
3679 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3680 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3681 signature.
3682
3683 * window.c (Fset_window_configuration): Change call to
3684 do_switch_frame to new format.
3685
3686 * keyboard.c (quit_throw_to_read_char): Change call to
3687 do_switch_frame to new format.
3688
3689 * lisp.h (do_switch_frame): Change prototype.
3690
819dce0f
GM
3691 * frame.c (Fframe_parameters): In the `buffer-list' frame
3692 parameter, store the buffer list of FRAME, not the list of the
3693 selected frame.
3694
57ac7c81
GM
3695 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3696 box just because the glyph row's full_width_p flag is set.
3697
65008712
GM
36982001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3699
3700 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3701 skip the padding blanks inserted in extend_face_to_end_of_line,
3702 before checking for trailing whitespace.
3703
159cf431
GM
37042001-03-13 Gerd Moellmann <gerd@gnu.org>
3705
52283633 3706 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3707 Remove special handling for LessTif/Motif.
3708 (toplevel): Don't include Xm/Xm.h.
3709
52283633
SM
3710 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3711 Remove workaround code for LessTif; it doesn't work anymore.
3712
2564ea1b 3713 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3714 Xm/ScrollBarP.h.
afcdc0a1 3715
52283633
SM
3716 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3717 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3718 contemporary LessTif.
3719
52283633
SM
3720 * xfaces.c (xm_set_menu_resources_from_menu_face):
3721 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3722
159cf431
GM
3723 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3724 removing button grabs.
3725
c6f7429a
KH
37262001-03-13 Kenichi Handa <handa@etl.go.jp>
3727
cb82d767
KH
3728 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3729 and clip-large-size-font as obsolete.
3730
c6f7429a
KH
3731 * lread.c (read_multibyte): Check the validity of multibyte
3732 sequence. If invalid, return the first byte.
3733
760cefb5
GM
37342001-03-12 Gerd Moellmann <gerd@gnu.org>
3735
3736 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3737 before running the command; timer functions or process
3738 filters may have set it.
3739
5141f9d0
EZ
37402001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3741
3742 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3743 Doc fix.
3744
b6a15240
GM
37452001-03-12 Gerd Moellmann <gerd@gnu.org>
3746
3747 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3748 to sprintf.
3749
95522746
GM
37502001-03-09 Gerd Moellmann <gerd@gnu.org>
3751
db14cfc5
GM
3752 * dispextern.h (string_buffer_position): Add prototype.
3753
52283633 3754 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3755 (single_display_prop_string_p): New functions.
3756
3757 * xterm.c (note_mouse_highlight): If there's no help-echo on
3758 a string, look at the buffer text ``under'' it.
3759
3760 * keyboard.c (make_lispy_event): Add string info to the event,
3761 analogous to what's done on mode lines.
3762 (read_key_sequence): For a click on a string, consider `local-map'
3763 and `keymap' of that string.
3764
52283633
SM
3765 * keyboard.c (make_lispy_event, make_lispy_movement):
3766 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3767
3768 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3769
3770 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3771 POS; return void.
3772
95522746
GM
3773 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3774 flags argument to emacs_open; it seems to conflict with O_EXCL.
3775
898a399d
KH
37762001-03-09 Kenichi Handa <handa@etl.go.jp>
3777
28cd4910
KH
3778 * composite.h (struct composition): Change types of members;
3779 glyph_len to unsigned, width to unsigned short.
898a399d 3780
4cdf6a6c
AI
37812001-03-08 Andrew Innes <andrewi@gnu.org>
3782
3783 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3784 menu titles.
3785
129004d3
GM
37862001-03-08 Gerd Moellmann <gerd@gnu.org>
3787
221dd3e7
GM
3788 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3789 instead of nil.
3790
52283633 3791 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3792 help-echo in strings.
3793 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3794 (fast_find_string_pos): New function.
3795
52283633
SM
3796 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3797 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3798
3799 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3800 Handle `mouse-face'.
3801
3802 * dispextern.h (face_at_string_position): Change prototype.
3803
52283633 3804 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3805
129004d3
GM
3806 * keyboard.c (make_lispy_event): Avoid generating drag events
3807 if the mouse hasn't actually moved to another buffer position.
52283633 3808
80c8ab8c
DL
38092001-03-08 Dave Love <fx@gnu.org>
3810
129004d3 3811 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3812
989521fd
GM
38132001-03-08 Gerd Moellmann <gerd@gnu.org>
3814
3815 * process.c (Fset_process_window_size): Fix a typo.
3816
bb5c338d
KH
38172001-03-08 Kenichi Handa <handa@etl.go.jp>
3818
3819 * coding.c (detect_coding_sjis): Do more rigid check.
3820 (detect_coding_big5): Likewise.
3821 (decode_coding_sjis_big5): Likewise.
3822 (Fdetect_coding_region): Call detect_coding_system with tailing
3823 anchor byte `\0' for more rigid detection.
52283633 3824 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3825 (Fdetect_coding_string): Likewise.
3826
8b8f9197
SM
38272001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3828
3829 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3830 a string before extracting its data.
3831
3bdf2660
GM
38322001-03-07 Gerd Moellmann <gerd@gnu.org>
3833
3834 * window.c (Frecenter): Rewrite code handling negative values
3835 of ARG on graphical frames.
3836
38372001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3838
3839 * window.c (displayed_window_lines): If W->start is outside the
3840 accessible portion of the buffer, call start_display with BEGV or
3841 ZV instead of W->start.
3842
471f86b9
GM
38432001-03-07 Gerd Moellmann <gerd@gnu.org>
3844
2ab62c6c
GM
3845 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3846
471f86b9
GM
3847 * process.c (Fset_process_filter): Don't crash if the input
3848 file descriptor of PROCESS is closed.
3849 (Fset_process_window_size): Likewise.
3850
101922c3
GM
38512001-03-06 Kenichi Handa <handa@etl.go.jp>
3852
3853 * xterm.c (XTflash): Make the timeout of select shorter, and call
3854 select repeatedly until the desired time expires.
3855
45d051a7
GM
38562001-03-06 Gerd Moellmann <gerd@gnu.org>
3857
3858 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3859
3860 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3861
3862 * lisp.h (Vwindow_list): Declare extern.
3863
8f372c46
EZ
38642001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3865
3866 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3867
f16a7aa5
GM
38682001-03-06 Gerd Moellmann <gerd@gnu.org>
3869
157ae273
GM
3870 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3871 to detect a case where we have to highlight a different region
3872 despite not having left the currently highlighted region.
3873 Set mouse_face_overlay in the x_display_info.
45d051a7 3874 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3875
3876 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3877
3878 * buffer.c (mouse_face_overlay_overlaps): New function.
3879
3880 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3881 (Qmouse_face): Declare extern.
3882
f16a7aa5
GM
3883 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3884 if face_change_count is non-zero.
3885
827afcac
KH
38862001-03-06 Kenichi Handa <handa@etl.go.jp>
3887
3888 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3889 that the source is unibyte.
3890
14c7242e
DL
38912001-03-05 Dave Love <fx@gnu.org>
3892
827afcac 3893 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3894
c28b847b
GM
38952001-03-05 Gerd Moellmann <gerd@gnu.org>
3896
3897 * minibuf.c (read_minibuf): Clean up the binding stack if
3898 called noninteractively.
3899
b86644f2
KH
39002001-03-05 Kenichi Handa <handa@etl.go.jp>
3901
3902 * coding.c (syms_of_coding): Docstring modified.
3903
203682cc 39042001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3905
3906 * charset.c (char_to_string): If a single byte char has modifier
3907 bits that can't be reflected to the character code, ignore them
45d051a7 3908 instead of signaling an error.
b86644f2 3909
e30bd7b7
EZ
39102001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3911
3912 * s/msdos.h: Update copyright notice.
3913
3914 * dosfns.h: Update copyright notice.
3915
3916 * dosfns.c: Update copyright notice.
3917
3918 * msdos.c: Update copyright notice.
3919
b52b65bd
GM
39202001-03-02 Gerd Moellmann <gerd@gnu.org>
3921
3922 * xterm.c (glyph_rect): New function.
3923 (XTmouse_position): Use it to raise the threshold for mouse
3924 movement event generation.
3925
53c4b1e6
EZ
39262001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3927
3928 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3929 specifies (reverse . t), reverse the initial screen colors.
3930 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3931 but we are reversing the colors, set bg_set, not fg_set.
3932 Likewise for setting background-color and reversing: set fg_set.
3933 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3934 in effect.
3935
3936 * xfaces.c (Finternal_set_lisp_face_attribute)
3937 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3938 parameters alist.
3939
f964b4d7
GM
39402001-03-02 Gerd Moellmann <gerd@gnu.org>
3941
ef53d75e
GM
3942 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3943 to a single slash in the middle of file names.
3944
52283633 3945 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3946 Accept only alphanumeric time zone names.
3947
f964b4d7
GM
3948 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3949 or width area.
3950 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3951 a widget to zero height.
52283633 3952
c3c45f65
GM
39532001-03-01 Gerd Moellmann <gerd@gnu.org>
3954
3955 * window.c (Fwindow_end): Call move_it_past_eol only if
3956 ending up on a partially visible line.
3957
028d739a
DL
39582001-03-01 Dave Love <fx@gnu.org>
3959
3960 * ccl.c (Fccl_execute): Doc fix.
3961
57c5889c
GM
39622001-03-01 Gerd Moellmann <gerd@gnu.org>
3963
35f59f6b
GM
3964 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3965 of the tool bar before calling x_figure_window_size.
3966
f84ff02c
GM
3967 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3968 NULL after destroying it, otherwise XTread_socket can access a
3969 destroyed widget when input is unblocked.
3970
8b8f9197 3971 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3972
57c5889c
GM
3973 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3974 same name as before, although there was a change in fontsets.
3975
224227d1
KR
39762001-02-28 Ken Raeburn <raeburn@gnu.org>
3977
4560730a
KR
3978 * lisp.h (Fframe_parameter): Declare.
3979
224227d1 3980 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3981 Lisp_Object.
224227d1 3982
ece93c02
GM
39832001-02-28 Gerd Moellmann <gerd@gnu.org>
3984
11ef99b9
GM
3985 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3986 NULL instead.
3987
3988 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3989 NULL instead.
3990
ece93c02
GM
3991 * alloc.c (toplevel): Include process.h.
3992 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3993 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3994 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3995 (allocate_vector, allocate_hash_table, allocate_window)
3996 (allocate_frame, allocate_process, allocate_other_vector):
3997 New functions.
ece93c02
GM
3998 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3999 (mark_maybe_pointer): New function.
52283633 4000 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4001 remain and not Lisp_Objects.
4002 (min_heap_address, max_heap_address): New variables.
4003 (mem_find): Return MEM_NIL if START is below min_heap_address or
4004 above max_heap_address.
4005 (mem_insert): Compute min_heap_address and max_heap_address.
4006
4007 * process.c (make_process): Use allocate_process.
4008
4009 * frame.c (make_frame): Use allocate_frame.
4010
4011 * window.c (make_window, make_dummy_parent): Use allocate_window.
4012 (Fcurrent_window_configuration): Use allocate_other_vector.
4013
4014 * lisp.h (allocate_vectorlike): Remove prototype.
4015 (allocate_vector, allocate_other_vector, allocate_frame)
4016 (allocate_window, allocate_process, allocate_hash_table):
4017 Add prototypes.
4018
4019 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4020 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4021
063af457
KH
40222001-02-27 Kenichi Handa <handa@etl.go.jp>
4023
4024 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4025 treat the produced bytes as a valid multibyte sequence.
4026
4027 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4028 (ccl_driver) <CCL_WriteMultibyteChar2>:
4029 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4030 <ccl_finish>: Set ccl->eight_bit_control properly.
4031
4032 * ccl.h (struct ccl_program): New member eight_bit_control.
4033
f58c6494
SM
40342001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4035
4036 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4037 accessible_keymaps_char_table.
4038 (accessible_keymaps_char_table): Obey `is_metized'.
4039 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4040 Lisp_Object.
4041
c596c392
GM
40422001-02-26 Gerd Moellmann <gerd@gnu.org>
4043
4044 * dispnew.c: Check HAVE_TERM_H before including term.h.
4045
425de386
AI
40462001-02-24 Andrew Innes <andrewi@gnu.org>
4047
4048 * makefile.w32-in: Update copyright notice.
4049
2ba11bbd
SM
40502001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4051
4052 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4053
66c56ed1
KH
40542001-02-24 Kenichi Handa <handa@etl.go.jp>
4055
4c1593ce
KH
4056 * Makefile.in (lisp): Add international/utf-8.elc.
4057
66c56ed1
KH
4058 * fontset.c (Fnew_fontset): Fix handling of the case that an
4059 element of FONTLIST is a cons of family and registry.
4060
796ead7e
JR
40612001-02-23 Jason Rumney <jasonr@gnu.org>
4062
4063 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4064 to height unconditionally.
4065
4066 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4067 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4068 (x_insert_glyphs): Call window_box_left to obtain the left
4069 x-coordinate of the area to shift.
4070
4071 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4072 safe_run_hooks.
4073
f6839838
AI
40742001-02-22 Andrew Innes <andrewi@gnu.org>
4075
52283633 4076 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4077 ($(BLD)\dispnew.obj):
4078 ($(BLD)\editfns.obj):
4079 ($(BLD)\fileio.obj):
4080 ($(BLD)\filelock.obj):
4081 ($(BLD)\keyboard.obj):
4082 ($(BLD)\w32proc.obj):
4083 ($(BLD)\process.obj):
4084 ($(BLD)\sysdep.obj): Ditto.
4085
4086 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4087 header files.
52283633
SM
4088 ($(BLD)/dispnew.$(O)):
4089 ($(BLD)/editfns.$(O)):
4090 ($(BLD)/fileio.$(O)):
4091 ($(BLD)/filelock.$(O)):
4092 ($(BLD)/keyboard.$(O)):
4093 ($(BLD)/w32proc.$(O)):
4094 ($(BLD)/process.$(O)):
f6839838
AI
4095 ($(BLD)/sysdep.$(O)): Ditto.
4096
c224f70b
GM
40972001-02-22 Gerd Moellmann <gerd@gnu.org>
4098
51695746
GM
4099 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4100 at the start of the function, check that the \n in it->c is
4101 from the iterator's current position.
52283633 4102
a61b7058
GM
4103 * xdisp.c (handle_single_display_prop): Add parameter
4104 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4105 properties which replace the display of text with something else.
4106 (handle_display_prop): Call handle_single_display_prop with
4107 additional argument saying if we already replaced text display
4108 with something else. Use AREF.
52283633 4109 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4110 (decode_mode_spec_coding): Use AREF and ASIZE.
4111
3473f362
GM
4112 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4113 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4114 * vmstime.h: Files removed.
52283633 4115
2bb58df3
GM
4116 * unexencap.c, unexfx2800.c: Files removed.
4117
c224f70b
GM
4118 * dispnew.c (direct_output_for_insert): Give up if we are showing
4119 a message or just cleared the message because we might need to
4120 resize the echo area window or display an empty echo area.
4121
ffc9ff0c
GM
41222001-02-21 Gerd Moellmann <gerd@gnu.org>
4123
0528abe1
GM
4124 * xdisp.c (redisplay_internal): Do the
4125 mark_window_display_accurate after all windows have been
4126 redisplayed because this call resets flags in buffers which are
4127 needed for proper redisplay.
4128
52283633
SM
4129 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4130 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4131 the old names.
4132
52283633
SM
4133 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4134 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4135
4136 * msdos.h (struct x_output): Rename busy_window to
4137 hourglass_window, busy_p to hourglass_p.
4138
52283633
SM
4139 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4140 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4141
4142 * xfns.c: Rename everything containing *busy_cursor* and similar
4143 to *hourglass*.
4144 (syms_of_w32fns): Rename x-busy-pointer-shape to
4145 x-hourglass-pointer-shape, display-busy-cursor to
4146 display-hourglass, busy-cursor-delay to hourglass-delay.
4147
4148 * w32fns.c: Rename everything containing *busy_cursor* and similar
4149 to *hourglass*.
4150 (syms_of_w32fns): Rename x-busy-pointer-shape to
4151 x-hourglass-pointer-shape, display-busy-cursor to
4152 display-hourglass, busy-cursor-delay to hourglass-delay.
4153
4154 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4155 of its busy_p flag.
4156
4157 * dispextern.h (start_hourglass, cancel_hourglass)
4158 (display_hourglass_p): Renamed from *busy_cursor*.
4159
ab2c5f0a
GM
41602001-02-20 Gerd Moellmann <gerd@gnu.org>
4161
d17e49a8
GM
4162 * keyboard.c (read_char): When an event from unread-command-events
4163 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4164
fa97adf6
GM
4165 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4166 equal to the current buffer.
4167
ab2c5f0a
GM
4168 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4169 nil, otherwise we're left with truncate_lines t when a message
4170 is printed with message-truncate-lines bound to t.
4171
aeac019e
GM
41722001-02-19 Gerd Moellmann <gerd@gnu.org>
4173
c8bc6f65
GM
4174 * window.c (Fmove_to_window_line): Undo last change.
4175 (displayed_window_lines): Call line_bottom_y to determine
4176 the line's bottom position.
4177
4178 * dispextern.h (line_bottom_y): Add prototype.
4179
52283633 4180 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4181 (pos_visible_p): Use it.
4182
980a2d69
GM
4183 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4184 set redisplaying_p to 0 here instead of in Frecursive_edit.
4185 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4186 set redisplaying_p.
4187
52283633 4188 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4189 New variables.
4190 (syms_of_xdisp): Initialize new variables.
4191 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4192 Specbind `inhibit-menubar-update' when updating the menu bar.
4193
65048e97
GM
4194 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4195 safe_run_hooks.
4196
4197 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4198 safe_run_hooks.
4199
a57c4026
GM
4200 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4201 is null.
4202
aeac019e
GM
4203 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4204 to the start of the file.
4205
76846b31
GM
42062001-02-16 Gerd Moellmann <gerd@gnu.org>
4207
f3f053f3 4208 * window.c (set_window_buffer): Fix last change.
52283633 4209
f3f053f3
GM
4210 * window.c (set_window_buffer): Set window's vscroll to 0.
4211
dad75588
GM
4212 * window.c (coordinates_in_window): Increase width of area
4213 where the vertical line can be dragged.
4214
c220b753
GM
4215 * xterm.c (x_set_glyph_string_background_width): Extend the
4216 background face to the end of the drawing area in the text
4217 area, only.
4218
c56b1c1b
GM
4219 * xdisp.c (handle_single_display_prop): Set iterator's position
4220 to where the `display' property starts, like for images.
4221 (dump_glyph): New function.
4222 (dump_glyph_row): Use it. Dump info about marginal areas.
4223
4224 * dispnew.c (direct_output_for_insert): Recognize more cases where
4225 glyphs can be written instead of being inserted.
4226
4227 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4228 the left x-coordinate of the area to shift.
4229
76846b31
GM
4230 * dired.c (directory_files_internal): Set result list to nil
4231 before retrying.
4232
0fc71a77
KH
42332001-02-15 Kenichi Handa <handa@etl.go.jp>
4234
4235 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4236 invalid multibyte sequence, treat *SRC as a character of
4237 eight-bit-graphic.
4238
25078b54
EZ
42392001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4240
4241 * textprop.c (Fset_text_properties): Doc fix.
4242
8399f8a0
GM
42432001-02-15 Gerd Moellmann <gerd@gnu.org>
4244
4245 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4246
9a2a6f73
DL
42472001-02-14 Dave Love <fx@gnu.org>
4248
4249 * coding.c: Doc and message fixes.
4250
bf853fee
AI
42512001-02-14 Andrew Innes <andrewi@gnu.org>
4252
4253 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4254 Emacs frame above the screen size.
4255
78c663d8
GM
42562001-02-14 Gerd Moellmann <gerd@gnu.org>
4257
4258 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4259
7cc9f69f
GM
42602001-02-13 Gerd Moellmann <gerd@gnu.org>
4261
0a411995
GM
4262 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4263 case that TO ends up beyond ZV after running before-change-functions.
4264
5ddc1b75
GM
4265 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4266 the selected window if it is showing the buffer in question.
4267
7cc9f69f
GM
4268 * dired.c (directory_files_internal): Initialize errno.
4269 (toplevel): Include errno.h.
4270
2e6621ca
GM
42712001-02-13 Kenichi Handa <handa@etl.go.jp>
4272
4273 * xfaces.c (best_matching_font): New parameter width_ratio.
4274 Multiply avgwidth by width_ratio.
4275 (choose_face_font): Call best_matching_font with width_ratio
4276 calculated from the column width of C.
4277
60222d69
AI
42782001-02-12 Andrew Innes <andrewi@gnu.org>
4279
4280 The following changes are to draw box lines inside characters area
4281 if line-width is negative.
52283633 4282
60222d69
AI
4283 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4284 face->box_line_width is negative.
4285 (x_produce_stretch_glyph): Likewise.
4286 (x_produce_glyphs): Likewise.
4287 (x_estimate_mode_line_height): Likewise.
4288 (x_draw_glyph_string_background): Likewise.
4289 (x_draw_glyph_string_foreground): Likewise.
4290 (x_draw_composite_glyph_string_foreground): Likewise.
4291 (x_draw_glyph_string_box): Likewise.
4292 (x_draw_image_foreground): Likewise.
4293 (x_draw_image_relief): Likewise.
4294 (x_draw_image_foreground_1): Likewise.
4295 (x_draw_image_glyph_string): Likewise.
4296
9804b846
KH
42972001-02-09 Kenichi Handa <handa@etl.go.jp>
4298
4299 The following changes are to draw box lines inside characters area
4300 if line-width is negative.
52283633 4301
9804b846
KH
4302 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4303 face->box_line_width is negative.
4304 (x_produce_stretch_glyph): Likewise.
4305 (x_produce_glyphs): Likewise.
4306 (x_estimate_mode_line_height): Likewise.
4307 (x_draw_glyph_string_background): Likewise.
4308 (x_draw_glyph_string_foreground): Likewise.
4309 (x_draw_composite_glyph_string_foreground): Likewise.
4310 (x_draw_glyph_string_box): Likewise.
4311 (x_draw_image_foreground): Likewise.
4312 (x_draw_image_relief): Likewise.
4313 (x_draw_image_foreground_1): Likewise.
4314 (x_draw_image_glyph_string): Likewise.
4315
4316 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4317 and :line-width can be negative.
52283633 4318 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4319
49be9f70
JR
43202001-02-09 Jason Rumney <jasonr@gnu.org>
4321
4322 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4323 characters the same as ASCII and latin-1.
4324 (x_display_and_set_cursor): Check for the focus frame's selected
4325 window instead of selected_window.
4326 (x_after_update_window_line): Don't clear if frame's internal
4327 border width is zero.
4328 (x_new_font): Don't change a tooltip's size.
4329 (w32_initialize): Set char_ins_del_ok to 1.
4330
4331 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4332 (x_set_font): If font hasn't changed, avoid recomputing
4333 faces and other things.
52283633
SM
4334 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4335 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4336 (x_create_tip_frame): Prevent changing the tooltip's
4337 background color by specifying a color for the default font
4338 in .Xdefaults.
4339 (Qcancel_timer): New variable.
4340 (syms_of_w32fns): Initialize and staticpro it.
4341 (Fx_hide_tip, Fx_show_tip): Use it.
4342 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4343 the timer.
4344 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4345
4346 * w32.c (init_environment): Duplicate local string before putenv.
4347
555e35d2
SZ
43482001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4349
4350 * charset.c (Fstring): A typo.
4351
19c92c94
KH
43522001-02-09 Kenichi Handa <handa@etl.go.jp>
4353
e47a1c33
KH
4354 * charset.c (Fstring): If all arguments are less than 256, return
4355 a unibyte string.
4356
4357 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4358 return a unibyte string.
4359
19c92c94
KH
4360 * coding.c (code_convert_region): After detecting a coding, if
4361 nothing found, set coding->composing to COMPOSITION_NO.
4362 (decode_coding_string): Likewise.
4363
d8e675f5
SM
43642001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4365
4366 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4367 to avoid overflow.
4368
bd503487
KH
43692001-02-07 Kenichi Handa <handa@etl.go.jp>
4370
4371 * charset.c (parse_str_to_multibyte): New function.
4372
4373 * charset.h (parse_str_to_multibyte): Extern it.
4374
4375 * print.c (print_string): If we are going to print a unibyte
4376 string into a multibyte buffer, convert the string to multibyte by
4377 str_to_multibyte.
4378
a8370d72
AI
43792001-02-06 Andrew Innes <andrewi@gnu.org>
4380
4381 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4382 been created. It seems we can get sent window messages such as
4383 WM_ERASEBKGND before we properly update a frame.
4384
c363a1d6
GM
43852001-02-06 Gerd Moellmann <gerd@gnu.org>
4386
4387 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4388 Avoid some unnecessary cursor positioning.
4389
a08332c0
GM
43902001-02-05 Gerd Moellmann <gerd@gnu.org>
4391
52283633 4392 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4393 (LFACE_AVGWIDTH): New macro.
4394 (LFACEP): Use AREF.
4395 (check_lface_attrs): Check LFACE_AVGWIDTH.
4396 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4397 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4398 (merge_face_vectors): Check LFACE_AVGWIDTH.
4399 (Finternal_make_lisp_face): Use AREF.
4400 (xm_set_menu_resources_from_menu_face)
4401 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4402 (Finternal_lisp_face_empty_p): Use AREF.
4403 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4404 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4405 Compare average widths..
4406 (best_matching_font): Arrange for comparing average widths.
4407
52283633
SM
4408 * dispextern.h (enum lface_attribute_index):
4409 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4410
5cb3c8d4
DL
44112001-02-05 Dave Love <fx@gnu.org>
4412
4413 * puresize.h: Revert last change following loadup.el change.
4414
193fba87
AI
44152001-02-05 Andrew Innes <andrewi@gnu.org>
4416
4417 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4418 invocation of temacs, to work with Windows 2000.
4419 (bootstrap-emacs): Ditto.
4420
e16f52ce
GM
44212001-02-05 Gerd Moellmann <gerd@gnu.org>
4422
7a58ab59
GM
4423 * xterm.c (x_display_and_set_cursor): Check for the focus
4424 frame's selected window instead of selected_window.
4425
e89aaabd
GM
4426 * xdisp.c (try_scrolling): If point is in the line below the
4427 window, make sure to move the iterator at least a canonical
4428 char height down.
4429
52283633 4430 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4431
789ce875
KH
44322001-02-05 Kenichi Handa <handa@etl.go.jp>
4433
52283633
SM
4434 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4435 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4436 (ccl_driver): If the CCL program is terminated because of
4437 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4438 destination instead of throwing them away.
4439
20b28f82
GM
44402001-02-02 Gerd Moellmann <gerd@gnu.org>
4441
79fb38c0
GM
4442 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4443 faces and other things.
4444
20b28f82
GM
4445 * xdisp.c (get_next_display_element): Fix case of empty
4446 display table entry.
4447
5a72551e
EZ
44482001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4449
eb24d0bf
EZ
4450 * editfns.c (Fconstrain_to_field): Doc fix.
4451
6a3f48c7
EZ
4452 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4453 into `thoroughly', to make it consistent with the doc string.
4454
5a72551e
EZ
4455 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4456
01acdb05
GM
44572001-02-01 Gerd Moellmann <gerd@gnu.org>
4458
0353b28f
GM
4459 * search.c (search_buffer): Call set_search_regs with a byte
4460 position, not a character position.
4461
01acdb05
GM
4462 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4463 minibuffer-only,
4464
e86b5133
EZ
44652001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4466
4467 * frame.c (Fmodify_frame_parameters): Doc fix.
4468
7442878f
GM
44692001-01-31 Gerd Moellmann <gerd@gnu.org>
4470
01acdb05
GM
4471 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4472 identifier which is not reserved by Standard C.
52283633 4473
7442878f
GM
4474 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4475
4476 * window.c (enum window_part): New enumeration.
4477 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4478 Qright_bitmap_area.
4479 (coordinates_in_window): Return an enumerator from enum
4480 window_part. Fix handling of right scroll bar.
4481 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4482 `right-fringe' instead of `left-bitmap-area' and
4483 `right-bitmap-area'. Use enumerators from enum window_part
4484 instead of hard-coded integers.
52283633
SM
4485 (check_window_containing, window_from_coordinates):
4486 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4487 (syms_of_window): Replace Qleft_bitmap_area and
4488 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4489
7c132cba
EZ
44902001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4491
4492 * editfns.c (Fformat_time_string): Doc fix.
4493
c359dd9e
SM
44942001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4495
4496 * keymap.c (Fwhere_is_internal): Use the first valid binding
4497 if no ascii binding is found (when firstonly is t).
4498
ce070307
GM
44992001-01-31 Gerd Moellmann <gerd@gnu.org>
4500
b4f30ec5
GM
4501 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4502 instead of Finteractive_p.
4503
4504 * lisp.h (interactive_p): Add prototype.
4505
4506 * eval.c (interactive_p): New function.
4507 (Finteractive_p): Use it.
4508
ce070307
GM
4509 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4510
f57b6e64
DL
45112001-01-31 Dave Love <fx@gnu.org>
4512
d61c7afe
DL
4513 * .gdbinit (hook-run): Define to run xreload.
4514
f57b6e64
DL
4515 * textprop.c (Fset_text_properties): Fix newline in doc string.
4516
eef93f99
GM
45172001-01-30 Gerd Moellmann <gerd@gnu.org>
4518
52283633
SM
4519 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4520 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4521
4522 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4523 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4524 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4525
4526 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4527 height.
4528
d9c1f6f9
DL
45292001-01-30 Dave Love <fx@gnu.org>
4530
4531 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4532 AFTER_POTENTIAL_GC.
4533
e8f044a0
GM
45342001-01-29 Gerd Moellmann <gerd@gnu.org>
4535
52283633
SM
4536 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4537 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4538
8e1db7b3
EZ
45392001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4540
4541 * textprop.c (Fset_text_properties): Doc fix.
4542
4eefd9d2
GM
45432001-01-29 Gerd Moellmann <gerd@gnu.org>
4544
4545 * xdisp.c (forward_to_next_line_start): Remove xassert.
4546
fccb8288
EZ
45472001-01-29 Jason Rumney <jasonr@gnu.org>
4548
4eefd9d2 4549 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4550 returning without releasing it.
4551
76581eab
KH
45522001-01-29 Kenichi Handa <handa@etl.go.jp>
4553
4554 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4555 for '^', '$', and '\0'.
4556
83a96b4d
AC
45572001-01-28 Andrew Choi <akochoi@i-cable.com>
4558
5604ec34
AC
4559 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4560 regex for '^', '$', and '\0'.
4561
83a96b4d
AC
4562 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4563 only if current_sblock has been initialized.
4564
4565 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4566 terminal frame even if it is the only visible frame.
4567
c09a6440
KH
45682001-01-28 Kenichi Handa <handa@etl.go.jp>
4569
4570 * fontset.c (font_family_registry): Even if FONTNAME conform to
4571 XLFD, if it specifies other fields than family and registry,
52283633 4572 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4573 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4574 a signle byte character. Don't set FAMILY part to nil here.
4575 It is handled by the caller choose_face_font.
c09a6440
KH
4576 (Fnew_fontset): Call font_family_registry with FORCE 0.
4577 (Fset_fontset_font): Likewise.
4578
4dcd74e6
GM
45792001-01-27 Gerd Moellmann <gerd@gnu.org>
4580
4581 * xdisp.c (display_line): Don't treat a newline as fitting
4582 on the line.
4583
d2906bf8
GM
45842001-01-26 Gerd Moellmann <gerd@gnu.org>
4585
0130fe1a
GM
4586 * window.c (size_window): Set the window's orig_top to nil when
4587 changing heights, so that a future shrink_mini_window won't
4588 restore a bogus height.
4589
550f0e6a
GM
4590 * frame.c (do_switch_frame): If selected frame has a mini-window,
4591 resize that to exact size.
4592
b7b20fbd
GM
4593 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4594
a47b7816
GM
4595 * xdisp.c (display_line): Simplify check for glyphs fitting
4596 entirely in the line.
4597
d2906bf8
GM
4598 * xfns.c (xic_style): New variable.
4599 (create_frame_xic): Move static variable to global scope for
550f0e6a 4600 the case that `static' gets defined away.
d2906bf8 4601
73df2b1e
KH
46022001-01-26 Kenichi Handa <handa@etl.go.jp>
4603
4604 * coding.c (decode_coding): Set a flag for inhibiting
4605 inconsistent eol.
4606 (code_convert_region): Always set saved_coding_symbol.
4607 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4608 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4609
6613cfc4
GM
46102001-01-25 Gerd Moellmann <gerd@gnu.org>
4611
c5e6e06b
GM
4612 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4613 XClearArea.
4614
4615 * xterm.c (x_after_update_window_line): Don't clear if frame's
4616 internal border width is zero.
4617 (x_clear_area): New function.
4618 (x_after_update_window_line, x_clear_end_of_line)
4619 (x_scroll_bar_create, x_scroll_bar_set_handle)
4620 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4621 instead of XClearArea.
4622
4623 * xterm.h (x_clear_area): Add prototype.
4624
6613cfc4
GM
4625 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4626 which doesn't seem necessary anymore with Lesstif 0.92.
4627
650cc6cc
DL
46282001-01-25 Dave Love <fx@gnu.org>
4629
34ac3367
DL
4630 * puresize.h (BASE_PURESIZE): Up to 720000.
4631
650cc6cc
DL
4632 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4633
5e37dc22
GM
46342001-01-25 Gerd Moellmann <gerd@gnu.org>
4635
e1e441f9
GM
4636 * xdisp.c (echo_area_display): Don't call redisplay_internal
4637 when Emacs is shutting down. We can't run hooks etc. that
4638 would be necessary to do a redisplay.
4639
5e37dc22
GM
4640 * lread.c (read_integer): Use type EMACS_INT instead of int.
4641
0fb94c7f
EZ
46422001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4643
4644 * ccl.c (ccl_driver): Fix last change.
4645
e3778624
KH
46462001-01-25 Kenichi Handa <handa@etl.go.jp>
4647
4648 * ccl.h (sturct ccl_program): New member suppress_error.
4649
bb264518 4650 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4651 insert error message to the output.
4652 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4653
4654 * coding.h (struct coding_system): New member suppress_error.
4655
4656 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4657 (Fset_terminal_coding_system_internal): Set the member
4658 suppress_error to 1.
4659 (Fset_safe_terminal_coding_system_internal): Likewise.
4660
245ed2b1
SM
46612001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4662
4663 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4664 as if it was a `charset'.
4665
f9aaedb6
GM
46662001-01-24 Gerd Moellmann <gerd@gnu.org>
4667
4668 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4669 value in where_is_cache; the next lookup in the cache returns
4670 something bogus if we do.
4671
c3902c3e
EZ
46722001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4673
4674 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4675 if HAVE_WINDOW_SYSTEM isn't defined.
4676
3497f73e
GM
46772001-01-24 Gerd Moellmann <gerd@gnu.org>
4678
e7e41584
GM
4679 * fns.c (sweep_weak_table): Fix code taking items out of
4680 the hash collision chain. Some cleanup.
4681
3497f73e
GM
4682 * xterm.c (x_new_font): Don't change a tooltip's size.
4683
4684 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4685 background color by specifying a color for the default font
4686 in .Xdefaults.
4687
3d48e687
KH
46882001-01-24 Kenichi Handa <handa@etl.go.jp>
4689
96531b20
KH
4690 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4691 a workaround for SunOS 4's cc.
4692 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4693 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4694 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4695 statement.
3d48e687 4696
a30629d2
GM
46972001-01-23 Gerd Moellmann <gerd@gnu.org>
4698
4699 * xterm.c (x_set_window_size_1): New function extracted from
4700 x_set_window_size.
4701 (x_set_window_size): Use it.
4702 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4703 doesn't have a widget, like tooltips.
4704
5a43decf
EZ
47052001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4706
52283633 4707 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4708
b0e98867
KH
47092001-01-23 Kenichi Handa <handa@etl.go.jp>
4710
4711 * fns.c (Fset_char_table_default): Fix to make sub char-table
4712 correctly.
4713
50606b4c
GM
47142001-01-22 Gerd Moellmann <gerd@gnu.org>
4715
cb2ddc53 4716 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4717 a desired tool bar string, even if there are no tool bar items.
4718
57c28064
GM
4719 * xdisp.c (Ftool_bar_lines_needed): New function.
4720 (syms_of_xdisp): Defsubr it.
4721
50606b4c
GM
4722 * editfns.c (Fformat): Don't extend text properties from arguments
4723 to padding chars in the result.
4724
2f169c38
EZ
47252001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4726
4727 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4728
0f32f023
AI
47292001-01-20 Andrew Innes <andrewi@gnu.org>
4730
52283633 4731 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4732 (w32_initialize): Don't set term hooks that aren't actually needed
4733 in windowed mode.
4734
4735 * xfaces.c (realize_default_face):
4736 (realize_face):
4737 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4738
4739 * xdisp.c (handle_single_display_prop): Remove references to
4740 FRAME_W32_CONSOLE_P.
4741
52283633 4742 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4743
4744 * frame.h (output_method): Remove output_w32_console method.
4745 (FRAME_W32_CONSOLE_P): Remove macro.
4746
4747 * frame.c (Qw32_console): Remove variable.
4748 (Fframep): Remove references to it.
4749 (syms_of_frame): Ditto.
4750 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4751
4752 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4753 redefinition.
4754
7173eada
KH
47552001-01-20 Kenichi Handa <handa@etl.go.jp>
4756
4757 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4758
755b45ce
AI
47592001-01-19 Andrew Innes <andrewi@gnu.org>
4760
4761 * w32.c (init_environment): Add a version-independent site-lisp
4762 directory to EMACSLOADPATH, after the version dependent one.
4763
0a949811
GM
47642001-01-19 Gerd Moellmann <gerd@gnu.org>
4765
8501998a
GM
4766 * editfns.c (Fbuffer_substring): Doc fix.
4767
52283633
SM
4768 * xdisp.c (message_dolog, message2, message2_nolog):
4769 Rename parameter LEN to NBYTES.
0a949811 4770
e6ebcbbe
KH
47712001-01-19 Kenichi Handa <handa@etl.go.jp>
4772
200ecca2
KH
4773 * charset.c (strwidth): Use c_string_width.
4774 (c_string_width): New function.
4775 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4776 Caller changed.
4777
4778 * charset.h (c_string_width, lisp_string_width): Extern them.
4779
52283633 4780 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4781
e6ebcbbe
KH
4782 * indent.c (check_composition): Check validity of composition.
4783
200ecca2
KH
4784 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4785 characters by calling c_string_width.
4786 (x_consider_frame_title): Get byte length of frame tile string
4787 correctly.
4788 (display_mode_element): Pay attention to width of non-ASCII
4789 characters by calling strwidth.
4790
8692ca92
GM
47912001-01-18 Gerd Moellmann <gerd@gnu.org>
4792
8962e303
GM
4793 * xfns.c (Qcancel_timer): New variable.
4794 (syms_of_xfns): Initialize and staticpro it.
4795 (Fx_hide_tip, Fx_show_tip): Use it.
4796 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4797 the timer.
4798 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4799
91523be9
GM
4800 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4801
4802 * window.h (WINDOW_LIVE_P): New macro.
4803
b0b7ed0e
GM
4804 * window.c (window_size_fixed): New variable.
4805 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4806 the doc string.
4807
06bccf8e
GM
4808 * eval.c (specbind): If binding a per-buffer variable which
4809 doesn't have a buffer-local value in the current buffer, change
4810 the global value by changing the value of the symbol bound in all
4811 buffers not having their own value, to make it consistent with
4812 what happens with other buffer-local variables.
4813
8692ca92
GM
4814 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4815
4816 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4817 when searching for a newline.
4818
bb3a3b50
KH
48192001-01-18 Kenichi Handa <handa@etl.go.jp>
4820
4821 * xdisp.c (display_string): Fix previous change.
4822
c2cc16fa
JR
48232001-01-18 Jason Rumney <jasonr@gnu.org>
4824
4825 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4826 GLYPH_DEBUG is defined.
4827 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4828 true for images with `:ascent 100'.
4829 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4830 meantime, use face MOUSE_FACE_ID.
4831 If first glyph isn't a character glyph, use the ASCII NUL
4832 character to determine the face.
4833 (expose_area): Do not treat left margin specially.
4834 (note_mode_line_highlight): If no local_map, check global keymap.
4835 (note_mouse_highlight): Initialize overlay.
52283633 4836 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4837 (show_scroll_bars): Remove unused function.
4838 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4839 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4840 Clip to row.
52283633 4841 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4842 (x_free_frame_resources): Unload relief colors.
4843
9c11f79e
GM
48442001-01-17 Gerd Moellmann <gerd@gnu.org>
4845
3aec8722 4846 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4847 get_next_display_element when the newline is already found.
4848 This may change the iterator's position, when its current position is
3aec8722
GM
4849 equal to the iterator's stop_charpos.
4850
f3ffc2c3
GM
4851 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4852 zero, use this method only at the end of a line.
4853
52283633 4854 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4855 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4856 if SCALABLE_FONTS_P is set.
52283633 4857
d26d6fd9
GM
4858 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4859 so that scalable fonts are included.
4860
9c11f79e
GM
4861 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4862 In the cache, use a key containing the information if scalable
4863 fonts are included.
4864 (x_load_font): Adapt to change of keys in the font cache.
4865
48662001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4867
d26d6fd9
GM
4868 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4869 XListFonts to take advantage of font caching.
4870
9c11f79e
GM
4871 * xterm.c (x_list_fonts): Ensure caching font information when
4872 called for a null frame, which is the case frequently when Emacs
4873 starts.
4874
51446987
GM
48752001-01-17 Gerd Moellmann <gerd@gnu.org>
4876
f864120f
GM
4877 * xfns.c (QCconversion): Replaces QCalgorithm.
4878
4879 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4880
4881 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4882 of :algorithm.
52283633 4883
e37d1417
GM
4884 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4885 not everything could be displayed.
4886
51446987
GM
4887 * line.h, x-list-font.c: Files removed because unused.
4888
9ad4f3e5
AI
48892001-01-17 Andrew Innes <andrewi@gnu.org>
4890
4891 * dired.c (directory_files_internal): Convert result from readdir
4892 to a unibyte string initially, to avoid possible misinterpretation
4893 of some bytes as the internal form of Emacs characters.
4894
2eda09b5
KH
48952001-01-17 Kenichi Handa <handa@etl.go.jp>
4896
4897 * fns.c (concat): Be sure to avoid putting the same `composition'
4898 property on the adjacent regions.
4899
826f3788
GM
49002001-01-16 Gerd Moellmann <gerd@gnu.org>
4901
52283633 4902 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4903 (Fscroll_right, Fscroll_left): Set it here instead, if called
4904 interactively.
4905
d57b83b3
GM
4906 * buffer.c (Fset_buffer_modified_p): Set buffer's
4907 prevent_redisplay_optimizations_p flag.
4908
826f3788 4909 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4910 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4911 with additional arg.
4912
4913 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4914 Change prototype.
826f3788 4915
826f3788
GM
4916 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4917 FROM_WHERE, for debugging.
4918
261d788b
KH
49192001-01-16 Kenichi Handa <handa@etl.go.jp>
4920
4921 * ccl.c (Fregister_ccl_program): Handle the return value of
4922 resolve_symbol_ccl_program correctly.
52283633 4923 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4924
bccee4f2
GM
49252001-01-15 Gerd Moellmann <gerd@gnu.org>
4926
e4ded23c
GM
4927 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4928 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4929
4930 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4931 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4932 the display; we didn't open it.
4933
bccee4f2
GM
4934 * dispnew.c (save_or_restore_current_matrices): Function removed.
4935 (save_current_matrix, restore_current_matrix): New functions.
4936 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4937 restore the frame's current matrix. Due to the glyph pointer
4938 setup done in adjust_glyph_matrix, there is no easy way to make
4939 saving the current matrix in the desired matrix generally correct,
4940 so don't try it.
4941
ebeccffa
KH
49422001-01-15 Kenichi Handa <handa@etl.go.jp>
4943
4944 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4945 truncation glyphs.
4946 (display_line): Optimize for wide characters.
e4ded23c 4947 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4948 partially. On ttys, produce more than one truncation glyph for
4949 multi-column characters that don't fit on the line.
4950
64388126
KH
49512001-01-13 Kenichi Handa <handa@etl.go.jp>
4952
52283633
SM
4953 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4954 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4955
8edb0a6f
JR
49562001-01-13 Jason Rumney <jasonr@gnu.org>
4957
4958 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4959 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4960 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4961 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4962
52283633
SM
4963 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4964 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4965 (x_draw_image_glyph_string): Adapt to change of image margins.
4966
4967 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4968 variables.
4969
4970 * w32bdf.c (search_file_line, get_cached_font_char)
4971 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4972
4973 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4974
4975 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4976 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4977 (Fw32_send_sys_command): Remove unused variables.
4978 (w32_msg_pump): Add parentheses.
4979
4980 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4981 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4982 Add parentheses.
4983
4956d1ef
GM
49842001-01-12 Gerd Moellmann <gerd@gnu.org>
4985
b30623be
GM
4986 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4987 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4988 being a pair of margins.
4989 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4990 to DEFVAR_LISP. Extend doc.
4991
4992 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4993 margins.
4994 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4995 pair of integers `(X . Y)', use X for the horizontal and Y for the
4996 vertical margin.
4997 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4998 (parse_image_spec): Check it.
52283633
SM
4999 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5000 (tiff_format, gif_format, gs_format):
5001 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5002
52283633
SM
5003 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5004 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5005 (x_draw_image_glyph_string): Adapt to the change of image margins.
5006
5007 * dispextern.h (struct image): Replace member `margin' with
5008 `hmargin' and `vmargin'.
5009
4554cc79
GM
5010 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5011 and GLYPHS.
5012
5013 * dispnew.c (update_text_area): Put code which decrements the
5014 stop position when the row's face extends to the end of the
3bffc665 5015 line in #if 0.
4554cc79 5016
3cccce8d
GM
5017 * xfns.c (x_set_mouse_color): Fix color allocation.
5018
4956d1ef
GM
5019 * keyboard.c: Call get_local_map with new argument list.
5020
5021 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5022
5023 * intervals.h (enum map_property): Removed.
5024 (get_local_map): Change prototype.
5025
5026 * keymap.c: Call get_local_map with new argument list.
5027 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5028
2c2ff7f2
GM
50292001-01-11 Gerd Moellmann <gerd@gnu.org>
5030
a23887b9
GM
5031 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5032 of the size needed for the tool bar string. For the last image,
5033 use a `display' property that reaches to the end of the string.
5034
a7ee2d2e
GM
5035 * xselect.c (selection_request_dpyinfo): New variable.
5036 (x_handle_selection_request): Set it.
5037 (x_selection_request_lisp_error): Don't call
5038 x_decline_selection_request if selection request's display has
5039 been closed.
5040
52283633
SM
5041 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5042 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5043
457b792c
GM
50442001-01-10 Dave Love <fx@gnu.org>
5045
5046 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5047 ${SOME_MACHINE_LISP}, not ${lisp}.
5048
c1efd260
GM
50492001-01-10 Gerd Moellmann <gerd@gnu.org>
5050
52283633
SM
5051 * xdisp.c (display_line): On ttys, produce more than one truncation
5052 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5053
ac95a621
GM
5054 * xselect.c (x_reply_selection_request): Add a comment.
5055
c1efd260
GM
5056 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5057 XkbGetNames instead of XkbGetKeyboard.
5058
1bfb1345
DL
50592001-01-10 Dave Love <fx@gnu.org>
5060
5061 * sysdep.c (random): Revert the declaration.
5062
38119822
GM
50632001-01-09 Gerd Moellmann <gerd@gnu.org>
5064
52283633
SM
5065 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5066 Call function string_bytes.
35f464a7
GM
5067 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5068
5069 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5070 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5071 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5072 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5073 the current sblock.
5074 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5075 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5076 after sweeping strings, and at the end.
5077 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5078
38119822
GM
5079 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5080 ensure that pop_message is called.
5081
5082 * keyboard.c (Fexecute_extended_command): Use a
5083 record_unwind_protect to ensure that pop_message is called.
5084
5085 * lisp.h (push_message_unwind): Add prototype.
5086
5087 * xdisp.c (push_message_unwind): New function.
5088
5089 * fileio.c (do_auto_save_unwind): Do the pop_message here
5090 instead of in Fdo_auto_save.
5091 (Fdo_auto_save): Don't call pop_message.
5092
f47a9ec4
KR
50932001-01-08 Ken Raeburn <raeburn@gnu.org>
5094
5095 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5096 in inner block.
5097
a758f97d
GM
50982001-01-08 Gerd Moellmann <gerd@gnu.org>
5099
6d0afc03
GM
5100 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5101 when increasing window's vscroll.
5102
a758f97d
GM
5103 * macros.c (Qkbd_macro_termination_hook): New variable.
5104 (syms_of_macros): Initialize and staticpro it.
5105 (pop_kbd_macro): Run kbd-macro-termination-hook.
5106
5107 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5108
1bfb1345 51092001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5110
5111 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5112 arglist, for documentation's sake.
5113
0dac6924
AI
51142001-01-06 Andrew Innes <andrewi@gnu.org>
5115
5116 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5117 of *.pdb.
5118
8182406a
AI
51192001-01-05 Andrew Innes <andrewi@gnu.org>
5120
5121 * term.c (update_end): Don't check updating_frame; for some reason
5122 this can be 0 sometimes, such as after dismissing a popup menu,
5123 and isn't necessary given the explicit frame argument.
5124
3828218c
GM
51252001-01-05 Gerd Moellmann <gerd@gnu.org>
5126
5127 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5128 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5129
2f5ded21
GM
51302001-01-04 Gerd Moellmann <gerd@gnu.org>
5131
52283633 5132 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5133
5134 * xfns.c (x_create_tip_frame): Preserve the value of
5135 face_change_count around the creation of the tip frame.
52283633 5136
2f5ded21
GM
5137 * xfns.c (last_show_tip_args): New variable.
5138 (compute_tip_xy): New function.
5139 (Fx_show_tip): Reuse an existing tip frame, if possible.
5140 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5141
dfad65fa
DL
51422001-01-04 Dave Love <fx@gnu.org>
5143
64d4ec0f
DL
5144 * editfns.c (Fformat): Doc fix.
5145
dfad65fa
DL
5146 * systime.h (set_file_times): Prototype.
5147
5148 * widget.h (EmacsFrameSetCharSize_): Prototype.
5149
5150 * sysdep.c (random, srandom): Declare explicitly.
5151
5152 * dispextern.h (move_it_vertically_backward): Declare.
5153
85fe3b5e
GM
51542001-01-04 Gerd Moellmann <gerd@gnu.org>
5155
0f2ac578
GM
5156 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5157 like in Fx_create_frame.
5158
482cca61
GM
5159 * xfaces.c (set_font_frame_param): Don't do anything for
5160 non-graphical frames.
5161
85fe3b5e
GM
5162 * window.c (Fdelete_other_windows): Set window's window_end_valid
5163 to nil when changing the window's start. Don't change the
5164 window's start when its top position hasn't changed. If we do,
5165 this will set the window's optional_new_start, which act's like a
5166 force_start during redisplay with C-x 1 M-> under particular
5167 circumstances (see report from Per Starback to emacs-pretest-bug
5168 from 2000-12-13.).
5169
3e99d3b4
GM
51702001-01-03 Gerd Moellmann <gerd@gnu.org>
5171
a77dc1ec
GM
5172 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5173 short cut at the start of the function. Add an assertion.
5174 (reseat_at_next_visible_line_start): Add an assertion.
5175
2f3cad6c
GM
5176 * window.c (Frecenter): When changing the window start, set the
5177 window's window_end_valid to nil.
5178 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5179
5180 * dispextern.h (move_it_past_eol): Add prototype.
5181
5182 * xdisp.c (move_it_past_eol): New function.
5183
3e99d3b4
GM
5184 * window.c (Fwindow_end): Doc fix.
5185
51862001-01-03 Dave Love <fx@gnu.org>
5187
52283633 5188 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5189
bafb434c
GM
51902001-01-03 Gerd Moellmann <gerd@gnu.org>
5191
5192 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5193 the enabled_p flag of the glyph row at window_end_vpos to 0.
5194 (handle_single_display_prop): Fix last change.
5195
5297fb00
RS
51962001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5197
5198 * window.c (Frecenter): Doc fix.
5199
13d6a61c
AI
52002001-01-02 Andrew Innes <andrewi@gnu.org>
5201
5202 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5203
5204 * frame.h (output_method): Add output_w32_console method.
5205 (FRAME_W32_CONSOLE_P): New macro.
5206
5207 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5208 use output_w32_console method.
5209 (Qw32_console): New Lisp_Object.
5210 (Fframep): Return it.
5211 (syms_of_frame): Init it.
52283633 5212 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5213
5214 * xfaces.c (realize_default_face): Set face foreground and
5215 background to unspecified for w32_console frames.
5216 (realize_face): Realize face cache for w32_console frames.
5217 (realize_tty_face): Accept w32_console frames.
5218
52283633 5219 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5220 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5221 necessary, even if running interactively.
5222
5223 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5224 w32_console frames.
5225
52283633
SM
5226 * w32term.c (x_update_begin):
5227 (x_update_end):
5228 (x_clear_frame):
5229 (x_ins_del_lines):
5230 (x_change_line_highlight):
5231 (x_delete_glyphs):
5232 (w32_ring_bell):
5233 (x_update_begin):
5234 (x_update_end):
5235 (w32_reassert_line_highlight):
5236 (w32_frame_rehighlight):
13d6a61c
AI
5237 (w32_frame_raise_lower): Do nothing if not w32 frame.
5238
5239 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5240
5241 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5242 system doesn't tell us directly.
5243 (Fx_display_visual_class): Implement properly.
5244
d6bb0c0d
GM
52452001-01-02 Gerd Moellmann <gerd@gnu.org>
5246
5247 * window.c (Frecenter): Handle centering in graphical frames
5248 specially. Centering on the basis of line counts doesn't work
5249 reliably with variable-height lines.
52283633 5250
315f5865
EZ
52512001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5252
5253 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5254 and al[].
5255
52283633 5256 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5257 (update_compositions): Remove unused variable `hook'.
5258
5259 * intervals.c (get_local_map): Remove unused variable `tem'.
5260
5261 * doprnt.c (doprnt1): Remove unused variable `size'.
5262
5263 * fns.c (Flength): Remove unused variable `tail'.
5264 (Fdelete): Remove unused variable `size'.
5265
5266 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5267 and `gcpro2'.
5268
52283633 5269 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5270
5271 * data.c (find_symbol_value): Remove extra 3rd argument in the
5272 call to swap_in_symval_forwarding.
5273
52283633 5274 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5275
5276 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5277 (trivial_regexp_p): Remove unused variable `c'.
5278 (boyer_moore): Remove unused variable `k'.
5279
5280 * indent.c (current_column): Remove unused variable `stopchar'.
5281 (Fcompute_motion): Remove unused variable `contin'.
5282
5283 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5284
5285 * dired.c (directory_files_internal): Fix a typo in a comment.
5286 Remove an unused variable `handler'.
52283633 5287 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5288 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5289 on BSD4_2.
5290
52283633 5291 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5292
5293 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5294 and `buf'.
5295 (Fmarker_insertion_type): Remove unused variable `buf'.
5296
5297 * insdel.c (make_gap): Remove unused variable `result'.
5298
52283633 5299 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5300 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5301 (menu_bar_items): Remove unused function-scope variable `tem'.
5302
5303 * fontset.c (fontset_ref): Remove unused variable `i'.
5304 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5305 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5306 (make_fontset_for_ascii_face): Remove unused variable `name'.
5307 (fs_load_font): Remove unused variable `font_idx'.
52283633 5308 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5309 (list_fontsets): Remove unused variable `tail'.
5310 (Fnew_fontset): Remove unused variables `family' and `registry'.
5311 (accumulate_font_info): Remove unused variable `tmp'.
5312 (Ffontset_font): Remove unused variable `id'.
5313 (syms_of_fontset): Remove unused variable `i'.
5314
5315 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5316 to x_term_init.
5317 (lookup_image): Remove unused variable `file'.
5318 (xbm_load): Remove unused variables `bitmap_data', `height', and
5319 `width'. Remove function-local variable `i', leave the
5320 block-local one.
5321 (gif_load): Remove unused variable `inc'.
5322
52283633 5323 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5324 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5325 leave only the one in the inner block.
5326
5327 * xfaces.c (face_fontset, realize_default_face): Remove unused
5328 variable `fontset'.
5329 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5330
5331 * term.c (encode_terminal_code): Remove unused variable `c'.
5332
5333 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5334 char *' instead of `char *'.
5335
5336 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5337 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5338 (Fchar_category_set): Remove unused variables `val', `charset',
5339 `c1' and `c2'.
5340
52283633
SM
5341 * coding.c (detect_coding_iso2022, setup_coding_system):
5342 Remove unused variable `i'.
315f5865
EZ
5343 (detect_coding_mask): Remove unused variable `idx'.
5344 (detect_coding): Remove unused variable `i'.
5345 (ccl_coding_driver): Remove unused variable `result'.
5346 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5347 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5348 (encode_coding_string): Remove unused variables `gcpro1' and
5349 `saved_coding_symbol'.
5350 (Ffind_coding_systems_region_internal): Remove function-local
5351 variable args[], leave only the block-local one.
5352 (code_convert_region1): Remove unused variable `len'.
5353
5354 * charset.c (char_printable_p): Remove unused variable `chars'.
5355 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5356 (str_to_multibyte): Remove unused variable `c'.
5357
5358 * window.c (size_window): Remove block-local variable `min_size'.
5359
5360 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5361 `header_line_height'.
5362 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5363 enum display_element_type.
5364
1a8a9daf
GM
53652001-01-02 Gerd Moellmann <gerd@gnu.org>
5366
6dde6abc 5367 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5368 statements that call X. Save away the error message in a local copy.
5369
1883b2c6
GM
5370 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5371 the start.
5372
a13be207
GM
5373 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5374 in or at the start of invisible text.
5375
1a8a9daf
GM
5376 * dispnew.c (update_window): Don't check_current_matrix_flags.
5377
3608c0f9
JR
53782001-01-01 Jason Rumney <jasonr@gnu.org>
5379
5380 * w32fns.c (x_figure_window_size): Do not allow new_height and
5381 new_width of frame to override specified values.
5382
abb1acc4
KH
53832000-12-30 Kenichi Handa <handa@etl.go.jp>
5384
52283633 5385 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5386
762a68ec
GM
53872000-12-29 Gerd Moellmann <gerd@gnu.org>
5388
52283633 5389 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5390 (update_window) [GLYPH_DEBUG]: Call it.
5391 (scrolling_window): Prevent including current rows which are below
5392 what's displayed in the window.
5393
5394 * xdisp.c (try_window_reusing_current_matrix)
5395 <new start <= old start>: Disable rows in the current matrix
5396 which are below the window after scrolling.
52283633 5397
762a68ec
GM
5398 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5399 is zero. It's not worth the complexity.
5400 (invisible_text_between_p): Put in #if 0 because unused.
5401
2d5912c1
GM
54022000-12-28 Gerd Moellmann <gerd@gnu.org>
5403
46f6a258
GM
5404 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5405 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5406
89f93679
GM
5407 * keyboard.c (echo_char): If C is an integer, always call
5408 push_key_description. Former code could signal an invalid
5409 character error.
5410
5411 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5412 If set, print multibyte text.
5413 (Fsingle_key_description): Call push_key_description with
5414 FORCE_MULTIBYTE set.
5415 (describe_buffer_bindings): Likewise.
5416
5417 * lisp.h (push_key_description): Add prototype.
5418
c06017fb
GM
5419 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5420 around the call to redisplay_internal.
5421
f1d2ce7f
GM
5422 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5423
2d5912c1
GM
5424 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5425
9371f831
KH
54262000-12-28 Kenichi Handa <handa@etl.go.jp>
5427
5428 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5429 (ccl_driver): New local variable `extra_bytes'.
5430
5431 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5432
52283633
SM
5433 * coding.c (setup_coding_system):
5434 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5435 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5436
0c80628a
KH
54372000-12-28 Kenichi Handa <handa@etl.go.jp>
5438
5439 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5440 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5441 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5442 (decode_composition_emacs_mule): New function.
5443 (decode_coding_emacs_mule): Decode composition sequence by calling
5444 decode_composition_emacs_mule.
5445 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5446 (encode_coding_emacs_mule): Changed from macro to function.
5447 If a text contains compositions, encode them correctly.
0c80628a
KH
5448 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5449 that decoding and encoding are required.
5450
3e32cc27
GM
54512000-12-27 Gerd Moellmann <gerd@gnu.org>
5452
5e25feee
GM
5453 * xfaces.c (PT_PER_INCH): New macro.
5454 (xlfd_point_size): Compute real point size from font's pixel size.
5455 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5456 instead of 72.
5457
892d8fcd
GM
5458 * .gdbinit: Comment out the line pointing to the Lesstif source
5459 directory.
5460
12c8b416
GM
5461 * window.c (Frecenter): Use displayed_window_lines instead
5462 of window_internal_height.
5463
6061fbf0
GM
5464 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5465 instead of x-toolkit-scroll-bars-p.
5466 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5467
5468 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5469 instead of x-toolkit-scroll-bars-p.
5470 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5471
3e32cc27
GM
5472 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5473 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5474 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5475 New variables.
5476 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5477 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5478 (build_frame_matrix_from_leaf_window): Remove unused code.
5479 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5480 redisplay history.
5481 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5482 (update_window) [GLYPH_DEBUG]: Likewise.
5483 (syms_of_display): Defsubr dump-redisplay-history.
5484
31798cfe
GM
54852000-12-23 Gerd Moellmann <gerd@gnu.org>
5486
f717c2ba
GM
5487 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5488 the end of the prompt. Set echo_after_prompt to the offset
5489 of echoptr in echobuf.
5490
aeb2b8fc
GM
5491 * xdisp.c (init_from_display_pos): Pop until the iterator's
5492 stack is empty; there may be frames for stretch or images
5493 on the stack.
5494
31798cfe
GM
5495 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5496 (save_or_restore_current_matrix): New function for the same
5497 purpose, but more efficient.
5498 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5499
f8156156
EZ
55002000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5501
5502 * xdisp.c (syms_of_xdisp): Fix last change.
5503
bdd6d4e8
GM
55042000-12-23 Gerd Moellmann <gerd@gnu.org>
5505
5506 * xdisp.c (syms_of_xdisp): Doc fix.
5507
5508 * xdisp.c (redisplay_window): Remove label restore_buffers;
5509 use finish_scroll_bars instead to make sure that scroll bars
5510 are redeemed. If we don't do this, flickering can result from
5511 scroll bars being destroyed and recreated.
5512
9436cdf9
JR
55132000-12-22 Jason Rumney <jasonr@gnu.org>
5514
5515 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5516 in the wrong colors when the foreground is not black.
5517 (expose_window): Don't redraw the window that's currently being
5518 updated.
5519
951f9df5
GM
55202000-12-22 Gerd Moellmann <gerd@gnu.org>
5521
856ff7a7
GM
5522 * window.c (size_window): When setting the window's too_small_ok
5523 flag, compare old size with minimum size depending on WIDTH_P,
5524 don't compare with window_min_width.
52283633 5525
951f9df5
GM
5526 * window.c (delete_window): Simplify somewhat.
5527 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5528 freeing window matrices. The flag windows_or_buffers_changed is
5529 set, so the next redisplay will consider all windows; this should
5530 suffice.
5531
886bc933
KH
55322000-12-22 Kenichi Handa <handa@etl.go.jp>
5533
5534 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5535
5536 * ccl.h (struct ccl_program): New member cr_consumed.
5537
5538 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5539 (CCL_READ_CHAR): Handle EOL conversion here.
5540 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5541
177f4e88
GM
55422000-12-21 Gerd Moellmann <gerd@gnu.org>
5543
52283633 5544 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5545
5546 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5547 otherwise tabs of different size compare equal.
5548
5549 * callint.c (Fcall_interactively): Prevent a compiler warning.
5550
5551 * print.c (print_unwind): Return nil.
5552 (PRINTDECLARE): Initialize all local variables.
5553 (print_preprocess): Add a default case.
5554
8e15274f
GM
5555 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5556
5557 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5558
52283633 5559 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5560 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5561
5562 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5563
5564 * dispnew.c (ensure_frame_matrix): Removed.
5565 (save_frame_matrix, restore_frame_matrix): New functions.
5566 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5567
5568 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5569 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5570
99012074
AI
55712000-12-21 Andrew Innes <andrewi@gnu.org>
5572
5573 * w32term.c (x_update_begin): Regenerate the palette here, rather
5574 than for each window.
5575
5576 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5577 palette is NULL, since this corrupts memory! Also get
5578 display_info reference from frame.
5579
29ef7d2d
JR
55802000-12-21 Jason Rumney <jasonr@gnu.org>
5581
5582 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5583
5584 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5585 to avoid returning without releasing it.
3e27fa1f 5586
3f9d67a6
KH
55872000-12-21 Kenichi Handa <handa@etl.go.jp>
5588
587fc3f9
KH
5589 * keymap.c (push_key_description): Don't convert eight-bit-control
5590 and eight-bit-graphic to multibyte character.
5591
3f9d67a6
KH
5592 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5593 generic character and CODE1 is nil, return the smallest character
5594 in CHARSET.
5595
774ba8c9
DL
55962000-12-20 Dave Love <fx@gnu.org>
5597
5598 * s/osf5-0.h (NSIG): Don't redefine.
5599
88416888
SM
56002000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5601
5602 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5603 excluding menu-bar and tool-bar.
5604 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5605 (menu_item_p): Remove.
5606 (where_is_internal_1): Don't ignore menu-items.
5607
a6426c6f
GM
56082000-12-20 Gerd Moellmann <gerd@gnu.org>
5609
03ff8aab
GM
5610 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5611 into account.
5612
5613 * window.c (make_window): Initialize window's min_hscroll.
5614 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5615 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5616 to zero.
5617 (struct saved_window): New member min_hscroll.
5618 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5619 (Fset_window_configuration): Set window's min_hscroll.
5620 (save_window_save): Save window's min_hscroll.
5621 (compare_window_configurations): Compare min_hscroll values.
5622
5623 * window.h (struct window): New member min_hscroll.
5624
5625 * keyboard.c (echo_prompt): Prevent a compiler warning.
5626
8de4aaf8
GM
5627 * xdisp.c (try_cursor_movement): Fix last change. The real
5628 condition is that PT is at the end of the row, and should
5629 be displayed at the start of the next row.
52283633 5630
3f7e3031
GM
5631 * xdisp.c (try_cursor_movement): If we end on a partially
5632 visible line, end we already decided to scroll, return -1.
5633
a6426c6f
GM
5634 * dispextern.h (ensure_frame_matrix): Add prototype.
5635
5636 * window.c (delete_window, Fsplit_window)
5637 (Fset_window_configuration): Call ensure_frame_matrix.
5638
52283633
SM
5639 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5640 New functions.
a6426c6f
GM
5641 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5642 completed, call fake_current_matrices instead of marking frame
5643 garbaged.
5644
57fa2774
JR
56452000-12-20 Jason Rumney <jasonr@gnu.org>
5646
5647 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5648
d925df90
EZ
56492000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5650
5651 * fns.c (Frequire): Doc fix.
5652
7b93a85b
GM
56532000-12-19 Gerd Moellmann <gerd@gnu.org>
5654
52283633 5655 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5656
c74e645b
GM
5657 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5658 currently displaying a message.
5659
7b93a85b
GM
5660 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5661 xterm.h.
5662 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5663
90d97e64
AI
56642000-12-18 Andrew Innes <andrewi@gnu.org>
5665
5666 * w32.c (w32_strerror): New function.
5667
5668 * w32.h (w32_strerror): New extern.
5669
5670 * w32fns.c (Fw32_shell_execute): Use it.
5671
91c9e6ce
GM
56722000-12-18 Gerd Moellmann <gerd@gnu.org>
5673
5674 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5675
6f4745e2
EZ
56762000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5677
5678 * msdos.c (IT_set_face): Obey inverse_video.
5679
c9e088ce
KH
56802000-12-18 Kenichi Handa <handa@etl.go.jp>
5681
5682 * dired.c (directory_files_internal): Always return decoded filenames.
5683
c3695f5f
GM
56842000-12-18 Gerd Moellmann <gerd@gnu.org>
5685
52d8e4ff
GM
5686 * xterm.c (x_connection_closed): Prevent being called recursively
5687 because of an error condition in XtCloseDisplay.
52283633 5688
62be9979
GM
5689 * xdisp.c (init_iterator): If noninteractive, and the frame's
5690 face cache is null, make one.
5691
52283633 5692 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5693
c3695f5f
GM
5694 * process.c (wait_reading_process_input): Check for pending
5695 input when running timers.
5696
78555fbe
EZ
56972000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5698
52283633 5699 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5700
b2b36264
KH
57012000-12-18 Kenichi Handa <handa@etl.go.jp>
5702
5703 * process.c (read_process_output): Don't run a filter if the code
5704 decoder produces nothing but carryover.
5705
9c543fbf
AI
57062000-12-17 Andrew Innes <andrewi@gnu.org>
5707
5708 * w32.c (sys_rename): Only check errno against EEXIST, and not
5709 EACCES, when determining whether rename failed because the target
5710 exists. This was resulting in indefinite looping on Windows 9x if
5711 the source file was locked by another process.
5712
5713 * w32fns.c (Ffile_system_info): New function.
5714 (syms_of_w32fns): Defsubr it.
5715
10c2b5a8
GM
57162000-12-17 Gerd Moellmann <gerd@gnu.org>
5717
b0228ace
GM
5718 * window.c (coordinates_in_window): Fix computation for
5719 position on vertical line between mode lines.
5720
10c2b5a8
GM
5721 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5722 Don't alter tip_frame or tip_window.
5723 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5724 was deleted.
5725
c844a81a
GM
5726 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5727 Don't alter tip_frame or tip_window.
5728 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5729 was deleted.
5730
6c825f8e
EZ
57312000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5732
5733 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5734 be consistent with the doc string. Reported by NAKAJIMA Mikio
5735 <minakaji@osaka.email.ne.jp>.
5736
af4bb4c8
KH
57372000-12-16 Kenichi Handa <handa@etl.go.jp>
5738
5739 * xfaces.c (Vface_ignored_fonts): New variable.
5740 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5741 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5742
8062e53a
GM
57432000-12-15 Gerd Moellmann <gerd@gnu.org>
5744
e87b8809
GM
5745 * dispnew.c (update_window): Detect pending input every nth line
5746 updated, i.e. do it depending on real work done, and not on the
5747 vpos of the line.
5748
5749 * xterm.c (expose_window): Don't redraw the window that's
5750 currently being updated.
5751
a6768cc5
GM
5752 * window.c (Fset_window_point): Remove test for
5753 cursor_in_non_selected_windows.
5754
4ea7fdca
GM
5755 * lread.c (read1): Recognize end of file after `\\'.
5756
8062e53a
GM
5757 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5758 not unwind_create_frame.
5759
bb7959c1
GM
57602000-12-15 Dave Love <fx@gnu.org>
5761
5762 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5763 bcopy & al.
5764
5765 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5766
ced04c42
KH
57672000-12-15 Kenichi Handa <handa@etl.go.jp>
5768
c5443913
KH
5769 * coding.c (setup_coding_system): Clear all members of the struct
5770 coding_system at first.
bc137305
KH
5771 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5772 argument.
5773 (code_convert_region): Don't override coding->src_multibyte and
5774 coding->dst_multibyte.
c5443913 5775
ced04c42
KH
5776 * fns.c (Fmd5): Docstring improved.
5777
c2d7f289
MB
57782000-12-15 Miles Bader <miles@gnu.org>
5779
5780 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5781 are actually marked as mode-lines; otherwise use
5782 estimate_mode_line_height.
5783
9d7d9263
GM
57842000-12-14 Gerd Moellmann <gerd@gnu.org>
5785
5786 * editfns.c (Fformat): Prevent a buffer overrun when the format
5787 specifies a precision.
5788
7cf0153a
EZ
57892000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5790
5791 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5792 argument is outside the range [2..3].
5793
1de0f662
AI
57942000-12-14 Andrew Innes <andrewi@gnu.org>
5795
5796 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5797 nothing to do. Bind inhibit-quit.
5798 (tip_frame): Make it a Lisp_Object.
5799 (x_create_tip_frame): Set tip_frame after it has been added to
5800 Vframe_list.
5801 (Fx_show_tip): Don't set tip_frame here.
52283633 5802 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5803 (unwind_create_frame, unwind_create_tip_frame): New functions.
5804 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5805 while a frame is only partially constructed.
5806
5807 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5808 (x_free_frame_resources): New function.
5809 (x_destroy_window): Use it.
5810
02387dcc
GM
58112000-12-14 Gerd Moellmann <gerd@gnu.org>
5812
5813 * xfns.c (Fx_backspace_delete_keys_p): New function.
5814 (syms_of_xfns): Defsubr it.
5815
5816 * config.in (HAVE_XKBGETKEYBOARD): Add.
5817
0544ef49
KH
58182000-12-14 Kenichi Handa <handa@etl.go.jp>
5819
98d62747
KH
5820 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5821 Always store string in multibyte representation in echobuf.
5822 (echo_char): Always store string in multibyte representation in
5823 echobuf.
5824 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5825 (read_key_sequence): Adjusted for the change of echo_prompt.
5826
a20193cd
KH
5827 * fns.c (Fmd5): Docstring improved.
5828
191b83b6
KH
5829 * lisp.h (detect_coding_system): Prototype adjusted.
5830
0544ef49
KH
5831 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5832 (detect_coding_emacs_mule, detect_coding_iso2022,)
5833 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5834 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5835 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5836 (detect_coding_mask, detect_coding_system): New argument
5837 MULTIBYTEP. Callers changed.
1da1bb05
KH
5838 (decode_coding_string): Set coding->src_multibyte and
5839 coding->dst_multibyte before calling detect_coding and detect_eol.
5840 Update them after some coding system is detected.
52283633 5841
d5b3eb1b
SM
58422000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5843
5844 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5845
5846 * keyboard.c (menu_bar_items, tool_bar_items):
5847 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5848
f7f8bb69
GM
58492000-12-13 Gerd Moellmann <gerd@gnu.org>
5850
52283633 5851 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5852 New variables.
5853 (unwind_create_frame, unwind_create_tip_frame): New functions.
5854 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5855 while a frame is only partially constructed.
5856
5857 * xterm.h (x_free_frame_resources): Declare.
5858
5859 * xterm.c (x_free_frame_resources): New function.
5860 (x_destroy_window): Use it.
5861
e10da507
GM
5862 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5863 don't interrupt the update for pending input initially, i.e.
5864 update at least some lines.
5865
5866 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5867
d5b3eb1b 5868 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5869
5870 * xfns.c (gray_bitmap_bits): Declare `char *'.
5871
90aa2856
GM
58722000-12-12 Gerd Moellmann <gerd@gnu.org>
5873
5874 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5875 lines start with a relief line.
5876
a308c9cd
DL
58772000-12-12 Dave Love <fx@gnu.org>
5878
5879 * window.c (Fdisplay_buffer): Doc fix.
5880 (Fwindow_list): Remove unused var.
5881
5882 * buffer.h (mmap_set_vars): Declare.
5883
5884 * window.h (Fset_window_point): Declare.
5885
d575011f
EZ
58862000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5887
bf6282d2 5888 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5889 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5890 variable `area'. When looking for a row under (X,Y), give up if some
5891 of the previous rows is not enabled.
d575011f 5892
ecf4d726
GM
58932000-12-12 Gerd Moellmann <gerd@gnu.org>
5894
2ebf6139
GM
5895 * window.c (Fset_window_point): If displaying cursors in windows
5896 other than the selected window, make sure redisplay updates
5897 other windows to show the new value of point in the window.
5898
5899 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5900
bfdb75ee
GM
5901 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5902 the buffer is the sole visible buffer when in the mini-buffer.
5903
52283633 5904 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5905 Bind `inhibit-read-only' to t.
5906 (unwind_with_echo_area_buffer): Use AREF.
5907
c0006262
GM
5908 * xfns.c (Fx_hide_tip): Simplified.
5909
52283633
SM
5910 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5911 instead of `1'.
e9a59cad 5912
ecf4d726
GM
5913 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5914
e5959a9a
GM
59152000-12-11 Gerd Moellmann <gerd@gnu.org>
5916
a3642e49 5917 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5918
44b5a125
GM
5919 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5920 nothing to do. Bind inhibit-quit.
5921 (tip_frame): Make it a Lisp_Object.
5922 (x_create_tip_frame): Set tip_frame after it has been added to
5923 Vframe_list.
5924 (Fx_show_tip): Don't set tip_frame here.
5925
5926 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5927
5928 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5929 Lisp_Object.
5930
5931 * dispextern.h: Change external declaration of tip_frame.
5932
d990421f
GM
5933 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5934 return an empty string.
5935
4db87380
GM
5936 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5937 of the window's update_mode_line flag, since the former is set by
5938 force-mode-line-update, not the latter. This makes
5939 column-number-mode slightly faster.
52283633 5940
e5959a9a
GM
5941 * xdisp.c (try_window_id) <all changes above window start>:
5942 Set the cursor.
5943
169fe44e
GM
59442000-12-11 Paul Eggert <eggert@twinsun.com>
5945
5946 * config.in (HAVE_FTELLO): Remove.
5947 (HAVE_FSEEKO): Add.
5948 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5949 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5950 HAVE_FTELLO.
5951 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5952 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5953
59ec59ae
MB
59542000-12-11 Miles Bader <miles@gnu.org>
5955
5956 * window.c (displayed_window_lines): Don't round up when
5957 converting empty space at bottom to lines.
ff904dd6
MB
5958 Handle non-newline-terminated final lines properly.
5959 (Fwindow_text_height): New function (used to be in lisp).
5960 (syms_of_window): Initialize it.
59ec59ae 5961
42ebfa31
SM
59622000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5963
5964 * syntax.c (scan_lists): Check that the right quote char has the
5965 right Sstring syntax when jumping over strings.
5966 (init_syntax_once): Use Smax rather than 13.
5967
5cdb3cf3
MB
59682000-12-09 Miles Bader <miles@gnu.org>
5969
5970 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5971 with PARTIALLY, inverting the sense.
5972 (window_scroll_pixel_based): Scroll partially visible lines into
5973 place if we hit the beginning or end of the buffer.
a12167c5
MB
5974 (displayed_window_lines): Don't include partially visible lines.
5975 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5976
842b2a94
GM
59772000-12-08 Gerd Moellmann <gerd@gnu.org>
5978
5979 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5980
5981 * tparam.c (tparam1): Change the way buffers are reallocated to be
5982 portable and less obfuscated.
5983
5984 * termcap.c (tgetent): Change the way buffers are reallocated to
5985 be portable and less obfuscated.
5986
5987 * macros.c (store_kbd_macro_char): Change the way buffers are
5988 reallocated to be portable and less obfuscated.
5989
5990 * lread.c (read1): Change the way buffers are reallocated to be
5991 portable and less obfuscated.
5992
5993 * doc.c (Fsubstitute_command_keys): Change the way buffers
5994 are reallocated so that it is portable.
5995
137cad7c
EZ
59962000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5997
5998 * dosfns.c (Ffile_system_info): New function.
5999 (syms_of_dosfns): Defsubr it.
6000
5c7f629c
SM
60012000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6002
6003 * alloc.c (gc_sweep): Add comment.
6004
959e647d
GM
60052000-12-07 Gerd Moellmann <gerd@gnu.org>
6006
52283633
SM
6007 * sound.c (vox_configure): Change order of ioctls.
6008 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6009 Ignore errors when changing volume.
6010 (vox_close): Don't reset the device.
6011
926b7e5e
GM
6012 * process.c (read_process_output): Make sure the process marker's
6013 position is valid when the process buffer is changed in
6014 after-change functions. W3 does that.
52283633 6015
959e647d
GM
6016 * xfns.c (x_free_gcs): New function.
6017
6018 * xterm.h (x_free_gcs): Add prototype.
6019
6020 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6021 freeing GCs here.
6022
6023 * xterm.c (x_destroy_window): Call x_free_gcs so that
6024 resources of non-toolkit X windows will be freed.
6025
478ea067
AI
60262000-12-07 Andrew Innes <andrewi@gnu.org>
6027
6028 * w32fns.c (xlfd_charset_of_font): Fix last change.
6029
fbee3231
DL
60302000-12-06 Dave Love <fx@gnu.org>
6031
67292061
DL
6032 * md5.h (__P): Don't define -- it comes from config.h.
6033
fbee3231
DL
6034 * strftime.c: Change some #if foo to #ifdef foo.
6035
4ee87dbb
AI
60362000-12-06 Andrew Innes <andrewi@gnu.org>
6037
6038 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6039
52283633 6040 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6041 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6042 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6043
9765b4a4
GM
60442000-12-06 Gerd Moellmann <gerd@gnu.org>
6045
d285b373
GM
6046 * alloc.c (gc_sweep): Prevent symbols read during loadup
6047 from being freed.
6048
384333ee
GM
6049 * xdisp.c (underlying_face_id): New function.
6050 (handle_face_prop, face_before_or_after_it_pos): Use it
6051 to determine the face ``under'' a string. Let strings inherit
6052 the face of the buffer under them.
6053
6054 * xfaces.c (face_at_string_position): Update function comment.
52283633 6055
d4b72d58
GM
6056 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6057 matrix if the window's left position has changed; we need to
6058 redraw it in this case.
6059
6060 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6061
e1d05387
GM
6062 * window.c (coordinates_in_window): Check mouse on mode-line or
6063 header-line first.
6064
eb1b0c74
GM
6065 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6066 advertized by the function documentation.
6067
d94d636f
GM
6068 * window.c (syms_of_window): Doc fix.
6069
3887b449
GM
6070 * sound.c (vox_configure): Set volume for left and right channel.
6071 (sound_cleanup): Return nil.
6072
efc8f57a
GM
6073 * xdisp.c (move_it_by_lines): Fix paren typo.
6074
9765b4a4
GM
6075 * xterm.c (x_load_font): Don't use the font's max_bounds for
6076 computing the height of the font. If max_bounds' ascent or
6077 descent are greater than the font's ascent or descent, this means
6078 glyphs overlap, which should be handled now by redisplay.
6079
6529ed87
GM
6080 * window.c (Veven_window_heights): New variable.
6081 (syms_of_window): DEFVAR_LISP it.
6082 (Fdisplay_buffer): Check Veven_window_heights before evening the
6083 window heights.
52283633 6084
0eb2ecde
MB
60852000-12-06 Miles Bader <miles@gnu.org>
6086
6087 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6088 update `default-frame-alist' instead of setting no frame parameters.
6089
03d7a167
KH
60902000-12-06 Kenichi Handa <handa@etl.go.jp>
6091
6092 * composite.c (update_compositions): Fix typo (use the correct
6093 variable).
6094
5f8803c2
JR
60952000-12-05 Jason Rumney <jasonr@gnu.org>
6096
6097 * md5.h: Remove underscores from function declarations.
6098 (__attribute__, __alignof__) [!__GNUC__]: Define.
6099
6100 * md5.c: Delay include of md5.h until after namespace cleaning.
6101
c28a075b
JR
6102 * makefile.w32-in (fns.o): Depend on md5.h
6103 (md5.o): New target.
6104 (sunfns.o): Remove.
6105
6106 * makefile.nt: Likewise.
6107
ff3c7056
JR
61082000-12-05 Jason Rumney <jasonr@altavista.net>
6109
6110 * w32term.c (expose_area): Complete last change.
6111
0c21eeeb
KR
61122000-12-05 Ken Raeburn <raeburn@gnu.org>
6113
6114 * minibuf.c: Include intervals.h.
6115
f201d732
JR
61162000-12-05 Jason Rumney <jasonr@gnu.org>
6117
6118 * w32term.c (x_produce_glyphs): If a font for a component of
6119 a composition is not found, use 1 pixel dot ascent and 0 dot
6120 descent value to avoid displaying terribly tall empty boxes.
6121 (expose_area): Pass x-coordinate relative to the exposed
6122 area to x_draw_glyphs instead of a window-relative coordinate.
6123
21999ab9
GM
61242000-12-05 Gerd Moellmann <gerd@gnu.org>
6125
4d2036e4
GM
6126 * xdisp.c (next_element_from_ellipsis): Save face before selective
6127 display in saved_face_id, and set face_before_selective_p.
6128 (reseat_1): Reset face_before_selective_p.
6129 (append_space, extend_face_to_end_of_line): If iterator's
6130 face_before_selective_p is set, use the face from saved_face_id.
6131 (extend_face_to_end_of_line): For tty frames, make sure to
6132 use the right face id when producing spaces at the end of
6133 the line.
6134
6135 * dispextern.h (struct it): Add face_before_selective_p.
6136
52be17cc
GM
6137 * keyboard.c (record_char): Don't record identical help-echo
6138 events in recent_keys.
6139
8a4f36cc
GM
6140 * xterm.c [USE_X_TOOLKIT]: Close the display.
6141 (xim_close_dpy): Handle case that the display has been closed.
6142
57d6e381
GM
6143 * xterm.c (x_destroy_window): Reset the frame's X window after
6144 destroying it.
6145
21999ab9
GM
6146 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6147 variable window_width.
6148 (line_draw_cost): Fix code skipping over spaces at the end of the
6149 line when must_write_spaces is not set.
6150 (scrolling_window): Fix code inserting runs in list of all runs.
6151
91372bb7
KH
61522000-12-05 Kenichi Handa <handa@etl.go.jp>
6153
6154 * coding.c (setup_coding_system): Be sure to initialize
6155 coding->category_idx.
6156
6c083b4c
GM
61572000-12-04 Gerd Moellmann <gerd@gnu.org>
6158
0c68ce6f 6159 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6160
6452929e
GM
6161 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6162 area to x_draw_glyphs instead of a window-relative coordinate.
6163
d7f31e22
GM
6164 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6165 error in the message.
6166
ae18aa3b
GM
6167 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6168 timer after having read a key. It's not good for code reading
6169 several keys in a loop, like an input method.
6170
caa15ef7
GM
6171 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6172 record undo information for format-decode.
6173
6174 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6175 current buffer is read-only, not if it isn't.
6176
6c083b4c
GM
6177 * keyboard.c (record_char): Record `help-echo' input events
6178 in recent_keys only if they display some help. Don't record
6179 `help-echo' events as macro char.
6180
caa15ef7
GM
61812000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6182
6183 * editfns.c (save_excursion_restore): Don't move point
6184 in another window if it is showing the wrong buffer.
6185 Avoid the call to Fwindow_live_p, for speed.
6186
5a13529b
KH
61872000-12-04 Kenichi Handa <handa@etl.go.jp>
6188
e225faa7
KH
6189 * xfaces.c (struct font_name): New member registry_priority.
6190 (split_font_name): Initialize the above member to zero.
6191 (concat_font_list): New function.
6192 (font_list): Include fonts of all alternative registries.
6193 (FONT_POINT_SIZE_QUANTUM): New macro.
6194 (better_font_p): Ignore point size difference less than
6195 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6196
e89648b4
KH
6197 * xterm.c (x_produce_glyphs): If a font for a component of
6198 a composition is not found, use 1 pixel dot ascent and 0 dot
6199 descent value to avoid displaying terribly tall empty boxes.
6200
5a13529b
KH
6201 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6202
d7935eb6
KR
62032000-12-03 Ken Raeburn <raeburn@gnu.org>
6204
6205 * coding.h (code_convert_string1): Declare.
6206
6207 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6208
52283633 6209 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6210
0dd5e255
JR
62112000-12-02 Jason Rumney <jasonr@gnu.org>
6212
6213 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6214 correctly for single byte character case.
6215 (w32_per_char_metric): Do not try to make any assumptions about
6216 the metrics of BDF fonts.
250cfece 6217 (x_estimate_mode_line_height): If `mode-line' face
52283633 6218 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6219 (note_mouse_highlight): Change the cursor shape on the vertical
6220 border between windows [not enabled].
6221
6222 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6223
6224 * w32fns.c (Fx_create_frame): Reintroduce the call to
6225 face-set-after-frame-defaults.
6226 (Vx_window_horizontal_drag_shape): New variable.
6227 (syms_of_xfns): DEFVAR_LISP it.
6228 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6229 enabled].
0dd5e255 6230
b5d8d2ca
GM
62312000-12-02 Simon Josefsson <simon@josefsson.org>
6232
6233 * fns.c (Fmd5): Use a different logic to decide the coding system
6234 to use.
6235
6236 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6237
fbb87147
EZ
62382000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6239
52283633 6240 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6241
447e9da0
GM
62422000-12-01 Gerd Moellmann <gerd@gnu.org>
6243
7708ced0
GM
6244 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6245 height for YNegative.
6246 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6247 height; also see comment there.
6248
447e9da0
GM
6249 * window.c (coordinates_in_window): Handle computations for
6250 positions on the vertical bar and fringes differently for
6251 window-system frames. Consider some pixels near the vertical bar
6252 as on the bar if the frame doesn't have vertical scroll bars.
6253 Associate positions between mode or header lines with the
6254 right window, the left one.
6255
86d1db20
JR
62562000-12-01 Jason Rumney <jasonr@gnu.org>
6257
6258 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6259
6260 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6261 invalid frame.
6262
a1d58e5b
GM
62632000-12-01 Gerd Moellmann <gerd@gnu.org>
6264
52283633 6265 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6266 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6267 (save_window_save, Fset_window_configuration): Save/restore
6268 window's orig_top and orig_height.
6269
89c609af
JR
62702000-12-01 Jason Rumney <jasonr@gnu.org>
6271
4d177746 6272 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6273
89c609af
JR
6274 * w32fns.c (x_set_cursor_color): Fix last change.
6275
eccc05db
GM
62762000-11-30 Gerd Moellmann <gerd@gnu.org>
6277
31b6671b
GM
6278 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6279 sure that the next redisplay displays the minibuffer, so that
6280 the cursor will be replaced with what the minibuffer wants.
6281
eccc05db
GM
6282 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6283 #ifndef instead of using #if.
6284 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6285 USE_TOOLKIT_SCROLL_BARS is defined.
6286
162de750
JR
62872000-11-30 Jason Rumney <jasonr@gnu.org>
6288
6289 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6290 x_display_cursor.
6291
693c4692
GM
62922000-11-30 Gerd Moellmann <gerd@gnu.org>
6293
6294 * fns.c (Fmd5): Doc fix.
6295
b5d8d2ca 62962000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6297
6298 * fns.c (Fmd5): New function.
6299 (syms_of_fns): Defsubr md5.
6300
6301 * Makefile.in (obj): Add md5.o
6302
b02cd40b
GM
63032000-11-30 Gerd Moellmann <gerd@gnu.org>
6304
edfb795e
GM
6305 * md5.h, md5.c: New files, taken from glibc.
6306
df3aedcf
GM
6307 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6308
b02cd40b 6309 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6310 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6311
8b5176cd
SM
63122000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6313
6314 * eval.c (Frun_hooks): Allow 0 arguments.
6315
346598f1
GM
63162000-11-29 Gerd Moellmann <gerd@gnu.org>
6317
f9396e03
GM
6318 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6319 is over the menu bar widget, say it's not on the frame.
6320
4a967a9b
GM
6321 * xfns.c (Fx_create_frame): Reintroduce the call to
6322 face-set-after-frame-defaults.
6323
346598f1
GM
6324 * eval.c (Fsignal): Reset handling_signal.
6325
222456a1
JR
63262000-11-28 Jason Rumney <jasonr@gnu.org>
6327
6328 * w32menu.c (add_menu_item): Reset menu item text when changing
6329 type to radio button.
6330
8049ddc0
GM
63312000-11-28 Gerd Moellmann <gerd@gnu.org>
6332
346598f1 6333 * xselect.c: Update copyright.
f4f4ee4d 6334
bebe4a2c
GM
6335 * window.c (coordinates_in_window): If on a mode or header line,
6336 but sufficiently close to its start, return ``on vertical
6337 border''. This gives us a way to drag windows horizontally when
6338 using toolkit scroll bars.
6339
6340 * xterm.c (note_mouse_highlight): Change the cursor shape
6341 on the vertical border between windows.
6342
6343 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6344
6345 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6346 (syms_of_xfns): DEFVAR_LISP it.
6347 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6348
8d2c2642
GM
6349 * textprop.c (text_read_only): New function.
6350 (verify_interval_modification): Use it instead of signaling
6351 `text-read-only'. This makes it easier to catch this error
52283633 6352 with a breakpoint.:
8d2c2642 6353
52283633 6354 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6355 not end of line, which includes CR.
6356
5a2bae6c
KH
63572000-11-28 Kenichi Handa <handa@etl.go.jp>
6358
6359 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6360 include no-conversion.
6361
ae31f84d
JR
63622000-11-27 Jason Rumney <jasonr@gnu.org>
6363
6364 * w32fns.c (w32_load_system_font): Always mark font as double byte
6365 if codepage is unicode.
6366
67f1cf4c
GM
63672000-11-27 Gerd Moellmann <gerd@gnu.org>
6368
4a74d071 6369 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6370 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6371
902ae620
GM
6372 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6373 `vertical-line', `mode-line' and `header-line' events.
6374
6375 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6376 of a character, a TAB for instance. This is easier than to set
6377 up the iterator exactly, and it's not a frequent case, so the
6378 additional effort wouldn't really pay off.
6379
c1e279c2
AC
63802000-11-26 Andrew Choi <akochoi@i-cable.com>
6381
67f1cf4c 6382 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6383 init_window_once.
6384
a609568a
JR
63852000-11-25 Jason Rumney <jasonr@gnu.org>
6386
52283633
SM
6387 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6388 Args to window_from_coordinates should be pixel coordinates.
48b21762 6389
a609568a
JR
6390 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6391 redisplay handles them properly.
6392
a658d039
MB
63932000-11-25 Miles Bader <miles@gnu.org>
6394
6395 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6396
d3416cca
JR
63972000-11-24 Jason Rumney <jasonr@gnu.org>
6398
6399 * w32.c (init_environment): Set LANG environment variable based on
6400 locale settings, if not set.
6401
6402 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6403 making tool bar smaller. When clearing the frame, also
6404 clear current matrices. Clear frame when tool bar disappears.
6405 Don't use more lines for the tool-bar than is available.
6406 (x_change_window_heights): New function.
6407
ba193890
GM
64082000-11-24 Gerd Moellmann <gerd@gnu.org>
6409
2be8f184
GM
6410 * xdisp.c (init_from_display_pos): If POS says we're already after
6411 an overlay string ending at POS, make sure to pop the iterator
6412 because it will be in front of that overlay string. When POS is
6413 ZV, we've thereby also ``processed'' overlay strings at ZV.
6414
ba193890
GM
6415 * xfaces.c (lface_from_face_name): Function comment fix.
6416
1862a24e
MB
64172000-11-24 Miles Bader <miles@gnu.org>
6418
6419 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6420 apply `mode-line-inverse-video' -- zero means force display using
6421 the default face, non-zero means display using the specialized face.
6422 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6423
f07fa1b8
KH
64242000-11-23 Kenichi Handa <handa@etl.go.jp>
6425
6426 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6427 hard coded `4'.
6428
2bcdf662
EZ
64292000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6430
6431 * coding.c (decode_coding_emacs_mule): Fix the case of
6432 CODING_EOL_LF, which used uninitialized value of c.
6433
ba8299ff
SM
64342000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6435
6436 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6437
f4117c4d
GM
64382000-11-22 Gerd Moellmann <gerd@gnu.org>
6439
03e757c1
GM
6440 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6441 buffer object.
6442
f4117c4d
GM
6443 * frame.h (struct frame): Replace desired_tool_bar_items,
6444 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6445 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6446
6447 * frame.c (make_frame): Change initialization of tool bar
6448 items accordingly.
6449
6450 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6451 Change references to members deleted from struct frame to use the
f4117c4d
GM
6452 new ones.
6453
6454 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6455 references to members deleted from struct frame to use the new ones.
f4117c4d 6456
52283633 6457 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6458
6459 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6460
6461 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6462 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6463 from struct frame to use the new ones.
6464
f8e2f3f2
MB
64652000-11-23 Miles Bader <miles@gnu.org>
6466
6467 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6468 the face's inverse-video attribute, rather than overriding it.
6469
60e8e0a5
GM
64702000-11-22 Gerd Moellmann <gerd@gnu.org>
6471
6472 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6473 making tool bar smaller.
6474
92dd1b29
DL
64752000-11-22 Dave Love <fx@gnu.org>
6476
6477 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6478
e672fdce
MB
64792000-11-22 Miles Bader <miles@gnu.org>
6480
3a17d6cc
MB
6481 * keyboard.c (Vminibuffer_message_timeout): New variable.
6482 (command_loop_1): Use it to determine message timeout.
6483 (syms_of_keyboard): Initialize it.
6484
60e8e0a5 6485 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6486
e9655d81
KH
64872000-11-22 Kenichi Handa <handa@etl.go.jp>
6488
6489 * sysdep.c: Move the code for declaring h_errno after #include
6490 <netdb.h>.
6491
77270fac
GM
64922000-11-21 Gerd Moellmann <gerd@gnu.org>
6493
cd913aae
GM
6494 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6495 the menu bar when the tooltip is unmapped.
6496
77270fac
GM
6497 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6498 sole visible buffer when we're currently in the mini-buffer, and
6499 give up if so.
52283633 6500
556635d6
JR
65012000-11-21 Jason Rumney <jasonr@gnu.org>
6502
6503 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6504 put on the clipboard.
6505 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6506 copy of what Emacs last put there. If they are the same, do not
52283633 6507 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6508
5b7bde64
MB
65092000-11-22 Miles Bader <miles@gnu.org>
6510
6511 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6512 (syms_of_minibuf): Initialize it.
6513 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6514 to prompt, don't make read-only.
6515
ff23e1dd
GM
65162000-11-21 Gerd Moellmann <gerd@gnu.org>
6517
52283633
SM
6518 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6519 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6520
7aaf4388
GM
6521 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6522
f5f47add 6523 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6524
ff23e1dd
GM
6525 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6526
37c35586
KH
65272000-11-21 Kenichi Handa <handa@etl.go.jp>
6528
6529 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6530 ... #endif scope.
6531
ff9ab414
GM
65322000-11-20 Gerd Moellmann <gerd@gnu.org>
6533
52283633 6534 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6535 screen supports it.
6536
29a01b72
GM
6537 * s/gnu-linux.h: Don't use `#cpu'.
6538
09dfdf85
GM
6539 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6540 not defined in mman.h.
6541
52283633 6542 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6543 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6544 and store an index in the XClientMessageEvent. Storing a
6545 Lisp_Object or pointer can fail on a 64 bit system, since X only
6546 transfers 32 bits.
52283633
SM
6547 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6548
81459ac9
DL
65492000-11-20 Dave Love <fx@gnu.org>
6550
6551 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6552
56c13ae6
GM
65532000-11-20 Gerd Moellmann <gerd@gnu.org>
6554
6555 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6556
495a6df3
KH
65572000-11-20 Kenichi Handa <handa@etl.go.jp>
6558
2bcf3714
KH
6559 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6560 by WIDTH.
6561
495a6df3
KH
6562 * alloc.c (make_string): Fix previous change. Be sure to make
6563 unibyte string correctly.
6564
6d950f4c
GM
65652000-11-19 Gerd Moellmann <gerd@gnu.org>
6566
39b39373
GM
6567 * window.c (Fwindow_list): Change parameter list to be XEmacs
6568 compatible.
6569 (window_list_1): New function.
6570 (window_loop): Use it instead of Fwindow_list.
6571
b95b34e5
GM
6572 * sysdep.c (emacs_ospeed): New variable.
6573 (toplevel): Don't declare ospeed extern.
6574 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6575
6576 * termcap.c (ospeed): Remove.
6577 (tputs) [!emacs]: Remove unused code.
6578 (tgetent): Avoid a compiler warning.
6579
e83dc917
GM
6580 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6581 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6582 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6583
6584 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6585 removed.
6586 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6587 Take the X display as additional argument.
6588 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6589 `Widget' is a pointer type that's not easily stored in Lisp_Object
6590 form in a portable way.
52283633 6591
6d950f4c
GM
6592 * dispnew.c (update_text_area): Fix last change.
6593
e47306e6
GM
65942000-11-18 Gerd Moellmann <gerd@gnu.org>
6595
fb3cd89b
GM
6596 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6597
6598 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6599 clear current matrices.
6600
edaa9aed
GM
6601 * buffer.c (mmap_enlarge): Don't print a message on stderr
6602 if mapping new memory at the end of the existing region fails.
6603
e47306e6
GM
6604 * dispnew.c (update_text_area): Don't skip over equal glyphs
6605 when the last current glyph overlaps the glyph to its right.
6606
509633e3
MB
66072000-11-18 Miles Bader <miles@gnu.org>
6608
6609 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6610 lines that *end* with "..." too (that's the most common case!).
6611
d392e9c5
GM
66122000-11-18 Gerd Moellmann <gerd@gnu.org>
6613
67988445
GM
6614 * xdisp.c (resize_mini_window): Temporarily change to the
6615 mini-window's buffer if necessary.
1bfdbe43 6616
d392e9c5
GM
6617 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6618 the tooltip obscures less text under it.
6619
66202000-11-17 Gerd Moellmann <gerd@gnu.org>
6621
6622 * puresize.h (BASE_PURESIZE): Increase to 700000.
6623
92bb977f
JR
66242000-11-18 Jason Rumney <jasonr@gnu.org>
6625
6626 * w32term.c (w32_draw_bitmap): Use face to set colors.
6627
26fbf20b
DL
66282000-11-17 Dave Love <fx@gnu.org>
6629
6630 * lread.c (Fload): Fix #ifdef for pcc.
6631
100b593b
GM
66322000-11-17 Gerd Moellmann <gerd@gnu.org>
6633
6634 * xdisp.c (pos_visible_p): Compute the default character height
6635 differently.
6636
a288d0d1
GM
66372000-11-16 Gerd Moellmann <gerd@gnu.org>
6638
cac94de6 6639 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6640 knowing the line's height; use the default font's height in that case.
cac94de6 6641
a288d0d1
GM
6642 * xfaces.c (weight_table): Add `demi' with the same meaning as
6643 `demibold'.
6644
981fb6f6
KH
66452000-11-16 Kenichi Handa <handa@etl.go.jp>
6646
2cca872d 6647 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6648 (clear_glyph_row): Delete local static variable null_row.
6649
e5fa381b
JR
66502000-11-15 Jason Rumney <jasonr@gnu.org>
6651
6652 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6653 (w32_alloc_lighter_color): Use new brightness calculations from
6654 xterm.c. Scale delta to be in the range expected by W32.
6655 (w32_draw_relief_rect): Use frame relief colors.
6656
8e42f043
GM
66572000-11-15 Gerd Moellmann <gerd@gnu.org>
6658
6d133d1f
GM
6659 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6660 (Qinhibit_default_face_x_resources): New variable.
6661 (syms_of_frame): Initialize it.
6662 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6663
6664 * xdisp.c (pos_visible_p): Improve function comment.
6665
6666 * lisp.h (BINDING_STACK_SIZE): New macro.
6667
8e42f043
GM
6668 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6669 reading the directory if readdir returns null and errno is EAGAIN
6670 or EINTR.
6671
e8c87124
SM
66722000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6673
6674 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6675 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6676 Set amount_to_scroll to max of dx and scroll_step so that
6677 scroll-conservatively doesn't defeat scroll-step>1.
6678 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6679 scroll-conservatively for line-at-a-time scrolling.
6680
5f0c971d
GM
66812000-11-14 Gerd Moellmann <gerd@gnu.org>
6682
6683 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6684 extra argument.
6685
6686 * xdisp.c (current_mode_line_height, current_header_line_height):
6687 New variables.
6688 (init_xdisp): Initialize them.
6689 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6690 and use exact mode line heights if it is set.
6691
6692 * lisp.h (pos_visible_p): Change prototype.
6693
6694 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6695 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6696 and current_header_line_height first.
52283633
SM
6697 (current_mode_line_height, current_header_line_height):
6698 Declare extern.
5f0c971d 6699
d7361edf
MB
67002000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6701
6702 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6703 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6704 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6705
ee5e440a
MB
67062000-11-14 Miles Bader <miles@gnu.org>
6707
6708 * xterm.c (x_alloc_lighter_color): Include an additive component
6709 too for dark colors, because FACTOR isn't enough.
6710 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6711 New macros.
6712
5ca020fc
GM
67132000-11-13 Gerd Moellmann <gerd@gnu.org>
6714
6715 * keyboard.c (show_help_echo): Call message3_nolog with number of
6716 bytes in the help string as 2nd parameter, instead of the number
6717 of characters.
6718
9d348294
MB
67192000-11-13 Miles Bader <miles@gnu.org>
6720
6721 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6722 (Fload): Use new openp return protocol.
6723 Don't try to use Vload_source_file_function to load .elc files.
6724 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6725 openp return protocol.
6726 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6727
1729bb9a
KH
67282000-11-11 Kenichi Handa <handa@etl.go.jp>
6729
4e677396
KH
6730 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6731
6732 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6733 Defined these macros.
6734 (NLIST_STRUCT): Avoid re-defining it.
6735
1729bb9a
KH
6736 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6737 -I/usr/contrib/X11R6/include.
6738 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6739
a82fe213
JR
67402000-11-10 Jason Rumney <jasonr@gnu.org>
6741
6742 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6743
6744 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6745 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6746
6747 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6748 (Qw32_charset_vietnamese): New symbol.
6749 (xlfd_charset_of_font): New function.
6750 (w32_load_system_font): Use it.
6751 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6752 when Vw32_charset_info_alist is nil to ensure default face always
6753 has font. Use Fcar and Fcdr for safety.
6754 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6755 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6756 pseudo-codepages for special cases.
6757 (w32_to_x_font): New parameter to allow charset portion to be
6758 specified where there is many to one mapping. Callers changed.
6759 (w32_list_fonts): Avoid listing fonts that won't display.
6760
52d89894
GM
67612000-11-10 Gerd Moellmann <gerd@gnu.org>
6762
6763 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6764 (font_list_1): Renamed from font_list.
6765 (font_list): New function, trying alternative registries from
6766 Vface_alternative_font_registry_alist.
6767 (Finternal_set_alternative_font_registry_alist): New function.
6768 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6769 Vface_alternative_font_registry_alist.
6770 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6771
651cd3da
KR
67722000-11-09 Ken Raeburn <raeburn@gnu.org>
6773
6774 * lisp.h (Flooking_at): Declare.
6775
388ac098
GM
67762000-11-09 Gerd Moellmann <gerd@gnu.org>
6777
778fbc46 6778 * dired.c (directory_files_internal): Fix a braino.
52283633 6779
388ac098
GM
6780 * dired.c (directory_files_internal): Add missing GCPRO's.
6781 Some cleanup.
6782
ecaedde1
GM
67832000-11-08 Gerd Moellmann <gerd@gnu.org>
6784
f7eb32aa
GM
6785 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6786 (resize_mini_window): Return quickly if Vresize_mini_window is
6787 nil. Don't return if Vmax_mini_window_height is nil.
6788
6789 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6790 (syms_of_xdisp): Initialize them.
6791 (resize_mini_window): Act according to the setting of
6792 Vresize_mini_window.
6793 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6794
ecaedde1
GM
6795 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6796 scroll bar widget after configuring it, so that it will appear at
6797 the right position from the start.
6798 (XTredeem_scroll_bar): Cleaned up.
6799
3747ef2c
KH
68002000-11-08 Kenichi Handa <handa@etl.go.jp>
6801
6802 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6803 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6804 division by two.
6805
6806 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6807
03391420
DL
68082000-11-07 Dave Love <fx@gnu.org>
6809
7758f1c1 6810 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6811
6812 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6813
b5de343d
GM
68142000-11-07 Gerd Moellmann <gerd@gnu.org>
6815
acad3c0b
GM
6816 * window.c (Fset_window_configuration): Don't try to preserve
6817 point in the current buffer, if that buffer is displayed in more
6818 than one window.
6819
b5de343d
GM
6820 * xfaces.c (lookup_named_face): If default face isn't realized,
6821 try to realize it. Return -1 if not successful.
6822 (Fx_list_fonts): Handle case that face cannot be determined.
6823 (Fface_font): Likewise.
6824
cdb1fe49
GM
68252000-11-06 Gerd Moellmann <gerd@gnu.org>
6826
6827 * window.c (displayed_window_lines): Detect partially
6828 visible lines at the bottom correctly.
6829
d3a67486
SM
68302000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6831
6832 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6833 when ensuring we don't do visit in indirect buffer.
6834
ff8dd5d5
KH
68352000-11-06 Kenichi Handa <handa@etl.go.jp>
6836
6837 * composite.h (compose_chars_in_text): Add prototype.
6838
6839 * composite.c (Vcomposition_function_table): New variable.
6840 (Qcomposition_function_table): New variable.
6841 (run_composition_function): Call
6842 Vcompose_chars_after_function with three arguments.
6843 (compose_chars_in_text): New function.
6844 (syms_of_composite): Modified the doc-string of
6845 Vcompose_chars_after_function. Declare composition-function-table
6846 as a lisp variable, and initialize it.
6847
6848 * xfns.c (x_encode_text): Suppress producing escape sequences for
6849 composition.
6850
6851 * xselect.c: Include composite.h.
6852 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6853
d1145f85
AI
68542000-11-05 Andrew Innes <andrewi@gnu.org>
6855
6856 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6857
6858 * sysdep.c (read_input_waiting): Remove extraneous argument to
6859 read_socket_hook.
6860
6861 * w32fns.c (Fx_server_version): Include w32_build_number in the
6862 return list.
6863
6864 * w32heap.c (w32_build_number): New variable.
6865 (cache_system_info): Set it.
6866
6867 * w32heap.h (w32_build_number): Add extern.
6868
6869 * emacs.c (syms_of_emacs): Update docstring for
6870 system-configuration, to reflect the actual usage on MS-Windows.
6871
e85ee976
GM
68722000-10-31 Gerd Moellmann <gerd@gnu.org>
6873
26dcb81b
GM
6874 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6875 process idle timers while waiting for another event.
6876
52283633 6877 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6878 the default face are colored.
6879
e85ee976
GM
6880 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6881 window height hasn't changed.
6882
01b220b6
JR
68832000-10-31 Jason Rumney <jasonr@gnu.org>
6884
6885 * w32term.c (x_produce_glyphs): Handle composite characters.
6886 (x_draw_glyph_string_foreground)
6887 (x_draw_composite_glyph_string_foreground): Restore old font.
6888
4e6b7204
MB
68892000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6890
6891 * minibuf.c (read_minibuf): Reset the undo history just before
6892 starting the recursive-edit.
6893
d4358b37
GM
68942000-10-30 Gerd Moellmann <gerd@gnu.org>
6895
563f68f1
GM
6896 * xfaces.c (menu_face_change_count): New variable.
6897 (Finternal_set_lisp_face_attribute): Increment it for changes
6898 of the `menu' face.
6899 (realize_basic_faces): Reflect changes in the `menu' faces
6900 in menu bars.
6901
82e274d1
GM
6902 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6903 dy obtained from the iterator's y-position after moving from
6904 scroll_margin_pos to PT; see comment there.
52283633 6905
0dbf9fd2
GM
6906 * xdisp.c (safe_eval_handler): Call add_to_log.
6907
906b3b14
GM
6908 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6909 is not a symbol or string.
6910
d4358b37
GM
6911 * xdisp.c (echo_area_display): Don't perform a display update from
6912 inside redisplay. The update will happen anyway at the end of
6913 redisplay, and it can confuse redisplay (GC messages while
6914 redisplaying, for instance.)
6915
70c825df
SM
69162000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6917
cf9b4b0b
SM
6918 * xrdb.c (x_load_resources): Use the class name in the defaults.
6919
70c825df
SM
6920 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6921 (regex_compile): Catch bogus \(\1\).
6922
a1d34b1e
GM
69232000-10-30 Gerd Moellmann <gerd@gnu.org>
6924
cae71efe
GM
6925 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6926 RGB values.
52283633 6927
35efe0a1
GM
6928 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6929 we have a color cache, check that the cached color equals the
6930 allocated color. If not, clear the color cache.
6931
1d3baf74
GM
6932 * window.c (displayed_window_lines): Change buffers if necessary.
6933 Fix computation of displayed lines.
6934
a1d34b1e
GM
6935 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6936 update_menu_bindings to DEFVAR_BOOL.
6937
70737ea9
KH
69382000-10-30 Kenichi Handa <handa@etl.go.jp>
6939
70c825df 6940 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6941
fa0cb51d
KH
6942 * puresize.h (BASE_PURESIZE): Increase to 680000.
6943
70737ea9
KH
6944 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6945
0e4c08e8
JR
69462000-10-29 Jason Rumney <jasonr@gnu.org>
6947
6948 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6949
6950 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6951 (w32_cache_char_metrics): Handle possibility that 'x' does not
6952 exist in a BDF font.
6953 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6954
6955 * w32bdf.h (bdffont): Add nchars.
6956
6957 * w32bdf.c (set_bdf_font_info): Set it.
6958 (w32_BDF_TextOut): Swap byte order of double byte characters.
6959 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6960
45b84006
EZ
69612000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6962
6963 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6964 don't override the colors in frame's param_alist, unless they are
6965 unspecified.
6966
6967 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6968 reverse the effect of the highlight flag.
6969
caf9deee
KR
69702000-10-27 Ken Raeburn <raeburn@gnu.org>
6971
6972 * window.h (Fwindow_live_p): Declare.
6973
ae0b9b46
KR
6974 * undo.c (record_delete): Check that last_undo_buffer is really a
6975 buffer before applying XBUFFER to it.
6976
6977 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6978 Faref.
6979
02067692
SM
69802000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6981
6982 * lisp.h (KEYMAPP): New macro.
6983 (get_keymap): Remove.
6984 (get_keymap_1): Rename get_keymap.
6985
6986 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6987
6988 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6989
6990 * xmenu.c (single_submenu): Use KEYMAPP.
6991 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6992 Use KEYMAPP rather than Fkeymapp.
6993
6994 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6995
6996 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6997 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6998 Use KEYMAPP rather than Fkeymapp.
6999 (single_submenu): Use KEYMAPP.
7000 (w32_menu_show, w32_dialog_show): Use TRUE.
7001
7002 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7003
7004 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7005 (Fkeymapp): Use KEYMAPP.
7006 (get_keymap): Rename from get_keymap_1. Remove old def.
7007 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7008 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7009 (Fminor_mode_key_binding): Don't raise an error if the binding
7010 is not a keymap.
7011 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7012 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7013
7014 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7015 Allow Vspecial_event_map to be autoloaded.
7016 (menu_bar_items): Fetch the keymap rather than using keymapp.
7017 (menu_bar_one_keymap): No need to follow func-indirect any more.
7018 (parse_menu_item): get_keymap_1 -> get_keymap.
7019 (tool_bar_items): Fetch the keymap rather than using keymapp.
7020 (read_key_sequence): Use KEYMAPP.
7021
7022 * intervals.c (get_local_map): Use get_keymap rather than following
7023 function-indirections explicitly.
7024
7025 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7026
f9d80af3
JR
70272000-10-27 Jason Rumney <jasonr@gnu.org>
7028
7029 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7030 point, as Windows has oversized fonts.
7031
7032 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7033
a3ba27da
GM
70342000-10-27 Gerd Moellmann <gerd@gnu.org>
7035
7036 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7037 (freehook, reallochook): Handle null pointer arguments.
7038 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7039
aa3b80cc
SM
70402000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7041
7042 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7043 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7044 Giving in to popular pressure to shut up the compiler with casts.
7045
e24e84cc
GM
70462000-10-27 Gerd Moellmann <gerd@gnu.org>
7047
7048 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7049 signed value, and use a default value computed from the font's
7050 maximum descent.
7051
05ea7ef2
MB
70522000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7053
7054 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7055 that specify a negative underline position can still use underlines.
7056
7057 * window.c (Fpos_visible_in_window_p): Make POS default to
7058 WINDOW's point, not the current buffer's point.
7059
0b95284b
DL
70602000-10-26 Dave Love <fx@gnu.org>
7061
7062 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7063 when it's necessary.
7064
6c5b90af
GM
70652000-10-26 Gerd Moellmann <gerd@gnu.org>
7066
8b6d9dc9
GM
7067 * window.c (size_window): Compute size difference from sum of old
7068 child window sizes instead of from parent's size.
7069
6bc92b2e
GM
7070 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7071 Handle obscured lines at the top of the window.
7072
7073 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7074 down after the last error condition check.
7075
6c5b90af
GM
7076 * frame.c (Fdelete_frame): Run delete-frame-hook.
7077
42f92d4d
KH
70782000-10-26 Kenichi Handa <handa@etl.go.jp>
7079
7080 * coding.c (decode_coding): Fix previous change (check also
7081 CODING_MODE_LAST_BLOCK).
7082
d97151cb
SM
70832000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7084
e7efc503
SM
7085 * regex.c: More `unsigned char' -> `re_char' changes.
7086 Also change several `int' into `re_wchar_t'.
7087 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7088 (PUSH_FAILURE_POINTER): Don't cast any more.
7089 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7090 We want GCC to complain, since this piece of code makes
7091 re_match non-reentrant, which *should* be fixed.
7092 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7093 (EXTEND_BUFFER): Use RETALLOC.
7094 (SET_LIST_BIT): Don't cast.
7095 (re_wchar_t): New type.
7096 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7097 that those two functions will always properly return.
7098 (IMMEDIATE_QUIT_CHECK): Cast to void.
7099 (analyse_first): Use recursion rather than an explicit stack.
7100 (re_compile_fastmap): Can't fail anymore.
7101 (re_search_2): Don't check re_compile_fastmap for failure.
7102 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7103 Now also sets the new value (passed in a new argument).
7104 (re_match_2_internal): Use it.
7105 Also, use a new var `reg' of type size_t when looping through regs
7106 rather than reuse the inappropriate `mcnt'.
7107
d97151cb
SM
7108 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7109 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7110 (where_is_internal): Renamed from Fwhere_is_internal.
7111 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7112 (Fwhere_is_internal): New function wrapping where_is_internal.
7113 (where_is_internal_1): Handle the case where we're filling the cache.
7114 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7115
d5789b65
MB
71162000-10-25 Miles Bader <miles@gnu.org>
7117
7118 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7119
4ecda532
GM
71202000-10-25 Gerd Moellmann <gerd@gnu.org>
7121
7122 * window.c (pos_fully_visible_p): Removed.
7123 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7124 if position is visible and/or fully visible.
7125
7126 * lisp.h (pos_visible_p): Add prototype.
7127
7128 * xdisp.c (pos_visible_p): New function.
7129
68c3a137
KH
71302000-10-25 Kenichi Handa <handa@etl.go.jp>
7131
7132 * process.c (send_process): If OBJECT is t, it means that the data
7133 is from C string, but we should encode it. Before calling
7134 setup_raw_text_coding_system, be sure to flush out data by the
7135 previous coding system.
7136
7ae1c032
MB
71372000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7138
ff4dcd4b
MB
7139 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7140 assignment of startpos to prev when startpos == pos.
7141
7ae1c032
MB
7142 * editfns.c (find_field): Set the field stickiness correctly from
7143 overlay fields. Use renamed `text_property_stickiness'.
7144 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7145 Only check text properties, not overlays.
7ae1c032
MB
7146 * textprop.c (get_char_property_and_overlay): New function.
7147 (Fget_char_property): Use it.
7148 * intervals.h (get_char_property_and_overlay): Add declaration.
7149
49801145
SM
71502000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7151
7152 * keymap.c: Use AREF, ASET and ASIZE macros.
7153 (Fmake_sparse_keymap): Docstring fix.
7154 (synkey): Remove.
7155 (shadow_lookup): Move up.
7156 Handle the case where lookup-key returns an integer.
7157 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7158 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7159 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7160 Simplify/rewrite the keymap-finding code.
7161 Add check for command shadowing, using shadow_lookup.
7162
39e776cd
SM
71632000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7164
7165 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7166 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7167 a symbol.
7168
2488aba5
AI
71692000-10-24 Andrew Innes <andrewi@gnu.org>
7170
7171 * dired.c (directory_files_internal_unwind): New function.
7172 (directory_files_internal): Use it to ensure closedir is called
7173 even if expand-file-name or file-attributes throw, eg. because of
7174 a user interrupt. Also enable immediate_quit while calling
7175 re_search, so that matching can be interrupted as well.
7176
b94fdf61
AI
71772000-10-24 Andrew Innes <andrewi@gnu.org>
7178
7179 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7180 NT-Emacs only.
7181 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7182 so that re_search functions only quit when callers expect them to.
7183
71842000-10-24 Kenichi Handa <handa@etl.go.jp>
7185
7186 * regex.c (regex_compile): Change the way of handling a range from
7187 a char less than 256 to a char not less than 256.
7188
1946f901
GM
71892000-10-24 Gerd Moellmann <gerd@gnu.org>
7190
7ae2f10f
GM
7191 * window.c (size_window): Prevent setting window's width or
7192 height to a negative value (esp. with XSETFASTINT).
7193
5dcab13e
GM
7194 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7195 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7196 (protect_malloc_state) [GC_MALLOC_CHECK &&
7197 GC_PROTECT_MALLOC_STATE]: New function.
7198 (PROTECT_MALLOC_STATE): New macro.
7199 (__malloc_initialize, morecore, _malloc_internal)
7200 (_free_internal) _realloc_internal): Use it to make _heapinfo
7201 read-only outside of gmalloc.
7202
63e1b552
GM
7203 * keymap.c: Update copyright.
7204
1946f901
GM
7205 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7206 a symbol.
7207
4fa09beb
GM
72082000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7209
7210 * filelock.c (unlock_all_files): Use unlock_file to expand each
7211 buffer's file_truename before trying remove its lock file.
7212
23afac01
EZ
72132000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7214
7215 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7216 or CRLF, decode EOLs.
7217
04448b95
KH
72182000-10-24 Kenichi Handa <handa@etl.go.jp>
7219
7220 * window.c (Fdisplay_buffer): Fix doc.
7221
3090a5a5
JR
72222000-10-23 Jason Rumney <jasonr@gnu.org>
7223
7224 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7225 ASCII font of default fontset on Windows.
7226
7227 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7228 xterm.c comment below).
7229
7230 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7231
a83fee2c
GM
72322000-10-23 Gerd Moellmann <gerd@gnu.org>
7233
7234 * xterm.c (x_connection_closed): Reset handling_signal.
7235
52283633 7236 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7237
6ffdb539
MB
72382000-10-23 Miles Bader <miles@gnu.org>
7239
7240 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7241 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7242 maintain old behavior.
7243 * minibuf.c (Fminibuffer_complete): Likewise.
7244
7f1c969b
MB
72452000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7246
7247 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7248 that when a font can't be exactly centered, it errs up rather than
7249 down.
7250
23afac01 72512000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7252
52283633 7253 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7254
1a578e9b
AC
72552000-10-23 Andrew Choi <akochoi@i-cable.com>
7256
7257 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7258
7259 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7260 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7261
7262 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7263 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7264 syms_of_search, x_term_init, and init_keyboard before calling
7265 init_window_once. Also, call syms_of_xmenu.
7266
7267 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7268 default fontset to Monaco.
7269
7270 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7271 NewMacWindow and DisposeMacWindow.
7272 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7273 instead of calling NewMacWindow and setting fields of
7274 f->output_data.mac directly. Call init_frame_faces.
7275 (Fdelete_frame) [macintosh]: Remove unused code.
7276 (Fmodify_frame_parameters) [macintosh]: Call
7277 x_set_frame_parameters instead of mac_set_frame_parameters.
7278
7279 * frame.h [macintosh]: Define menu_bar_lines field in struct
7280 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7281
7282 * keyboard.c [macintosh]: Include macterm.h.
7283 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7284 and menu_bar_activate_event type events as for X and NT.
7285 (make_lispy_event) [macintosh]: Construct lisp events of type
7286 MENU_BAR_EVENT as for X and NT.
7287
7288 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7289 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7290 (sys_subshell) [macintosh]: Remove definition entirely.
7291 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7292 Vwindow_system_version here. Remove initialization of
7293 Vx_bitmap_file_path.
7294 (read_input_waiting): Correct the number of parameters passed to
7295 read_socket_hook.
7296 Move all Macintosh functions to mac/mac.c.
7297
7298 * term.c [macintosh]: Include macterm.h.
7299
7300 * window.c [macintosh]: Include macterm.h.
7301
7302 * xdisp.c [macintosh]: Include macterm.h. Declare
7303 set_frame_menubar and pending_menu_activation.
7304 (echo_area_display) [macintosh]: Do not return if terminal frame
7305 is the selected frame.
7306 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7307 Allow only the selected frame to set menu bar.
7308 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7309 calling FRAME_EXTERNAL_MENU_BAR (f).
7310 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7311
7312 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7313 and check_x. Declare XCreateGC. Define x_create_gc and
7314 x_free_gc. Initialize font_sort_order.
7315 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7316 but call x_list_fonts instead of w32_list_fonts.
7317 (Finternal_face_x_get_resource) [macintosh]: Do not call
7318 display_x_get_resource.
7319 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7320 (realize_x_face) [macintosh]: Load the font if it is specified in
7321 ATTRS.
52283633 7322 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7323
1ffbabe3
SM
73242000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7325
7326 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7327 is nil: since we go to the end of submap anyway, we'd end up
7328 setting nil to nil.
7329 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7330 doesn't obey autoload.
7331
bed43f1d
EZ
73322000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7333
1ffbabe3 7334 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7335
ea4233a7
JR
73362000-10-21 Jason Rumney <jasonr@gnu.org>
7337
7338 * w32term.c (w32_cache_char_metrics): Double check that font is
7339 really fixed pitch before trusting tmPitchAndFamily.
7340
f3d3c491
AI
73412000-10-21 Andrew Innes <andrewi@gnu.org>
7342
7343 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7344
7345 * w32term.h: Extern decl for w32_cache_char_metrics.
7346
7347 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7348
7349 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7350 (w32_unload_font): Free per_char array if present.
7351
7352 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7353 cached information in emulated XFontStruct to handle common cases
7354 quickly. Do not allocate XCharStruct for return.
7355 (w32_native_per_char_metric): New function.
7356 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7357 allocating one.
7358 (x_produce_glyphs): Don't get an HDC. Change calls to
7359 w32_per_char_metric to match arg change above. Remove calls to
7360 free results.
7361 (w32_get_glyph_overhangs): Ditto.
7362 (w32_cache_char_metrics): New function.
7363
7364 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7365 ($(BLD)/casefiddle.$(O)): Remove compile command.
7366 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7367 ($(BLD)/dispnew.obj):
7368 ($(BLD)/keyboard.obj):
7369 ($(BLD)/w32inevt.obj):
7370 ($(BLD)/w32bdf.obj):
7371 ($(BLD)/alloc.obj):
7372 ($(BLD)/buffer.obj):
7373 ($(BLD)/editfns.obj):
7374 ($(BLD)/emacs.obj):
7375 ($(BLD)/fileio.obj):
7376 ($(BLD)/fns.obj):
7377 ($(BLD)/indent.obj):
7378 ($(BLD)/insdel.obj):
7379 ($(BLD)/intervals.obj):
7380 ($(BLD)/minibuf.obj):
7381 ($(BLD)/print.obj):
7382 ($(BLD)/scroll.obj):
7383 ($(BLD)/sysdep.obj):
7384 ($(BLD)/textprop.obj):
7385 ($(BLD)/widget.obj):
f3d3c491
AI
7386 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7387 ($(BLD)/term.obj): Add dependency on dispextern.h.
7388
52283633
SM
7389 * makefile.nt ($(BLD)\dispnew.obj):
7390 ($(BLD)\keyboard.obj):
7391 ($(BLD)\w32inevt.obj):
7392 ($(BLD)\w32bdf.obj):
7393 ($(BLD)\alloc.obj):
7394 ($(BLD)\buffer.obj):
7395 ($(BLD)\editfns.obj):
7396 ($(BLD)\emacs.obj):
7397 ($(BLD)\fileio.obj):
7398 ($(BLD)\fns.obj):
7399 ($(BLD)\indent.obj):
7400 ($(BLD)\insdel.obj):
7401 ($(BLD)\intervals.obj):
7402 ($(BLD)\minibuf.obj):
7403 ($(BLD)\print.obj):
7404 ($(BLD)\scroll.obj):
7405 ($(BLD)\sysdep.obj):
7406 ($(BLD)\textprop.obj):
7407 ($(BLD)\widget.obj):
f3d3c491
AI
7408 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7409 ($(BLD)\term.obj): Add dependency on dispextern.h
7410
18ad4821
EZ
74112000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7412
7413 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7414 with an additional argument of Qt.
7415
de54681a
MB
74162000-10-21 Miles Bader <miles@gnu.org>
7417
7418 * window.c (pos_fully_visible_in_window_p): New function.
7419 (Fpos_visible_in_window_p): Add FULLY argument.
7420 Use pos_fully_visible_in_window_p.
7421 (window_scroll_pixel_based, window_scroll_line_based): Update
7422 calls to Fpos_visible_in_window_p.
7423 * lisp.h (Fpos_visible_in_window_p): Update prototype
7424
13c844fb
GM
74252000-10-20 Gerd Moellmann <gerd@gnu.org>
7426
7427 * alloc.c (toplevel): Conditionalize compilation of mem_*
7428 functions differently.
52283633 7429
d9506268
JR
74302000-10-20 Jason Rumney <jasonr@gnu.org>
7431
7432 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7433 mem_init where it used to be. mem_z etc not defined otherwise.
7434
8094989b
GM
74352000-10-20 Gerd Moellmann <gerd@gnu.org>
7436
7437 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7438 GC_MALLOC_CHECK.
7439 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7440 structure definition and related variabled to the top of the file.
7441 Include this code when GC_MALLOC_CHECK is defined.
7442 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7443 register/unregister allocated region.
7444 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7445 which isn't allocated.
7446 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7447 something which is already in use.
7448 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7449 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7450 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7451 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7452
7453 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7454 _malloc_internal instead of malloc.
7455 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7456 of free.
7457
ea456eb4
AI
74582000-10-20 Andrew Innes <andrewi@gnu.org>
7459
7460 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7461 Windows.
7462 (my_strftime) <macro>: Don't use macro arg list when redefining as
7463 _strftime_copytm.
7464 (my_strftime) <function>: Supply 0 as ut argument.
7465
e64c3a75
JR
74662000-10-19 Jason Rumney <jasonr@altavista.net>
7467
7468 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7469 including dispextern.h, as it stops faces from working.
7470
7471 * w32fns.c (Fx_create_frame): Don't bother calling
7472 face-set-after-frame-default since the caller does it for us
7473 anyway. Clean up calls to x_get_arg to be consistent with X.
7474
7475 * w32term.c (x_produce_glyphs): Handle
7476 unibyte_display_via_language_environment correctly.
7477 (w32_draw_box_rect): Fix the calculation of width and height.
7478
7479 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7480 as it has stopped working.
7481 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7482 menu-bar.
7483
17401c97
GM
74842000-10-19 Gerd Moellmann <gerd@gnu.org>
7485
7486 * eval.c (skip_debugger): Prevent a compiler warning.
7487 (Fcondition_case): Likewise.
7488 (Fbacktrace_frame): Use a null interactive spec.
7489
773272d8
KH
74902000-10-19 Kenichi Handa <handa@etl.go.jp>
7491
7492 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7493
a42943e9
GM
74942000-10-18 Gerd Moellmann <gerd@gnu.org>
7495
e50517d9
GM
7496 * strftime.c: Sync with glibc, file version 1.78.
7497 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7498 should no longer be used according to ISO 8601.
7499
9035a35a
GM
7500 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7501 no map for meta_prefix_char, don't try to use it as a keymap.
7502 Instead, if T_OK is non-zero, look up a default binding, if any,
7503 otherwise, if T_OK is zero, return nil.
7504
a42943e9
GM
7505 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7506 (x_to_xcolors, png_load): Use x_query_color.
7507
52283633
SM
7508 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7509 New functions.
a42943e9
GM
7510 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7511 which can be slow.
7512 (x_copy_color, x_alloc_lighter_color): Likewise.
7513
7514 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7515 (x_query_color, x_query_colors): Add prototype.
7516
7517 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7518 check_string_bytes only if not noninteractive, increase count to 50.
7519
00de2987
MB
75202000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7521
7522 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7523 markers correctly.
7524
54918e2b
GM
75252000-10-17 Gerd Moellmann <gerd@gnu.org>
7526
1f0b3fd2
GM
7527 * alloc.c (pure_bytes_used): Renamed from pureptr.
7528 (ALIGN): New macro.
7529 (pure_alloc): New function.
7530 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7531 Use it.
7532 (Fpurecopy): Use PURE_POINTER_P.
7533
68c5d1db
GM
7534 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7535 PT has moved backward.
52283633 7536
9a038881
GM
7537 * xdisp.c (cursor_row_p): Take continued lines into account.
7538
361b097f
GM
7539 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7540 string's size_byte.
7541 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7542 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7543 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7544 string allocated.
7545
54918e2b
GM
7546 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7547 of selective display off while searching for the next line start.
7548
03ed0806
KH
75492000-10-17 Kenichi Handa <handa@etl.go.jp>
7550
7551 * Makefile.in (term.o): Depend on dispextern.h.
7552
7e05cdaf
SM
75532000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7554
7555 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7556
a6801fd1
GM
75572000-10-16 Gerd Moellmann <gerd@gnu.org>
7558
483de32b
GM
7559 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7560 the iterator at the beginning, so that they can be set later on,
7561 for instance in reseat_at_next_visible_line_start, without being
7562 overwritten.
7563
a6801fd1
GM
7564 * xfns.c (pbm_format): Add :foreground and :background keywords.
7565 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7566 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7567
dbf1fcc1
EZ
75682000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7569
7570 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7571
52283633 7572 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7573
7574 * msdos.c (IT_set_face): Compare highlighted face with the default
7575 face, and invert colors if these faces' colors are identical.
7576 (Fmsdos_remember_default_colors): Don't swap foreground and
7577 background colors in initial_colors[].
7578 (IT_set_frame_parameters): Don't swap frame's foreground and
7579 background pixels. If ALIST includes "(reverse . t)", swap
7580 foreground-color and background-color properties in frame's
7581 param_alist. If the original frame's param_alist doesn't specify
7582 the colors, store unspecified-fg and unspecified-bg, reversed if
7583 required.
7584
7585 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7586 the colors are unspecified and reversed, reverse fore- and back-
7587 ground in the returned value.
7588 (Fframe_parameter): Ditto.
7589
b41fe2c3 75902000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7591
3a6b59d9
GM
7592 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7593 get_last_unchanged_at_beg_row.
7594 (find_first_unchanged_at_end_row): Renamed from
7595 get_first_unchanged_at_end_row.
7596 (find_first_unchanged_at_end_row): Convert assertions to
7597 unconditional tests which abort. When looking for a row in
7598 unchanged text, don't go further back than first_text_row.
7599
b41fe2c3
GM
7600 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7601 Don't add in the last line's height when deciding if the new
7602 position is below the scroll margin.
9d1af64f 7603
b41fe2c3 76042000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7605
7606 * editfns.c (Fconstrain_to_field): Check carefully for field
7607 boundaries if either OLD_POS or NEW_POS has a non-nil field
7608 property, even if they're the same.
7609
c412cb7b
KH
76102000-10-16 Kenichi Handa <handa@etl.go.jp>
7611
7612 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7613 height for XFillRectangle.
7614
5586f3eb
SM
76152000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7616
7617 * syntax.c (Fstring_to_syntax): New function extracted from
7618 Fmodify_syntax_entry.
7619 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7620 (skip_chars, Fforward_comment): Remove unused variables.
7621 (syms_of_syntax): Add defsubr for string-to-syntax.
7622 (describe_syntax): Add code for comment and string fences.
7623
db785038
SM
76242000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7625
7626 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7627 Do the meta->esc mapping. Call get_keyelt before returning.
7628 Start scanning from the second element (the first is always `keymap')
7629 to make it easier to detect when we reach a parent map.
7630 Handle the case of inheriting from a symbol whose function is a map.
7631 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7632 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7633 (get_keyelt, Flookup_key): Update call to access_keymap.
7634 Remove the meta->esc mappings.
7635 (define_as_prefix): Delete old disabled code.
7636 (menu_item_p): New function.
7637 (where_is_internal_1): Skip over the few remaining menu items.
7638 * lisp.h (access_keymap): Update prototype.
7639 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7640 Update call to access_keymap.
7641 (follow_key, read_key_sequence): Update calls to access_keymap.
7642 Remove the meta->esc mappings.
7643
cafafe0b
GM
76442000-10-13 Gerd Moellmann <gerd@gnu.org>
7645
a2e2a7f6
GM
7646 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7647 with additional argument.
7648
cafafe0b
GM
7649 * xdisp.c (cursor_row_p): New function.
7650 (try_cursor_movement, display_line): Use it.
52283633 7651
cafafe0b
GM
7652 * xdisp.c (append_space): Also save/restore iterator's current
7653 character and its length.
7654
7655 * xdisp.c (init_from_display_pos): Add an assertion.
7656 (handle_stop): Don't set iterator's add_overlay_start.
7657 (handle_invisible_prop): Likewise.
7658 (load_overlay_strings): If text under an overlay is invisible,
7659 take both before- and after-strings into account when the iterator
7660 is positioned either at the start or at the end of the overlay.
7661 (forward_to_next_line_start): Rewritten.
7662 (reseat_at_next_visible_line_start): Rewritten.
7663 (set_iterator_to_next): Add parameter RESEAT_P.
7664
7665 * dispextern.h (struct it): Remove member add_overlay_start.
7666 (set_iterator_to_next): Change prototype.
7667
c744452b
KH
76682000-10-13 Kenichi Handa <handa@etl.go.jp>
7669
7670 * coding.c (code_convert_region): Be sure to initialize
7671 coding->category_idx.
e4a3f4e1
KH
7672 (decode_coding_string): Set coding->src_multibyte and
7673 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7674 (encode_coding_string): Set coding->src_multibyte and
7675 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7676
321fd26f
SM
76772000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7678
7679 * xfns.c (Fx_create_frame): Don't bother calling
7680 face-set-after-frame-default since the caller does it for us anyway.
7681
76832439
EZ
76822000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7683
7684 * window.c (coordinates_in_window): Fix detection of vertical line
7685 on character terminals.
7686
2483cf58
GM
76872000-10-12 Gerd Moellmann <gerd@gnu.org>
7688
7689 * editfns.c (save_excursion_save): Additionally record the
7690 selected window.
7691 (save_excursion_restore): If buffer was visible in a window, and a
7692 different window was selected, and the old selected window is
7693 still live, restore point in that window.
7694
eb991b25
KH
76952000-10-12 Kenichi Handa <handa@etl.go.jp>
7696
8a0eba09
KH
7697 * xterm.c (x_produce_glyphs): Handle
7698 unibyte_display_via_language_environment correctly.
7699
20401fcc
KH
7700 * regex.c (regex_compile): Change the way of handling a range from
7701 unibyte char to multibyte char.
7702
7703 * syntax.c (skip_chars): Change the way of handling a range from
7704 unibyte char to multibyte char.
7705
eb991b25
KH
7706 * process.c (read_process_output): Cancel previous change.
7707
365dd325
EZ
77082000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7709
c1b096cb
EZ
7710 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7711
365dd325
EZ
7712 * charset.c (Ffind_charset_string): Doc fix.
7713 (Ffind_charset_region): Doc fix.
7714
eb483c2b
KH
77152000-10-11 Kenichi Handa <handa@mule.m17n.org>
7716
7717 * process.c (read_process_output): Fix previous change. Adjust
7718 multibyteness of text to insert in a buffer by
52283633 7719 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7720
b40bfb99
AS
77212000-10-10 Andreas Schwab <schwab@suse.de>
7722
7723 * alloc.c (mark_object): Remove all workarounds installed on
7724 1993-08-08.
7725
caff31d4
KH
77262000-10-10 Kenichi Handa <handa@etl.go.jp>
7727
52283633 7728 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7729 (base64_encode_1): Make it work for a text of multibyte form.
7730 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7731 case. Don't call str_to_multibyte because base64_decode_1
7732 produces correct multibyte form for eight-bit codes.
52283633 7733 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7734 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7735 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7736 codes.
7737
7738 * charset.h (CHAR_STRING): Optimized for single byte characters.
7739
cba026ef
AS
77402000-10-09 Andreas Schwab <schwab@suse.de>
7741
7742 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7743 -1 after socket is closed, to fall through to error processing.
7744
1e21fe48
EZ
77452000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7746
7747 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7748 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7749 background-color, change also the colors of the default face for
7750 this frame.
7751
a640322e
EZ
77522000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7753
7754 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7755 them extern (they are defined on xfaces.c).
7756 (syms_of_msdos): Don't intern and don't staticpro
7757 Qbackground_color and Qforeground_color.
7758
a115794c
EZ
77592000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7760
7761 * frame.c (Fframe_parameter): For non-windowed frames, if
7762 f->param_alist says foreground or background color is unspecified,
7763 call tty_color_name to return the color name computed from the
7764 frame's current colors.
7765
f5533b63
DL
77662000-10-06 Dave Love <fx@gnu.org>
7767
7768 * terminfo.c (ospeed): Don't declare.
7769
7770 * sysdep.c: Don't include string.h.
7771 (h_errno): Declare conditional also on TRY_AGAIN.
7772
7773 * charset.c (Ffind_charset_string): Doc fix.
7774
52283633 7775 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7776 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7777 error messages.
7778
2b06561a
DL
77792000-10-05 Dave Love <fx@gnu.org>
7780
7781 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7782 position like menu-bar.
7783
ca839c85
GM
77842000-10-05 Gerd Moellmann <gerd@gnu.org>
7785
7786 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7787
7788 * xdisp.c (handle_single_display_prop): Use safe_call1.
7789 (safe_call): Renamed from call_function.
7790 (safe_call1): New function.
7791 (handle_fontified_prop): Use safe_call1 instead of call1.
7792 (safe_eval): Renamed from eval_form.
7793 (safe_eval_handler): Renamed from eval_handler.
7794 (handle_single_display_prop, display_mode_element): Use safe_eval
7795 instead of eval_form.
7796
7797 * xfaces.c (merge_face_heights): Use safe_call instead of
7798 call_function.
7799
7800 * keyboard.c (show_help_echo): Use safe_call instead of
7801 call_function; use safe_eval instead of eval_form.
7802
7803 * lisp.h (safe_call): Renamed from call_function.
7804 (safe_eval): Renamed from eval_form.
7805 (safe_call1): Add prototype.
7806
a3489ece
MB
78072000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7808
7809 * xfns.c (image_ascent): Rearrange ascent calculation for the
7810 has-a-font case.
7811
35810b6f
SM
78122000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7813
7814 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7815 (where_is_internal_1): Don't bother ignoring menu-items any more.
7816
3dc78168
GM
78172000-10-04 Gerd Moellmann <gerd@gnu.org>
7818
7819 * keyboard.c (update_menu_bindings): New variable.
7820 (parse_menu_item): Use AREF. If update_menu_bindings
7821 is 0, don't update menu bindings.
7822 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7823
1efc2bb9
EZ
78242000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7825
7826 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7827 to `mark_object'.
7828
3f679f55
SM
78292000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7830
7831 * syntax.c (forw_comment): Match nestedness of ender/starter.
7832 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7833 (prev_char_comstart_first): Remove.
7834 (back_comment): Check two-char comment markers more carefully
7835 to better handle overlapping cases like *//* or /* */* */ ...
7836 Match nestedness of ender/starter.
7837
2021ab61
DL
78382000-10-02 Dave Love <fx@gnu.org>
7839
7840 * config.in (HAVE_GAI_STRERROR): Add undef.
7841
7842 * process.c (Fopen_network_stream): Use it.
7843
7844 * m/alpha.h (NO_REMAP): Don't define.
7845
64e6cc18
GM
78462000-10-02 Gerd Moellmann <gerd@gnu.org>
7847
7848 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7849 return with a string converted to an integer or vice versa when
7850 Vmocklisp_arguments is t.
7851 (Fsignal): Likewise. The function can return for `quit'.
7852 (struct gcpro): Declare member `var' to point to a volatile
7853 Lisp_Object.
7854
7855 * eval.c (error): Prevent compiler warning.
7856
b1904cd9
SM
78572000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7858
7859 * keymap.c (keymap_memberp): New function.
7860 (Fset_keymap_parent): Use it.
7861 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7862 Use keymap_memberp to avoid creating cycles.
7863 (access_keymap): Use KEYMAPP.
7864
71c9ec51
GM
78652000-09-30 Gerd Moellmann <gerd@gnu.org>
7866
7867 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7868 gai_strerror. Make sure xerrno is set if connect fails. Improve
7869 error recovery.
71c9ec51 7870
c70c6b58
JR
78712000-09-29 Jason Rumney <jasonr@gnu.org>
7872
7873 * w32term.c (w32_char_font_type, w32_encode_char)
7874 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7875 (w32_bdf_per_char_metric): New function.
7876 (w32_per_char_metric): Use it.
7877 (x_draw_glyph_string_background): Always draw background for BDF
7878 glyphs.
7879
7880 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7881 GDI object which is a scarce resource.
7882
7883 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7884 (get_quoted_string): Fix limit on memchr search.
7885 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7886 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7887 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7888 (get_cached_font_char, cache_char_offset): Use macro
7889 BDF_CODEPOINT_RANGE_COVER_P.
7890 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7891 (clear_cached_bitmap_slots): New function.
7892 (GET_HEX_VALUE): G-Z, g-z are not hex.
7893 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7894 (get_bitmap_with_cache): Use new cache implementation.
7895 (create_offscreen_bitmap): New function.
7896 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7897
7898 * w32term.c (x_produce_glyphs): If the distance from the current
7899 position to the next tab stop is less than a canonical character
7900 width, use the tab stop after that.
7901 (x_draw_glyphs): Handle case START and END are out of bounds more
7902 carefully.
7903 (x_clear_mouse_face): Block/unblock input.
7904 (x_display_and_set_cursor): Don't show a hollow box cursor for
7905 buffers whose cursor_type is nil.
7906
fe01239f
GM
79072000-09-29 Gerd Moellmann <gerd@gnu.org>
7908
52283633 7909 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7910
7911 * dispextern.h (updating_frame): Declare extern.
7912
e7c52f1f
AS
79132000-09-29 Andreas Schwab <schwab@suse.de>
7914
7915 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7916
de6e1f7c
GM
79172000-09-29 Gerd Moellmann <gerd@gnu.org>
7918
25126faa
GM
7919 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7920 use its function definition.
7921 (tool_bar_items): Likewise.
7922
de6e1f7c 7923 * lisp.h (fatal): Declare NO_RETURN.
52283633 7924
454ee39b
KH
79252000-09-29 Kenichi Handa <handa@etl.go.jp>
7926
7927 * keymap.c: Remove the line "#undef NULL".
7928
96301c5f
GM
79292000-09-28 Gerd Moellmann <gerd@gnu.org>
7930
52283633 7931 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7932
efffeeb4
DL
79332000-09-28 Dave Love <fx@gnu.org>
7934
ecb8b666
DL
7935 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7936
dc3cd20f
DL
7937 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7938
7939 * .gdbinit (xreload): Note its need on GNU/Linux.
7940
efffeeb4
DL
7941 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7942 r_alloc, r_alloc_free.
7943
8610d903
KH
79442000-09-28 Kenichi Handa <handa@etl.go.jp>
7945
7946 * syntax.c (skip_chars): Handle negation correctly.
7947
8901d1ac
GM
79482000-09-27 Gerd Moellmann <gerd@gnu.org>
7949
6f22f1ad
GM
7950 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7951 with non-zero FORCE_P argument.
7952
52283633 7953 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7954 Add assertions.
7955
7956 * xdisp.c (window_box_height): Add an assertion.
7957
7958 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7959 tool-bar than is available.
7960 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7961
36f1966f
DL
79622000-09-27 Dave Love <fx@gnu.org>
7963
efffeeb4 7964 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7965
31d929e5
GM
79662000-09-26 Gerd Moellmann <gerd@gnu.org>
7967
c98863bf
GM
7968 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7969 instead of BITS_PER_INT.
7970 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7971 EMACS_UINT, respectively.
7972 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7973
7974 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7975
7976 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7977
77072ab1
GM
7978 * window.c (freeze_window_starts): Construct last argument for
7979 foreach_window differently.
7980
7981 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7982
7983 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7984 EMACS_UINT instead of `int' and `unsigned int'.
7985 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7986
7987 * frame.h (struct frame): Make the `nothing' member of union
7988 output_data an EMACS_INT.
7989
52283633 7990 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7991 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7992 size in the sdata structure.
7993 (SDATA_NBYTES, SDATA_DATA): New macros.
7994 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7995 differently for the different layout of the sdata structure.
7996 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7997 in sdata.
7998 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7999 Check that size recorded in the string size and size recorded in
8000 the sdata structure agree.
8001
3e60b029
DL
80022000-09-25 Dave Love <fx@gnu.org>
8003
8004 * buffer.c: Include stdio.h.
8005
8006 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8007
3e60b029
DL
8008 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8009
8010 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8011 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8012 (__malloc_extra_blocks): Declare as __malloc_size_t.
8013
8ff16b4e
GM
80142000-09-25 Gerd Moellmann <gerd@gnu.org>
8015
755a2ccd
GM
8016 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8017
d8b4516f
GM
8018 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8019 (read_char): If help-echo is showing, preserve the echo area
8020 when redisplaying.
8021
8022 * xdisp.c (help_echo_showing_p): New variable.
8023 (set_message): Reset it to 0.
8024 (init_xdisp): Initialize help_echo_showing_p.
8025
8026 * dispextern.h (help_echo_showing_p): Declare extern.
8027
8028 * config.in: Fix typo in __GNUC_MINOR__.
8029
8030 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8031
b11af2dd
GM
8032 * s/freebsd.h (POSIX_SIGNALS): Define.
8033
8ff16b4e
GM
8034 * xterm.c (x_clear_mouse_face): Block/unblock input.
8035
844eb643
DL
80362000-09-24 Dave Love <fx@gnu.org>
8037
8038 * fns.c (base64_encode_1): Fix last change.
8039
b30ab1b3
GM
80402000-09-22 Gerd Moellmann <gerd@gnu.org>
8041
8042 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8043
8044 * xdisp.c (try_window_reusing_current_matrix): More fixes
8045 for the case window has a header-line.
8046
c6cbe5f0
DL
80472000-09-22 Dave Love <fx@gnu.org>
8048
4c7c1f3f
DL
8049 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8050 a doc string.
8051
8052 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8053
c6cbe5f0
DL
8054 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8055
550a625e
GM
80562000-09-21 Gerd Moellmann <gerd@gnu.org>
8057
4c7c1f3f 8058 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8059 for GCC >= 2.5.
8060
52283633
SM
8061 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8062 Declare NO_RETURN.
fca99116 8063
80d26f99
GM
8064 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8065 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8066 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8067 warnings.
52283633 8068
80d26f99
GM
8069 * marker.c (byte_char_debug_check): Return void.
8070
623a0aae
GM
8071 * xfns.c (Fx_create_frame): Set default frame parameter value
8072 for tool-bar-lines to 1.
8073
8074 * dispnew.c (scrolling_window): Compare y-positions of rows
8075 equal at the start. Some simplification.
8076
8077 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8078 reused rows' y-position in the case window has a header-line, and
8079 new window start is greater than old window start.
8080
42ac0ae5
GM
8081 * process.c (process_sent_to): New variable.
8082 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8083 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8084 Declare more parameters volatile.
8085
550a625e
GM
8086 * lread.c (Vrecursive_load_depth_limit): New variable.
8087 (Fload): Check recursive loads whose recursion depth exceeds
8088 Vrecursive_load_depth_limit.
8089 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8090
8320414c
GM
80912000-09-20 Gerd Moellmann <gerd@gnu.org>
8092
f46c275e
GM
8093 * fileio.c (Fread_file_name): Doc fix.
8094
8095 * editfns.c (Fmessage_or_box): Doc fix.
8096
8097 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8098
b7e11c5b 8099 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8100
8320414c
GM
8101 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8102 symbols are specified, add color translations to the cache.
52283633 8103 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8104 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8105 xpm_cache_color.
8106 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8107 structures to xpm_init_color_cache.
8108
da1608d9
GM
81092000-09-19 Gerd Moellmann <gerd@gnu.org>
8110
52283633 8111 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8112
6badfa25
AI
81132000-09-19 Andrew Innes <andrewi@gnu.org>
8114
8115 * makefile.nt (bootstrap-emacs): Don't change directory.
8116
3a5f42bb
KH
81172000-09-19 Kenichi Handa <handa@etl.go.jp>
8118
1b7649bd
KH
8119 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8120
3a5f42bb
KH
8121 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8122 If output buffer is too small, signal an appropriated error.
8123
9f83cf0b
DL
81242000-09-18 Dave Love <fx@gnu.org>
8125
52283633 8126 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8127 (current_active_maps): Remove redundant get_local_map call.
8128
28c7826c
GM
81292000-09-18 Gerd Moellmann <gerd@gnu.org>
8130
5cefa566
GM
8131 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8132 cursor for buffers whose cursor_type is nil.
52283633 8133
6fed3546
GM
8134 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8135 a feature to implement that is already implemented.
8136 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8137 warnings.
8138
8139 * xfns.c (x_clear_image_1): New function.
8140 (x_clear_image): Use it.
52283633 8141 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8142
05b1f851
GM
8143 * dispnew.c (update_window): Move test for invisible lines
8144 at the top to update_window_line.
8145 (update_window_line): Handle invisible lines here.
8146
f4779de9
GM
8147 * xfns.c (clear_image_cache): Clear current matrices of all
8148 frames sharing an image cache. Block input while freeing
8149 images. Fix timestamp comparison.
8150 (x_clear_image): Also free the mask.
8151
28c7826c
GM
8152 * xfns.c (lookup_image): Block input while loading the image so
8153 that we won't get interrupted in a state where the image isn't yet
8154 set up completely.
8155 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8156 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8157 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8158 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8159
b7412313
GM
81602000-09-16 Gerd Moellmann <gerd@gnu.org>
8161
8162 * dispnew.c (update_window): Make sure to make desired rows
8163 current even if they are completely invisible at the top
8164 of a window.
8165
47e351a3
GM
81662000-09-15 Gerd Moellmann <gerd@gnu.org>
8167
7f8f1edc
GM
8168 * xfns.c (lookup_image): Build mask before applying an algorithm.
8169 Recognize algorithm `disabled'.
8170 (cross_disabled_images): New variable.
8171 (COLOR_INTENSITY): New macro.
8172 (x_detect_edges): Use COLOR_INTENSITY.
8173 (x_disable_image): New function.
8174 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8175
8176 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8177 disabled state, don't apply an image transformation algorithm if
8178 the user specified an image for the disabled state. Use
28c7826c 8179 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8180 user hasn't specified an image.
8181
ebb8f116
GM
8182 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8183 allocation functions with the XPM lib.
8184 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8185 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8186 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8187 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8188 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8189 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8190 functions, if possible, because these handle color allocation
8191 failure more gracefully.
8192 (Fimage_mask_p): New function.
8193
47e351a3
GM
8194 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8195 (Qedge_detection, Qheuristic): New symbols.
8196 (syms_of_xfns): Initialize new symbols.
8197 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8198 `algorithm (edge-detection ...)'.
8199 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8200 (tiff_format, gif_format, gs_format): Add `:mask'.
8201 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8202 (GIF_MASK, GS_MASK): New enumerators.
8203 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8204 (emboss_matrix, laplace_matrix): New variables.
8205 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8206 (x_edge_detection): New functions.
8207 (x_laplace): Rewritten in terms of x_detect_edges.
8208 (x_build_heuristic_mask): If image has a mask, free it.
8209
fe83b953
AI
82102000-09-14 Andrew Innes <andrewi@gnu.org>
8211
8212 * makefile.w32-in: Revert to Unix line endings.
8213
3021e816
AI
82142000-09-14 Andrew Innes <andrewi@gnu.org>
8215
8216 * makefile.w32-in: Standardize indentation somewhat.
8217 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8218 cater for differences between shells.
8219
8220 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8221
2a32b5ea
GM
82222000-09-14 Gerd Moellmann <gerd@gnu.org>
8223
8224 * xterm.c (x_produce_glyphs): If the distance from the current
8225 position to the next tab stop is less than a canonical character
8226 width, use the tab stop after that.
8227
b4331e96
DL
82282000-09-14 Dave Love <fx@gnu.org>
8229
8230 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8231
ef9e4345
GM
82322000-09-14 Gerd Moellmann <gerd@gnu.org>
8233
085536c2
GM
8234 * xdisp.c (handle_fontified_prop): While running fontification
8235 functions, bind `fontification-functions' and
8236 `after-change-functions' to nil.
8237
ef9e4345
GM
8238 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8239 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8240
8241 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8242
8243 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8244 USE_MMAP_FOR_BUFFERS.
8245
8246 * insdel.c (make_gap): Use enlarge_buffer_text.
8247
8248 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8249 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8250 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8251 from former r_alloc_* functions in ralloc.c.
52283633 8252 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8253 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8254 (mmap_init) [REL_ALLOC_MMAP]: New function.
8255 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8256 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8257 BUFFER_FREE.
8258
8259 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8260 (enlarge_buffer_text): Add prototype.
8261
8262 * ralloc.c: Remove everything having to do with the use of mmap.
8263
f8608968
GM
82642000-09-13 Gerd Moellmann <gerd@gnu.org>
8265
2a494b2d
GM
8266 * sound.c (Fplay_sound): Doc fix.
8267
8c907a56
GM
8268 * keyboard.c: Avoid some more compiler warnings.
8269 (parse_tool_bar_item): Ignore cached key bindings.
8270
f8608968
GM
8271 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8272 and allocation of Lisp data.
8273
6ab70e9a
GM
82742000-09-12 Gerd Moellmann <gerd@gnu.org>
8275
d12d0a9b
GM
8276 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8277 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8278 defaults first.
8279
6ab70e9a
GM
8280 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8281
63c36c3c
KH
82822000-09-12 Miyashita Hisashi <himi@meadowy.org>
8283
8284 * ccl.c: Comment fixed.
8285 (MAX_MAP_SET_LEVEL): Increased to 30.
8286 (PUSH_MAPPING_STACK): Enclose with do-while block.
8287 (POP_MAPPING_STACK): Likewise.
8288 (stack_idx_of_map_multiple): New variable.
8289 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8290 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8291 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8292 (ccl_driver) <CCL_MapSingle>: Likewise.
8293 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8294 with the case where looking up process reaches to the end of
8295 map-set, and call CCL programs as the above change.
8296
7ee3bd7b
GM
82972000-09-11 Gerd Moellmann <gerd@gnu.org>
8298
8ec8a5ec
GM
8299 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8300 that might be clobbered by longjmp.
8301 (check_x_display_info, x_decode_color, create_frame_xic)
8302 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8303 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8304
f74b0705
GM
8305 * lread.c (init_lread): Set Vloads_in_progress to nil.
8306 (Fload): Show list of recursively loaded files, when signaling an
8307 error.
8308
7ee3bd7b
GM
8309 * lread.c (Vloads_in_progress): New variable.
8310 (record_load_unwind): New function.
8311 (Fload): Check for recursive loads.
8312 (syms_of_lread): Initialize Vloads_in_progress.
8313 (read_integer, read1): Avoid some compiler warnings.
8314
8315 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8316 compiler warnings.
8317
974e1e5b
MB
83182000-09-11 Miles Bader <miles@gnu.org>
8319
8320 * editfns.c (Fbuffer_string): Doc fix.
8321
9824c4e3
GM
83222000-09-10 Gerd Moellmann <gerd@gnu.org>
8323
8324 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8325
6a72fdd1
KR
83262000-09-09 Ken Raeburn <raeburn@gnu.org>
8327
8328 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8329 whether to include other header files.
8330
28e6fb66
GM
83312000-09-09 Gerd Moellmann <gerd@gnu.org>
8332
52283633 8333 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8334 by Fmemq as a boolean.
28e6fb66 8335
7f8b6551
SM
83362000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8337
8338 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8339
a8710abf
GM
83402000-09-08 Gerd Moellmann <gerd@gnu.org>
8341
d1a02881
GM
8342 * ralloc.c (mmap_fd): Remove initializer which can make it
8343 read-only in a dumped Emacs.
8344 (mmap_fd_1): New variable.
8345 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8346 restore it from there.
8347 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8348 unconditionally so that mmap_fd can be initialized there.
8349 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8350 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8351 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8352
c454aac1
GM
8353 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8354
8355 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8356 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8357
fc653ef2
GM
8358 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8359
3015eec0
GM
8360 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8361 inheritance.
8362
bfe0ee88
GM
8363 * xdisp.c (try_window_id): When trying to locate cursor in
8364 unchanged rows at the top, handle the case that we can't find it.
8365
a8710abf
GM
8366 * xterm.c (x_draw_glyphs): Handle case START and END are out
8367 of bounds more carefully.
8368
6b7d4ae4
DL
83692000-09-08 Dave Love <fx@gnu.org>
8370
423193c5
DL
8371 * s/sol2.h (REL_ALLOC_MMAP): Define.
8372 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8373
8374 * ralloc.c: Don't include string.h (redundant).
8375 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8376 [!MAP_ANON]: Include fcntl.h.
8377 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8378 (r_alloc, r_re_alloc, r_alloc_free)
8379 (mmap_enlarge, mmap_set_vars): Use it.
8380 (r_alloc_init_fd): New function.
8381 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8382 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8383 malloc type.
8384
8385 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8386 Remove vm-limit.o.
8387
6b7d4ae4
DL
8388 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8389 change to __NetBSD__.
8390
44d31981
KH
83912000-09-08 Kenichi Handa <handa@etl.go.jp>
8392
8393 * search.c (compile_pattern): Check the multibyteness of cached
8394 string and PATTERN.
8395
aad40737
MB
83962000-09-08 Miles Bader <miles@gnu.org>
8397
8398 * xfaces.c (default_face_vector): Function removed.
8399 (Finternal_merge_in_global_face): Restore old global/local
8400 attribute override order. Use inline loop instead of calling
8401 default_face_vector.
8402
91a211b5
GM
84032000-09-07 Gerd Moellmann <gerd@gnu.org>
8404
8405 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8406 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8407 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8408 where necessary, in case POINTER_TYPE is `void'.
8409
03419440
EZ
84102000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8411
8412 * frame.c (make_terminal_frame): Initialize frame foreground and
8413 background colors to unspecified, for the initial instance of an
8414 MSDOS frame.
8415
f46f845b
GM
84162000-09-07 Gerd Moellmann <gerd@gnu.org>
8417
24f76fbf
GM
8418 * ralloc.c (mmap_find): Fix overlap computation.
8419 (mmap_enlarge): Compute nbytes before trying to find an
8420 overlapping region.
8421
f46f845b
GM
8422 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8423 instead of `!='.
8424
8425 * lread.c (syms_of_lread): Change value of regexp
8426 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8427
8428 * xmenu.c (xdialog_show): When looking up the selection in
8429 menu_items, take `quote' boundaries into account; this corresponds
8430 to a nil ITEM in x-popup-dialog.
8431
3c014385
KH
84322000-09-07 Kenichi Handa <handa@etl.go.jp>
8433
fd6f711b
KH
8434 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8435 not 0x81.
8436 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8437
3c014385 8438 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8439 encoding, not decoding. Fix the handling of latin-jisx0201.
8440 Check for the charset katakana-jisx0201 too.
3c014385 8441 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8442 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8443
0da3ecef
GM
84442000-09-07 Gerd Moellmann <gerd@gnu.org>
8445
ab0ee409
GM
8446 * xfaces.c (Vparam_value_alist): New variable.
8447 (syms_of_xfaces): Initialize it.
8448 (Finternal_set_lisp_face_attribute): Avoid more consing.
8449
8450 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8451 specially.
8452 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8453 (Qbackground_mode): New variable.
8454 (syms_of_frame_1): Initialize Qbackground_mode.
8455
8456 * lisp.h (Qdisplay): Declare extern.
1091dd67 8457
0da3ecef
GM
8458 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8459 change face on all frames, and change the default for new frames.
8460
b14654b9
DL
84612000-09-07 Dave Love <fx@gnu.org>
8462
8463 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8464
d24fd56f
KH
84652000-09-07 Kenichi Handa <handa@etl.go.jp>
8466
794f3670
KH
8467 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8468
0fddd0dc
KH
8469 * charset.c: Include composite.h
8470 (lisp_string_width): New function.
8471 (Fstring_width): Call lisp_string_width instead of strwidth.
8472
8473 * Makefile.in (charset.o): Depends on composite.h.
8474
d24fd56f
KH
8475 * process.c (read_process_output): Before inserting the decoded
8476 text in the buffer, adjust the multibyteness.
8477
fa0b693c
GM
84782000-09-06 Gerd Moellmann <gerd@gnu.org>
8479
52283633 8480 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8481 buffer's text buffer is null, map new memory.
8482
0a58f946
GM
8483 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8484 POINTER_TYPE and size_t.
8485 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8486 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8487 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8488 [REL_ALLOC_MMAP]: New macros.
8489 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8490 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8491 [REL_ALLOC_MMAP]: New functions.
8492
8493 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8494 before and after unexec.
8495
8496 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8497 text buffers if necessary.
8498
8499 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8500 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8501 in prototypes.
8502
fa0b693c
GM
8503 * config.in (HAVE_MMAP): Add #undef.
8504
877055f6
GM
85052000-09-05 Gerd Moellmann <gerd@gnu.org>
8506
08ba3862
GM
8507 * frame.c (Qdisplay_type): New variable.
8508 (syms_of_frame_1): Initialize it.
8509 (Fframe_parameter): New function that avoids consing.
8510 (syms_of_frame): Defsubr it.
8511
66ffe51c
GM
8512 * buffer.c (Fother_buffer): Consider buffers as invisible when
8513 they are displayed in a window on an invisible frame.
8514
877055f6
GM
8515 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8516 get-largest-window always return nil.
8517
bb970e67
GM
85182000-09-04 Gerd Moellmann <gerd@gnu.org>
8519
8520 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8521 variable; recognize Emacs 19 elc files.
8522
7a3d0e0e
MB
85232000-09-04 Miles Bader <miles@gnu.org>
8524
8525 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8526 before initially popping up the menu, so the menu doesn't flash
52283633 8527 when the face settings are significantly different from the defaults.
7a3d0e0e 8528
14473664
SM
85292000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8530
8531 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8532 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8533 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8534 (BIT_UNIBYTE): Remove.
8535 (re_match_2_internal): Delete corresponding code and streamline the
8536 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8537 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8538 (re_wctype_t): New type.
8539 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8540 (regex_compile): Use them and fix handling of overly long char classes.
8541
c1174479
AI
85422000-09-03 Andrew Innes <andrewi@gnu.org>
8543
f8803e97
AI
8544 * makefile.w32-in: Change to DOS line endings.
8545
c1174479
AI
8546 * s/ms-w32.h (ORDINARY_LINK): New define.
8547
8548 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8549 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8550
8551 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8552 (distclean): Delete them here instead.
8553
44ef7cf6
AI
8554 * w32proc.c (compare_env): Convert to uppercase for comparison,
8555 not lowercase, to match how the native Windows shell works.
8556
49b3bd82
JR
85572000-09-03 Jason Rumney <jasonr@gnu.org>
8558
8559 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8560 CVS changes the line-ends when checking in/out on DOS/Windows.
8561
8562 * makefile.nt (emacs): Do not change directory to run temacs, as
8563 the load-path is set relative to current directory.
8564
a3d35a39
MB
85652000-09-03 Miles Bader <miles@gnu.org>
8566
8567 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8568
d276b0cf
GM
85692000-09-02 Gerd Moellmann <gerd@gnu.org>
8570
715e84c9
GM
8571 * xdisp.c (redisplay_mode_lines): New function.
8572 (display_mode_lines): Return number of mode lines displayed.
8573 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8574 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8575
8892f40b
GM
8576 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8577 string.h and strings.h.
8578 (index) [HAVE_INDEX]: Add prototype.
8579
d276b0cf
GM
8580 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8581 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8582
8583 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8584 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8585
38404229
GM
85862000-09-01 Gerd Moellmann <gerd@gnu.org>
8587
8588 * lread.c (read1): Accept `?' as symbol constituent, for
8589 compatiblity with XEmacs.
8590
c0f9ea08
SM
85912000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8592
8593 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8594 (struct re_pattern_buffer): Remove newline_anchor.
8595 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8596 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8597 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8598 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8599 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8600 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8601 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8602 Get rid of references to newline_anchor.
8603 (regcomp): Allocate and precompute a fastmap.
8604
8c0f83fe
GM
86052000-08-31 Gerd Moellmann <gerd@gnu.org>
8606
8607 * lread.c (openp): GCPRO local variable `filename'.
8608
4bb91c68
SM
86092000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8610
8611 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8612
8613 * regex.c: Merge some changes from GNU libc. Add prototypes.
8614 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8615 Use memcmp and memcpy instead of bcopy and bcmp.
8616 (init_syntax_once): Use ISALNUM.
8617 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8618 (REG_UNSET_VALUE): Remove. Use NULL instead.
8619 (REG_UNSET, re_match_2_internal): Use NULL.
8620 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8621 New macros.
8622 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8623 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8624 (regex_compile): In handle_interval, return an error rather than try to
8625 unfetch the interval if we can't find the closing brace.
8626 Obey the RE_NO_GNU_OPS syntax bit.
8627 (TOLOWER): New macro.
8628 (regcomp): Use it.
8629 (regexec): Allocate regs.start and regs.end as one block.
8630
5226a931
GM
86312000-08-30 Gerd Moellmann <gerd@gnu.org>
8632
868dd24b
GM
8633 * xdisp.c (echo_area_display): Check display_completed instead
8634 of calling detect_input_pending.
8635
8636 * dispnew.c (update_frame): Only set display_completed here; move
8637 the update_begin and update_end calls here from update_frame_1.
8638 (update_frame_1): Don't set display_completed here, don't call
8639 update_begin/update_end.
8640
5226a931
GM
8641 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8642 instead of store_frame_param.
8643
2a8bd25f
GM
86442000-08-29 Gerd Moellmann <gerd@gnu.org>
8645
8646 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8647 desired window matrix hasn't been displayed, use the current row
8648 instead. Make sure that only those frame rows are updated for
8649 which there exists a corresponding enabled desired row.
52283633 8650
ba3478d9
MB
86512000-08-29 Miles Bader <miles@gnu.org>
8652
8653 * xfaces.c (default_face_vector): New function.
8654 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8655
87d0f685
GM
86562000-08-29 Gerd Moellmann <gerd@gnu.org>
8657
8658 * lread.c (openp): Prevent temporary string passed to
8659 Ffile_readable_p from being garbage collected.
8660
6fa86045
DL
86612000-08-28 Dave Love <fx@gnu.org>
8662
8663 * keymap.c (store_in_keymap): Add `static' to declaration.
8664
bb17930d
GM
86652000-08-28 Gerd Moellmann <gerd@gnu.org>
8666
8667 * emacs.c, callint.c, doc.c, editfns.c
8668 (toplevel) [HAVE_STRING_H]: Include string.h.
8669 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8670 (index): Remove prototypes which might conflict with non-standard
8671 definitions of index/strchr.
8672
8673 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8674 (rindex): Define only if !HAVE_RINDEX.
8675
8676 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8677
8678 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8679
87188200
MB
86802000-08-28 Miles Bader <miles@gnu.org>
8681
8682 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8683 made inconsistent by a font-related attribute in FROM.
8684 (merge_face_inheritance): Add function comment.
8685
41a68aef
KH
86862000-08-28 Kenichi Handa <handa@etl.go.jp>
8687
8688 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8689 the 4th arg (PREV_EVENT) Qt to suppress input method.
8690
f7c436c1
SM
86912000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8692
0b32bf0e
SM
8693 * regex.c: Indent cpp directives and remove parens after `defined'.
8694 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8695 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8696 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8697 (re_compile_pattern): Use size_t for length.
8698 (init_syntax_once): Move to a better place.
8699 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8700 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8701
f7c436c1
SM
8702 * syntax.c (back_comment): Detect cases where a comment-starter is
8703 actually inside another comment as in: /* a // b */ c // d \n.
8704 Make it clear that `comstart_pos' is unused for nested comments.
8705
8706 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8707 (KEYMAPP): New macro.
8708 (Fkeymap_parent, Fset_keymap_parent): Use it.
8709 (fix_submap_inheritance): Mark it static.
8710 (define_as_prefix, describe_buffer_bindings, describe_command)
8711 (describe_translation, describe_map): Complete prototypes.
8712
8713 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8714
8715 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8716 to better match the key-lookup behavior.
8717
6288c62f
GM
87182000-08-27 Gerd Moellmann <gerd@gnu.org>
8719
8720 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8721 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8722
e931344e
EZ
87232000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8724
8725 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8726 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8727 (xterm.o): Depend on coding.h
8728
d10dfeef
KH
87292000-08-26 Kenichi Handa <handa@etl.go.jp>
8730
8731 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8732 the corresponding '#endif'.
8733
2d73e8d3
MB
87342000-08-26 Miles Bader <miles@gnu.org>
8735
8736 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8737 * xfaces.c (QCinherit): New variable.
8738 (syms_of_xfaces): Initialize it.
8739 (LFACE_INHERIT): New macro.
8740 (Finternal_get_lisp_face_attribute)
52283633 8741 (merge_face_vector_with_property)
2d73e8d3
MB
8742 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8743 (check_lface_attrs): Allow new types of face height. Check
8744 inherit attribute.
8745 (CYCLE_CHECK): New macro.
8746 (merge_face_inheritance): New function.
8747 (merge_face_vectors): Merge inherited faces too. Add F and
8748 CYCLE_CHECK arguments.
8749 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8750 (lookup_named_face, lookup_derived_face, realize_named_face)
8751 (face_at_string_position, face_at_buffer_position): Supply
8752 new F and CYCLE_CHECK arguments to merge_face_vectors.
8753 (merge_face_heights): New function.
52283633 8754 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8755 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8756 handle relative face heights.
8757 (lface_same_font_attributes_p): Compare heights using EQ.
8758
6ce974d4
KH
87592000-08-26 Kenichi Handa <handa@etl.go.jp>
8760
8761 * charset.c (char_to_string): Check the character validity.
52283633 8762 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8763
dc1e502d
SM
87642000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8765
8766 * regex.c (PUSH_FAILURE_COUNT): New macro.
8767 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8768 Handle popping of a register's or a counter's data.
8769 (POP_FAILURE_POINT): Use the new name.
8770 (re_match_2_internal): Push counter data on the stack for succeed_n,
8771 jump_n and set_number_at and remove misleading dead code in succeed_n.
8772
bd9d0f3f
GM
87732000-08-25 Gerd Moellmann <gerd@gnu.org>
8774
8775 * xdisp.c (redisplay_internal): If considering all windows on all
8776 frames, update the display for each frame as soon as possible,
8777 instead of first building all desired matrices for all frames, and
8778 then updating them all.
8779 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8780
aa5b8e15
GM
87812000-08-24 Gerd Moellmann <gerd@gnu.org>
8782
17494071
GM
8783 * bytecode.c (mark_byte_stack): Add a comment.
8784
52283633
SM
8785 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8786 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8787 a graphical frame.
8788
c543db81
KH
87892000-08-24 Kenichi Handa <handa@etl.go.jp>
8790
d246d5f5
KH
8791 * minibuf.c (do_completion): Always use compare-string, not
8792 string-equal because the latter doesn't pay attention to
8793 multibyteness of strings.
8794
c543db81
KH
8795 * process.c (create_process): Don't setup raw-text coding here.
8796 (Fopen_network_stream): Don't set coding->src_multibyte and
8797 coding->dst_multibyte here.
8798 (read_process_output): For process filter, return unibyte string
8799 if default-enable-multibyte-characters is nil.
8800 (send_process): If OBJECT is multibyte text, be sure to encoded it
8801 by the specified coding system for the process. Otherwise, setup
8802 raw-text coding.
52283633 8803 (init_process): Don't initialize default-process-coding-system here.
c543db81 8804
9b47cfe0
EZ
88052000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8806
8807 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8808 <scroll-down-aggressively>: Likewise.
8809
f5a36960
KH
88102000-08-23 Kenichi Handa <handa@etl.go.jp>
8811
8812 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8813 zero. Set coding->produced_char correctly.
8814
69a7ffa7
AI
88152000-08-22 Andrew Innes <andrewi@gnu.org>
8816
8817 * makefile.w32-in: New file.
8818
8819 * unexw32.c (unexec): Ignore old_name, and use the actual location
8820 of the current executable instead. Base new_name on this.
8821
8822 * w32proc.c (create_child): Remove reference to security
8823 descriptor, which isn't needed and doesn't compile with mingw32.
8824
8825 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8826 up dllimport attributes.
8827 (x_update_window_end): Update prototype.
8828
8829 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8830 extern, which screws up dllimport attributes.
8831
8832 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8833 up dllimport attributes.
8834
8835 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8836 screws up dllimport attributes.
8837
8838 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8839 up dllimport attributes.
8840 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8841 screws up dllimport attributes.
8842
8843 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8844 up dllimport attributes.
8845
8846 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8847 screws up dllimport attributes.
8848
8849 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8850 screws up dllimport attributes.
8851
8852 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8853 up dllimport attributes.
8854
8855 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8856 unnecessary extern, which screws up dllimport attributes.
8857 (main): Ditto.
8858
8859 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8860 up dllimport attributes.
8861
8862 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8863 unnecessary extern, which screws up dllimport attributes.
8864
8865 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8866 screws up dllimport attributes.
8867
8868 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8869 up dllimport attributes.
8870
8871 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8872
52283633
SM
8873 * w32bdf.c (search_file_line):
8874 (set_bdf_font_info):
8875 (seek_char):
8876 (w32_get_bdf_glyph):
69a7ffa7
AI
8877 (w32_BDF_to_x_font): Fix compile warnings.
8878
52283633 8879 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8880
8881 * w32select.c: Include keyboard.h before frame.h.
8882
8883 * w32fns.c (max): Define macro.
8884 (JOHAB_CHARSET): Define if not known.
8885 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8886 (Fx_show_tip): Synch with X version.
8887
8888 * w32xfns.c: Include keyboard.h before frame.h.
8889
8890 * w32fns.c: Include keyboard.h before frame.h.
8891
8892 * w32term.c: Include keyboard.h before frame.h.
8893
8894 * fontset.c: Include keyboard.h before frame.h.
8895
8896 * w32inevt.c: Include keyboard.h before frame.h.
8897 (MOUSE_MOVED): Define if not known.
8898
8899 * minibuf.c: Include keyboard.h before frame.h.
8900
8901 * keyboard.c: Include keyboard.h before frame.h.
8902
8903 * indent.c: Include keyboard.h before frame.h.
8904
8905 * dispnew.c: Include keyboard.h before frame.h.
8906
8907 * buffer.c: Include keyboard.h before frame.h.
8908
8909 * alloc.c: Include keyboard.h before frame.h.
8910
8911 * print.c: Include keyboard.h before frame.h.
8912
8913 * process.c: Include keyboard.h before frame.h.
8914
8915 * scroll.c: Include keyboard.h before frame.h.
8916
8917 * sysdep.c: Include keyboard.h before frame.h.
8918
8919 * term.c: Include keyboard.h before frame.h.
8920
8921 * window.c: Include keyboard.h before frame.h.
8922
8923 * xdisp.c: Include keyboard.h before frame.h.
8924 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8925
8926 * frame.c: Include keyboard.h before frame.h.
8927
8928 * w32heap.h: Undefine min, max.
8929
8930 * w32gui.h: Undefine min, max.
8931
8932 * unexw32.c: Change PUCHAR to PCHAR.
8933 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8934 (relocate_offset):
8935 (get_section_info):
69a7ffa7
AI
8936 (copy_executable_and_dump_data): Remove unnecessary static defs.
8937 (copy_executable_and_dump_data): Fix compile warnings.
8938
8939 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8940
8941 * w32console.c (min): Define macro.
8942 (clear_frame, write_glyphs): Fix compile warning.
8943
52283633 8944 * w32proc.c (compare_env):
69a7ffa7
AI
8945 (find_child_console): Fix compile warning.
8946
8947 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8948 sys_errlist instead of _sys_errlist.
8949 (get_emacs_configuration_options): New function.
8950
8951 * s/ms-w32.h (sys_nerr): Provide default definition.
8952 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8953 name with _ prepended.
8954 (NSIG): Define if not known.
8955 (get_emacs_configuration): Provide extern declaration.
8956 (get_emacs_configuration_options): Provide extern declaration.
8957 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8958
8959 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8960 (map_w32_filename):
69a7ffa7
AI
8961 (read_unc_volume): Fix compile warning.
8962
8963 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8964 definitions from being used.
8965
8966 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8967
52283633 8968 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8969 (open_unc_volume): Make arg const.
8970
8971 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8972 (read_input_waiting): Remove excess parameter.
8973
8974 * w32.c (init_environment): Call _access.
8975 (check_windows_init_file): Call _close.
8976 (init_user_info): Call _putenv.
8977 (init_environment): Call _putenv and _strdup.
8978 (init_ntproc): Reset volume info cache on startup.
8979
8980 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8981 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8982 cannot override the CRT malloc.
8983
8984 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8985 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8986
8987 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8988 unless we are linking with a static CRT.
8989 (RVA_TO_PTR): Cast result to unsigned char*.
8990
8991 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8992 (add_volume_info): Use xstrdup.
8993
25060080
SM
89942000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8995
8996 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8997 (do_completion, Fminibuffer_complete_word): Use it.
8998 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8999 var so it can take non-boolean values.
9000
6917e6bb
GM
90012000-08-21 Gerd Moellmann <gerd@gnu.org>
9002
acb7cc89 9003 * editfns.c (find_field): Formatting changes.
52283633 9004 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9005 changed to prototypes, some new protypes added, some functions
9006 made static.
9007
9008 * lisp.h (set_time_zone_rule): Add prototype.
9009 (use_dialog_box): External declaration.
9010
0bbfdc25
GM
9011 * keyboard.c (gen_help_event): Add parameter SIZE.
9012 (kbd_buffer_events_waiting): Slightly rewritten.
9013 (clear_event): New function.
9014 (kbd_buffer_get_event): Use it, and clear the input_events of
9015 HELP_EVENTs.
9016 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9017 don't fill the newly created array with nils.
9018 (toplevel): Convert some old-style function forward declarations
9019 to prototypes.
9020
9021 * keyboard.h (gen_help_event): Change prototype.
9022
9023 * xterm.c (XTread_socket): Change calls to gen_help_event.
9024
9025 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9026
6917e6bb
GM
9027 * eval.c (Fmacroexpand): Doc fix.
9028
e5cd3d11
JR
90292000-08-20 Jason Rumney <jasonr@gnu.org>
9030
9031 * w32term.h (x_display_info_for_display): Remove as this function
9032 does not exist on W32.
9033
9034 * w32term.c (help_echo_window): New variable.
9035 (syms_of_w32term): staticpro it.
9036 (note_mode_line_highlight): Set it.
9037 (XTextExtents16): Removed as there is no equivalent on W32.
9038 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9039 the X way of doing this will not work for W32.
9040 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9041 (x_draw_image_foreground): Avoid drawing outside of the clip area
9042 when image doesn't have a mask.
9043 (note_mouse_highlight): Process overlays in the right order of
9044 priority. Set help_echo_window.
9045 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9046 because that's more visible for large images.
9047
9048 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9049 name to single_keymap_panes.
9050 (w32_menu_show): Set wv->title when dealing with titles.
9051 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9052
6e69ab8c
MB
90532000-08-21 Miles Bader <miles@gnu.org>
9054
9055 * minibuf.c (do_completion): Try again if we rewrite the input
9056 string, but no completion was done, so that any completion message
9057 will be correct.
9058
511bd4eb
GM
90592000-08-20 Gerd Moellmann <gerd@gnu.org>
9060
9061 * xfaces.c (lface_equal_p): Compare strings differently.
9062 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9063 (realize_tty_face): Use them.
9064 (syms_of_xfaces): Initialize new variables.
9065 (map_tty_color): New function, extracted from realize_tty_face.
9066 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9067 foreground or background color, store the new color name in the
9068 realized face; previous code trying to do this had no effect.
9069 (realize_tty_face): Use map_tty_color.
9070 (Fclear_face_cache): Set face_change_count and ensure thorough
9071 redisplay.
9072
1433385f
GM
90732000-08-19 Gerd Moellmann <gerd@gnu.org>
9074
511bd4eb
GM
9075 * undo.c (record_first_change, record_marker_adjustment): Don't
9076 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9077
419ac0a2
KH
90782000-08-18 Kenichi Handa <handa@etl.go.jp>
9079
9080 * coding.c (decode_coding_string): Set members consumed,
9081 consumed_char, produced, produced_char of *coding correctly. If
9082 decode_coding doesn't consume any byte, don't try anymore.
9083 (encode_coding_string): Likewise.
9084
7eb9e30d
GM
90852000-08-18 Gerd Moellmann <gerd@gnu.org>
9086
511bd4eb
GM
9087 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9088 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9089
9090 * xdisp.c (redisplay_internal): Compare windows for equality with
9091 EQ, instead of applying XWINDOW to something that might not
9092 be a window.
52283633 9093
dd34a735
KH
90942000-08-18 Kenichi Handa <handa@etl.go.jp>
9095
9096 * fontset.c (Finternal_char_font): Search only the selected frame
9097 for a window of the current buffer.
9098
385ff9e3
GM
90992000-08-18 Gerd Moellmann <gerd@gnu.org>
9100
511bd4eb 9101 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9102 Lisp_Objects.
9103
385ff9e3
GM
9104 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9105 second half of a HELP_EVENT is found at the start of kbd_buffer.
9106
d6abb4c7
MB
91072000-08-18 Miles Bader <miles@gnu.org>
9108
4618074a
MB
9109 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9110
d6abb4c7
MB
9111 * editfns.c (save_restriction_save): Rewrite to use markers.
9112 (save_restriction_restore): Rewrite to understand new form of data
9113 saved by save_restriction_save.
9114 (Fsave_restriction): Remove cautionary note in doc-string.
9115
a7b28523
GM
91162000-08-17 Gerd Moellmann <gerd@gnu.org>
9117
9118 * fileio.c (build_annotations): Add a comment explaining the
9119 return value of format-annotate-function. Replace a spurious call
9120 to Flength with a CONSP test. Call format-annotate-function with
9121 a fifth arg specifying how many times the function is been called
9122 in a row, to let it choose temporary buffers appropriately.
9123
03c9ed77
DL
91242000-08-17 Dave Love <fx@gnu.org>
9125
9126 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9127 declare make_temp_name twice.
9128
52283633 9129 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9130 (unreadpure): Give it an arg.
9131
9132 * unexalpha.c: Prototype fatal_unexec, mark_x,
9133 update_dynamic_symbols. Declare unexec as void.
9134
9135 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9136 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9137
9138 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9139 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9140
9141 * alloca.c: Use #error.
9142 [POINTER_TYPE]: Use it.
9143
9144 * eval.c (Fdefvar): Doc fix.
9145
9146 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9147 INITIALIZE_INTERVAL.
9148
9149 * buffer.h: Avoid DECLARE_INTERVALS.
9150
9151 * config.in: Add size_t.
9152
aae41d97
EZ
91532000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9154
9155 * w16select.c (set_clipboard_data): If there's not enough memory
9156 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9157 expects. In case of other failures, return 3.
9158 (system_error_msg): New error message.
9159 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9160 system_error_msg.
9161
65aa5e85
GM
91622000-08-16 Gerd Moellmann <gerd@gnu.org>
9163
9164 * term.c (write_glyphs): Also turn off inverse video after turning
9165 off other appearances in case TS_exit_attribute_mode is not equal
9166 to TS_end_standout_mode.
9167 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9168 with the same face.
9169 (turn_off_face): Reset standout_mode only if
9170 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9171 is equal to TS_end_standout_mode.
9172
ece23901
KH
91732000-08-16 Kenichi Handa <handa@etl.go.jp>
9174
9d7bcb2e
KH
9175 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9176 sequence at the end of the source block.
9177
ece23901
KH
9178 * ccl.c (Fccl_program_p): Docstring modified.
9179 (Fccl_execute): Likewise.
9180 (Fccl_execute_on_string): Likewise.
9181
5e30eaa2
EZ
91822000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9183
9184 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9185
290602fd
KH
91862000-08-16 Kenichi Handa <handa@etl.go.jp>
9187
9188 The following changes are mainly to fix bugs of
9189 encode/decode-coding-string failing if encoding/decoding return
9190 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9191 variable conversion_buffer.
9192
9193 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9194 decrement dst_end to avoid buffer overflow in the later call of
9195 string_as_multibyte
9196
9197 * coding.h (conversion_buffer_size, conversion_buffer)
9198 (get_conversion_buffer): Extern deleted.
9199
9200 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9201 (conversion_buffer, conversion_buffer_size): Variables deleted.
9202 (get_conversion_buffer): Function deleted.
9203 (struct conversion_buffer): New structure.
9204 (MAX_ALLOCA): New macro.
9205 (allocate_conversion_buffer): New macro.
9206 (extend_conversion_buffer, free_conversion_buffer): New functions.
9207 (ccl_coding_driver): Set coding->result.
9208 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9209 this is the last block of source.
9210 (encode_coding): Likewise. Handle the source block as the last
9211 one only when the whole source text is consumed.
9212 (decode_coding_string): Handle the case that the output buffer is
9213 too small to decode the whole source text. Use
9214 allocate_conversion_buffer, extend_conversion_buffer and
9215 free_conversion_buffer, not get_conversion_buffer.
9216 (encode_coding_string): Likewise.
9217 (init_coding): Function deleted.
52283633 9218 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9219
9220 * emacs.c (main): Don't call init_coding.
9221
52283633 9222 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9223
9224 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9225 (insert_glyphs): Likewise.
9226
9227 * w32console.c (write_glyphs): Use a locally declared
9228 conversion_buffer.
9229
b9f80d41
EZ
92302000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9231
9232 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9233 member of display_info is NULL.
9234
32dc52f7
GM
92352000-08-15 Gerd Moellmann <gerd@gnu.org>
9236
52283633 9237 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9238
32dc52f7 9239 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9240 appearances with capability `me'.
32dc52f7
GM
9241 (write_glyphs): Switch on inverse video before each face change.
9242
4eb22d33
DL
92432000-08-14 Dave Love <fx@gnu.org>
9244
9245 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9246 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9247 (lisp_free): Declare and make static.
9248
9249 * window.c: Fix embedded comment.
9250 (syms_of_window): Fix doc string.
9251
90cbf47e
GM
92522000-08-14 Gerd Moellmann <gerd@gnu.org>
9253
52283633 9254 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9255 make sure to print `C-' before `M-', like in the manual.
9256
440fc135
GM
92572000-08-11 Gerd Moellmann <gerd@gnu.org>
9258
9259 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9260 since they aren't relocated anymore.
52283633 9261 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9262
9263 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9264 partially visible line which is smaller than the window's height.
440fc135 9265
6e264fad
KH
92662000-08-11 Kenichi Handa <handa@etl.go.jp>
9267
9268 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9269 the multibyte form of eight-bit-control characters.
6e264fad
KH
9270 (Fccl_execute_on_string): Initialize ccl->multibyte.
9271
9272 * ccl.h (struct ccl_program): New member multibyte.
9273
9274 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9275
c371f69a
KH
92762000-08-11 Kenichi Handa <handa@etl.go.jp>
9277
9278 * regex.c (regex_compile) <normal_char>: Pay attention to
9279 multibyteness.
9280 (analyse_first) <exactn>: Setup fastmap correctly for
9281 eight-bit-control characters.
9282
92832000-08-11 Kenichi Handa <handa@etl.go.jp>
9284
52283633 9285 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9286
9287 * keyboard.c (make_lispy_event): Handle the new event type
9288 multibyte_char_keystroke.
9289
9290 * xterm.c: Include coding.h.
9291 (XTread_socket): Work around a bug of XmbLookupString. If the
9292 input is from XIM, decode it according to the current locale. In
9293 that case, generate multibyte_char_keystroke events.
9294
b8ddbe71
KH
92952000-08-11 Kenichi Handa <handa@etl.go.jp>
9296
9297 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9298 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9299
47589c8c
GM
93002000-08-10 Gerd Moellmann <gerd@gnu.org>
9301
9302 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9303 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9304 (move_it_in_display_line_to): Record iterator's ascent and descent
9305 before producing glyphs, and restore them when we know the glyph
9306 doesn't fit on the line.
9307 (move_it_to): Restructured so that it's easier to debug. If
9308 moving to a vpos, and not moving to an x or character position,
9309 stop as soon as the specified vpos is reached; don't move further
9310 into that line because that might change the computed line height.
9311 (try_cursor_movement): New function, extracted from the cursor
9312 movement branch of redisplay_window. If ending on a partially
9313 visible line, don't try to scroll if the cursor line is taller
9314 than the window.
9315 (redisplay_window): Use try_cursor_movement.
9316
9317 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9318 because that function doesn't cope with variable-height lines.
9319
9320 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9321 box cursor because that's better visible for large images.
52283633 9322
c51bacd6
MB
93232000-08-10 Miles Bader <miles@gnu.org>
9324
9325 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9326
bea56df7
GM
93272000-08-10 Gerd Moellmann <gerd@gnu.org>
9328
9329 * xdisp.c (Vmessages_buffer_name): New variable.
9330 (message_dolog): Use it.
9331 (syms_of_xdisp): Initialize it.
9332
99cd7364
EZ
93332000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9334
52283633 9335 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9336 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9337 redundant now that keyboard.h is included.
9338
7d093d56
EZ
93392000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9340
9341 * keyboard.c (kbd_buffer_events_waiting): New function.
9342
9343 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9344
9345 * msdos.c: Include keyboard.h.
9346 (XMenuActivate): Empty no_event events from the event buffer. If
9347 no events are left after that, call clear_input_pending.
9348 (mouse_clear_clicks): New function, code moved from mouse_init.
9349 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9350 mouse driver to ``forget'' any past clicks.
9351
9352 * Makefile.in (msdos.o): Depend on keyboard.h.
9353
41e757a6
GM
93542000-08-09 Gerd Moellmann <gerd@gnu.org>
9355
8e7bd231
GM
9356 * lisp.h (input_pending): External declaration.
9357
9358 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9359
8e7bd231
GM
9360 * xdisp.c (echo_area_display): Display thoroughly if input is
9361 pending. Bind redisplay-dont-pause to t during the redisplay.
9362 in case input is pending.
9363
9364 * dispnew.c (Qredisplay_dont_pause): New variable.
9365 (syms_of_display): Initialize and staticpro it.
9366 (update_frame_1): Don't interrupt the display for pending input if
9367 redisplay_dont_pause is set.
52283633 9368
43028b7e
GM
9369 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9370
41e757a6
GM
9371 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9372
2f2174fa
KH
93732000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9374
9375 * callproc.c (Fcall_process): Terminate the unwind-protect around
9376 the post-read-conversion of coding system.
9377
0a6fd67e
MB
9378 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9379 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9380 * buffer.h (overlays_at): Update prototype.
9381 * xdisp.c (next_overlay_change): Update call to overlays_at.
9382 * xfaces.c (face_at_buffer_position): Likewise.
9383 * textprop.c (Fget_char_property): Likewise.
9384 * xterm.c (note_mouse_highlight): Likewise.
9385
0c80756e
MB
9386 * minibuf.c (do_completion): Don't consider a simple change of
9387 case as `completion'.
9388
975f250a
KR
93892000-08-08 Ken Raeburn <raeburn@gnu.org>
9390
52283633 9391 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9392 * undo.c (record_delete): Make sure last_point_position_buffer is
9393 a buffer before comparing pointers.
9394
9395 * coding.h (decode_coding_string): Declare.
9396
9397 * intervals.h (Fprevious_single_char_property_change): Declare.
9398
9399 * textprop.c (Fprevious_single_char_property_change): Don't do
9400 arithmetic directly on lisp objects.
9401
52283633 9402 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9403
9404 * keyboard.h (menu_item_eval_property): Declare.
9405
9406 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9407 reuse as buffer name, instead of recreating (and discarding) every
9408 time a message is logged.
9409 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9410 (current_message_1, truncate_message_1, set_message_1)
9411 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9412 (current_message, truncate_echo_area, display_echo_area)
9413 (resize_echo_area_axactly): Changed calls.
b347b3fd 9414
975f250a 9415 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9416 Lisp object.
975f250a 9417 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9418 must be an integer, not a Lisp object.
975f250a 9419
46dc9912
KH
94202000-08-08 Kenichi Handa <handa@etl.go.jp>
9421
9422 * charset.c (Fchar_width): Doc fix.
9423
9f6d1a6c
GM
94242000-08-08 Gerd Moellmann <gerd@gnu.org>
9425
9426 * charset.c (Fstring_width): Doc fix.
9427
ff3d9573
GM
94282000-08-07 Gerd Moellmann <gerd@gnu.org>
9429
41e757a6 9430 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9431 line, clear ascent and descent members of the iterator structure;
9432 the height of the continued line does not affect the height of the
9433 continuation line.
9434 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9435 line taller than the window.
9436 (redisplay_window) <forced window start>: Handle case that the
9437 middle of the window is not found in any row.
9438 (dump_glyph_row): Show more information.
9439 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9440 first text line in a glyph matrix.
9441
9442 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9443 of the clip area when image doesn't have a mask.
9444
70fc58b3
GM
9445 * fns.c (sweep_weak_table): Fix survival conditions for
9446 key-or-value and key-and-value weakness.
9447
9448 * .gdbinit (xhashtable): New command.
9449
ac0e96ee
GM
9450 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9451 tables out of the list of all weak hash tables.
9452
ff3d9573
GM
9453 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9454 a new buffer is created, make sure echo_area_buffer[] references
9455 the new buffer.
9456
e0d8827b
EZ
94572000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9458
9459 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9460 the doc string.
9461
c6f35378
KH
94622000-08-07 Kenichi Handa <handa@etl.go.jp>
9463
9464 * syntax.c (skip_chars): Fix previous change. Make the handling
9465 of unibyte string consistent with that of regex search.
9466
1fd4c450
GM
94672000-08-05 Gerd Moellmann <gerd@gnu.org>
9468
e49aa397
GM
9469 * xmenu.c (popup_get_selection): Use xfree instead of free.
9470
9471 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9472
9473 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9474
9475 * callproc.c (child_setup): Use xfree instead of free.
9476
9477 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9478 instead of malloc.
9479 (run_mac_command, closedir): Use `xfree' instead of `free'.
9480
9481 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9482
9483 * eval.c (error): Use xfree instead of free.
9484
1fd4c450
GM
9485 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9486
9487 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9488 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9489
82d497fc
KH
94902000-08-05 Kenichi Handa <handa@etl.go.jp>
9491
9492 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9493 conversion.
9494
59f953a2
NF
94952000-08-04 Noah Friedman <friedman@splode.com>
9496
9497 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9498 docstring.
9499
688351f2
GM
95002000-08-04 Gerd Moellmann <gerd@gnu.org>
9501
9502 * syntax.c (skip_chars): Fix typo in error message.
9503
2dad51cc
AS
95042000-08-04 Andreas Schwab <schwab@suse.de>
9505
9506 * m/ia64.h: Moved from s/ia64.h.
9507
99bb2c60
KH
95082000-08-04 Kenichi Handa <handa@etl.go.jp>
9509
082a1df2
KH
9510 * process.c (read_process_output): Big simplification. Handle
9511 composition and post-read-conversion of coding system correctly.
9512 (send_process): Handle composition correctly.
9513
9514 * callproc.c (Fcall_process): Handle post-read-conversion of
9515 coding system if any.
9516
99bb2c60
KH
9517 * coding.c (decode_coding_iso2022): More strict check for handling
9518 single shifting.
082a1df2
KH
9519 (coding_restore_composition): Pay attention to the case that
9520 cmp_data is not set properly (because of invalid code in the
9521 source text).
9522 (run_pre_post_conversion_on_str): Include text properties in the
9523 resulting string.
9524 (decode_coding_string): Set members of coding correctly.
99bb2c60 9525
f4988be7
GM
95262000-08-03 Gerd Moellmann <gerd@gnu.org>
9527
9528 * s/ia64.h: New file.
9529
9530 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9531 Use NULL instead of 0 at the end of variable argument list of
9532 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9533 sizeof (int) < sizeof (void *).
9534
9535 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9536 of variable argument lists of XtVaGetValues and XtVaSetValues.
9537
9538 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9539 variable argument lists of XtVaGetValues and XtVaSetValues.
9540
ead53494
GM
95412000-08-02 Gerd Moellmann <gerd@gnu.org>
9542
9543 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9544 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9545
9546 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9547 prototype.
9548
9549 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9550 in call to Fsingle_key_description.
9551
9552 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9553 Callers changed.
9554
95552000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9556
9557 * window.c (display_buffer_reuse_frames): New variable.
9558 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9559 frames displaying BUFFER.
52283633 9560 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9561
10b0f752
MB
95622000-08-01 Miles Bader <miles@gnu.org>
9563
9564 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9565 when to constrain NEW_POS (they were pretty screwed up before).
9566
16425c4a
EZ
95672000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9568
9569 * msdos.c (run_msdos_command): Save and restore the master
9570 environment, for the case that child_setup signals an error.
9571 When mirroring slashes in DOS shell commands, don't fail when
9572 argv[2] has embedded blanks.
da288c14
EZ
9573 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9574 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9575 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9576
9577 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9578 using alloca; free it after run_msdos_command returns.
9579
27f73852
DL
95802000-07-27 Dave Love <fx@gnu.org>
9581
52283633
SM
9582 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9583 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9584
9585 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9586
c0261b5e
EZ
95872000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9588
9589 * editfns.c (lisp_time_argument): Fix last change.
9590
b548072f
GM
95912000-07-27 Gerd Moellmann <gerd@gnu.org>
9592
3ab82477
GM
9593 * fns.c (Fdelete): Make it work on vectors and strings in addition
9594 to lists.
9595
b548072f
GM
9596 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9597 (syms_of_fns): Initialize new variables.
52283633 9598 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9599 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9600 weakness, with t meaning the same as `key-and-value'.
9601
91ae8751
KH
96022000-07-27 Kenichi Handa <handa@etl.go.jp>
9603
9604 * coding.h (struct coding_system): Member safe_charset deleted.
9605
9606 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9607 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9608 New variables.
91ae8751
KH
9609 (coding_safe_chars): New function.
9610 (CODING_SAFE_CHAR_P): New macro.
9611 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9612 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9613 (detect_coding_iso2022): New local variable safe_chars.
9614 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9615 safe_charsets member of the coding system.
9616 (decode_coding_iso2022): New local variable safe_chars.
9617 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9618 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9619 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9620 (ENCODE_UNSAFE_CHARACTER): New macro.
9621 (encode_coding_iso2022): New local variable safe_chars. Check
9622 unsafe chars.
9623 (setup_coding_system): Delete the code to initialize
9624 coding->safe_charses
9625 (intersection, find_safe_codings): New functions.
9626 (Ffind_coding_systems_region_internal): New function.
9627 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9628 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9629 variable and initialize it.
9630
9631 * fns.c (char_table_ref_and_index): New function.
9632
9633 * lisp.h (char_table_ref_and_index): Add prototype.
9634
34a7a267
SS
96352000-07-26 Sam Steingold <sds@gnu.org>
9636
9637 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9638 (Ffloat_time): New built-in Lisp function.
34a7a267 9639
a95cb10a
GM
96402000-07-26 Gerd Moellmann <gerd@gnu.org>
9641
3353ef5a
GM
9642 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9643 for the character code.
9644
9645 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9646 GNU/Linux.
9647
a95cb10a
GM
9648 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9649 if called for a popup menu.
9650 (xmenu_show): Store help string in widget values.
9651
b4a12321
DL
96522000-07-26 Dave Love <fx@gnu.org>
9653
9654 * syswait.h: Move some definitions.
9655 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9656 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9657 perspicuous definitions.
9658 (WTERMSIG): Fix bit pattern used.
9659
13f5ad37
KH
96602000-07-26 Kenichi Handa <handa@etl.go.jp>
9661
9662 * print.c (print_object): If vector printing is truncated, print
9663 "..." to indicate it as well as the case of list printing.
9664
070fe99c
GM
96652000-07-25 Gerd Moellmann <gerd@gnu.org>
9666
969065c3
GM
9667 * xdisp.c (next_element_from_display_vector): Improve comments.
9668
9669 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9670 for the character code, and the rest for the face id as in 20.x.
9671 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9672
9673 * window.c (window_display_table): Cleaned up.
9674
070fe99c
GM
9675 * syntax.c (Fforward_word): Add last arg nil in call of
9676 Fconstrain_to_field.
9677
bad77ef7
EZ
96782000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9679
969065c3 9680 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9681 identical but for the letter-case, don't call
9682 barf_or_query_if_file_exists.
bad77ef7 9683
c28da489
MB
96842000-07-25 Miles Bader <miles@gnu.org>
9685
9686 * editfns.c (find_field): Honor special `boundary' fields.
9687 (Qboundary): New variables.
9688 (syms_of_editfns): Initialize Qboundary.
9689 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9690 Use scan_buffer instead of find_before_next_newline, because it
9691 allows us to detect the boundary case where there's a newline at
9692 the search limit.
9693 * lisp.h (Fconstrain_to_field): Update external declaration.
9694
e3c31fd5
GM
96952000-07-24 Gerd Moellmann <gerd@gnu.org>
9696
9697 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9698 if that is nil.
c28da489 9699
c66c29a2
DL
97002000-07-24 Dave Love <fx@gnu.org>
9701
9702 * s/sunos4-0.h, s/sol2.h:
9703 (LIBS_TERMCAP): Move from m/sparc.h.
9704
9705 * m/sparc.h (TERMINFO): Moved to system files (probably only
9706 relevant for sunos4 judging by its vintage).
9707 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9708 __arch64__.
9709
fbe0a958
EZ
97102000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9711
9712 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9713 name to single_keymap_panes.
9714
7d88e5c9
AS
97152000-07-24 Andreas Schwab <schwab@suse.de>
9716
9717 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9718
e024b101
GM
97192000-07-24 Gerd Moellmann <gerd@gnu.org>
9720
9721 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9722 parameters instead of using int parameters. Expect FN to accept
9723 EMACS_INT parameters.
9724 (display_echo_area, resize_echo_area_axactly, current_message)
9725 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9726 with new argument list.
9727 (resize_mini_window_1): New callback function.
9728 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9729 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9730
25c1a9ce
KH
97312000-07-24 Kenichi Handa <handa@etl.go.jp>
9732
9733 * fontset.c (fontset_ref): Remove INLINE declaration.
9734 (fontset_ref_via_base): Likewise.
9735 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9736 to downcase.
9737
7f987ac0
EZ
97382000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9739
9740 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9741 correct order of priority. If help echo was found in an overlay,
9742 use that overlay as the object in which the help echo was found.
9743
e2db3069
MB
97442000-07-22 Miles Bader <miles@gnu.org>
9745
9746 * textprop.c (Fprevious_single_char_property_change): The initial
9747 property value should be from the position preceding POSITION, not
9748 following it.
9749
5e3203e4
EZ
97502000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9751
9752 * coding.c (syms_of_coding): Doc fix for
9753 inhibit-iso-escape-detection.
9754
62145073
GM
97552000-07-21 Gerd Moellmann <gerd@gnu.org>
9756
c20aeb83
GM
9757 * xterm.c (note_mouse_highlight): Process overlays in the right
9758 order of priority.
34a7a267 9759
743934db
GM
9760 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9761
9762 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9763 overlay, use that overlay as the object in which the help was found.
743934db 9764
d1dc7e43 9765 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9766
62145073
GM
9767 * window.c (foreach_window): Instead of a fake variable argument
9768 list, take one USER_DATA argument.
9769 (foreach_window_1): Likewise, and call callback functions with two
9770 args, the window and USER_DATA.
9771 (struct check_window_data): New struct.
9772 (check_window_containing): Use it.
9773 (window_from_coordinates): Set up a struct check_window_data for
9774 foreach_window.
9775 (add_window_to_list, freeze_window_start): Change parameters
9776 according to new calling convention.
9777
9778 * window.h (foreach_window): Change prototype.
9779
9780 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9781
97822000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9783
9784 * xmenu.c (menu_help_callback): Call show_help_echo with
9785 additional arguments OBJECT and POS.
9786
11270583
KH
97872000-07-21 Kenichi Handa <handa@etl.go.jp>
9788
07b14857
KH
9789 * data.c (Faset): Allow storing any multibyte character in a
9790 string. Convert unibyte string to multibyte if necessary.
9791
11270583
KH
9792 * xfns.c (x_encode_text): New function.
9793 (x_set_name): Use x_encode_text.
9794 (x_set_title): Likewise.
9795
9796 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9797
9798 * xterm.h (x_encode_text): Add prototype.
9799
bc75b4fd
DL
98002000-07-20 Dave Love <fx@gnu.org>
9801
9802 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9803 xfree, not free.
9804
48c14970
EZ
98052000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9806
9807 * msdos.c (help_echo_window): New variable.
9808 (syms_of_msdos): Initialize and staticpro it.
9809 (IT_note_mode_line_highlight): Set help_echo_window.
9810 (IT_note_mouse_highlight): Ditto.
9811 (dos_rawgetc): Store help_echo_window in the second event produced
9812 for HELP_EVENTs.
9813
9814 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9815 Record the object that generated the help echo and the position of
9816 that object in help_echo_object and help_echo_pos. Record that
9817 some glyphs in a row are displayed in mouse-face.
9818 (IT_update_begin): Don't clear mouse highlight unless one of the
9819 enabled glyph rows is marked as being displayed in mouse-face.
9820 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9821 and position recorded in help_echo_object and help_echo_pos to the
9822 event queue.
9823 (IT_menu_display): Accept a new argument PN: the pane number of
9824 the current menu pane. Record the pane number and the item
9825 number of the item which has associated help string.
9826 (XMenuActivate): Update the prototype for help_callback in
9827 function declaration. Call IT_menu_display with the current menu
9828 pane number as an additional argument. Call help_callback with
9829 two additional arguments: the pane number and the item number of
9830 the menu item associated with the help text.
9831 (help_echo_object, help_echo_pos): New variables.
9832 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9833
9834 * msdos.h (XMenuActivate): Update prototype.
9835
4279296d
GM
98362000-07-19 Gerd Moellmann <gerd@gnu.org>
9837
47db06aa
GM
9838 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9839 Add some more prototypes.
9840
9841 * xterm.c, xterm.h: Add some more prototypes.
9842
9843 * lisp.h (Fnext_single_char_property_change): Add prototype.
9844
9845 * dispnew.c (direct_output_for_insert): Remove confusing
9846 outer local variable mouse_face_overwritten_p.
9847 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9848
4279296d
GM
9849 * alloc.c (allocate_string_data): Don't copy old string contents.
9850
670acd62
KH
98512000-07-19 Kenichi Handa <handa@etl.go.jp>
9852
9853 * coding.c (code_convert_region): Delete text properties before
9854 shrinking the conversion region.
9855
7cea38bc
GM
98562000-07-18 Gerd Moellmann <gerd@gnu.org>
9857
dc1cac59
GM
9858 * dispnew.c (update_text_area): Write the whole row if it
9859 has mouse-face in it.
9860
85a8aca9
GM
9861 * xfaces.c (face-alternative-font-family-alist): Remove
9862 DEFVAR_LISP; staticpro instead.
9863
34a7a267 9864 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9865 new arguments.
9866
9867 * keyboard.c (show_help_echo): Add parameter WINDOW.
9868 (read_char): Call show_help_echo with window extracted from Lisp
9869 help event.
9870 (gen_help_event): Add parameter WINDOW.
9871
9872 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9873
9874 * xterm.c (help_echo_window): New variable.
52283633 9875 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9876 (XTread_socket): Pass help_echo_window to gen_help_event.
9877 (syms_of_xterm): Initialize and staticpro help_echo_window.
9878
f8276b77
DL
98792000-07-18 Dave Love <fx@gnu.org>
9880
52283633 9881 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9882
088831a6
GM
98832000-07-18 Gerd Moellmann <gerd@gnu.org>
9884
3d6cd763
GM
9885 * alloc.c (allocate_string_data): If string had already data
9886 assigned, copy old contents to new string data.
9887
9888 * coding.c (syms_of_coding): Fix typo in spelling of variable
9889 `inhibit-iso-escape-detection'.
9890
088831a6
GM
9891 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9892
9893 * Makefile.in: Add dependencies on dispextern.h.
9894 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9895 `free'; both can conflict with system header files.
9896
bc8a8d55
KH
98972000-07-18 Kenichi Handa <handa@etl.go.jp>
9898
9899 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9900 undefined.
9901
069f5950
DL
99022000-07-18 Dave Love <fx@gnu.org>
9903
9904 * window.c (Fwindow_list): Declare arg `window'.
9905
aa96c820
KH
99062000-07-18 Kenichi Handa <handa@etl.go.jp>
9907
9908 * coding.c (setup_coding_system): Don't override the explicitly
9909 specified designations.
9910
06be8d32
MB
99112000-07-15 Miles Bader <miles@gnu.org>
9912
9913 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9914 from `text_property_eq' and `text_property_stickiness', respectively.
9915 (find_field, Fconstrain_to_field, char_property_eq)
9916 (char_property_stickiness): Changed to call char-property functions
9917 instead of text-property-only ones.
9918
9919 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9920 `next_single_char_property_change'). Do more error checking, and
9921 cleanup limit behavior.
9922 (Fprevious_single_char_property_change): New function.
9923 (syms_of_textprop): Initialize new subrs.
9924
9925 * xdisp.c (display_prop_end, invisible_text_between_p):
9926 Call Fnext_single_char_property_change instead of
9927 next_single_char_property_change.
9928
3fddcdc3
JR
99292000-07-15 Jason Rumney <jasonr@gnu.org>
9930
9931 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9932 after menu is finished with.
9933 (add_menu_item): Only consider wv->title as a menu title.
9934 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9935
9936 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9937 null title.
9938 (FONT_REGEXP): Remove unused macro, and its sub-components.
9939 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9940
9941 * w32term.c (help_echo_object, help_echo_pos): New variables.
9942 (note_mode_line_highlight): Store additional information about the
9943 help-echo in help_echo_object and help_echo_pos. Check both
9944 `local-map' and `keymap' properties for changing the cursor
9945 (note_mouse_highlight): Store additional information about the
9946 help-echo in help_echo_object and help_echo_pos.
9947 (note_tool_bar_highlight): Set help_echo_object to nil and
9948 help_echo_pos to -1.
9949 (w32_read_socket): Use gen_help_event instead of filling
9950 input_events manually.
9951 (syms_of_w32term): Staticpro help_echo_object.
9952 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9953 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9954 (x_clear_mouse_face): New function.
9955 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9956 (x_update_window_begin): No need to turn off the mouse
9957 highlight here.
9958 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9959 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9960 (x_fill_stretch_glyph_string): Consume runs of stretch
9961 glyphs instead of a single one.
9962 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9963 with new argument list.
9964 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9965 (x_append_glyph, x_append_composite_glyph)
9966 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9967 changes in struct glyph starting 1999-12-27. See comments for
9968 xterm.c on 2000-07-05.
9969
178c5d9c
SS
99702000-07-14 Sam Steingold <sds@gnu.org>
9971
9972 * xfaces.c (realize_x_face): Fix the last patch:
9973 check `default_face' before dereferencing.
9974
6fe533f6
DL
99752000-07-14 Dave Love <fx@gnu.org>
9976
069f5950 9977 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9978
dd7b81cf
KH
99792000-07-14 Kenichi Handa <handa@etl.go.jp>
9980
0693904a 9981 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9982 default_face's fontset, not using the default fontset.
0693904a 9983
dd7b81cf
KH
9984 * coding.c (inhibit_iso_escape_detection): New variable.
9985 (syms_of_coding): Make it a Lisp variable.
9986 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9987 nonzero, ignore ISO2022's escape sequence.
9988
d5aa31d8
GM
99892000-07-14 Gerd Moellmann <gerd@gnu.org>
9990
e5acf0ca
GM
9991 * alloca.c (malloc) [emacs]: Define as xmalloc.
9992
bd23a692
GM
9993 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9994 use that instead of the mouse position. Add parameters DX and DY.
9995
9996 * dispextern.h (Fx_show_tip): Adjust number of parameters
9997 in prototype.
9998
9662da0b
GM
9999 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10000 if HELP is a function, call it with OBJECT and POS as parameters
10001 to get the help to display.
10002 (gen_help_event, kbd_buffer_store_help_event): New functions.
10003 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10004 (read_char): Call show_help_echo with new parameters.
10005
178c5d9c 10006 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10007 Add prototypes.
10008
10009 * xterm.c (help_echo_object, help_echo_pos): New variables.
10010 (note_mode_line_highlight): Store additional information about the
10011 help-echo in help_echo_object and help_echo_pos. Check both
10012 `local-map' and `keymap' properties for changing the cursor
10013 (note_mouse_highlight): Store additional information about the
10014 help-echo in help_echo_object and help_echo_pos.
10015 (note_tool_bar_highlight): Set help_echo_object to nil and
10016 help_echo_pos to -1.
10017 (XTread_socket): Use gen_help_event instead of filling
10018 input_events manually.
10019 (syms_of_xterm): Staticpro help_echo_object.
10020
10021 * xmenu.c (menu_highlight_callback): Use
10022 kbd_buffer_store_help_event instead of setting up and input_event
10023 structure manually.
10024
10025 * xdisp.c (eval_form): GCPRO argument sexpr.
10026 (call_function): New function.
10027 (handle_single_display_prop): Use call_function and FUNCTIONP
10028 instead of checking whether if font_height is a symbol and
10029 using eval_form.
10030
10031 * eval.c (internal_condition_case_2): New function.
10032
10033 * lisp.h (FUNCTIONP): New macro.
10034 (internal_condition_case_2, call_function): Add prototypes.
10035
d5aa31d8
GM
10036 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10037 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10038 Always set `arg' member of input_events.
10039 (construct_menu_click): Unused function removed.
10040
10041 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10042
10043 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10044 (construct_drag_n_drop, x_scroll_bar_handle_click)
10045 (w32_read_socket): Always set `arg' member of input_events.
10046
10047 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10048
10049 * lisp.h (eval_form): Add prototype.
10050
10051 * xdisp.c (eval_form): Make it externally visible.
10052
0f1a9b23
GM
100532000-07-13 Gerd Moellmann <gerd@gnu.org>
10054
10055 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10056 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10057 consing. For prefix events, store the frame in the `arg' slot of
10058 the event, otherwise store the key there.
10059 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10060 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10061
10062 * xmenu.c (menu_highlight_callback): Store help string in the
10063 `arg' member of the input event; don't cons.
10064 (menubar_selection_callback): Use the `arg' slot of input events
10065 to queue additional information, instead of consing.
10066
10067 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10068
10069 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10070 TOOL_BAR_EVENTs.
10071 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10072
10073 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10074 input events to queue additional information, instead of consing.
10075
10076 * keyboard.c (kbd_buffer_gcpro): Renamed from
10077 kbd_buffer_frame_or_window. Now used for all Lisp objects
10078 referenced from the input queue.
10079 (kbd_buffer_store_event): Always use structure assignment for
10080 copying input events. Record all Lisp objects referenced from
10081 events in kbd_buffer_gcpro.
10082 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10083 differently from input events. Test for prefix menu_bar_events
10084 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10085 event in kbd_buffer_gcpro to nil.
10086 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10087 frame_or_window is equal to its arg member as prefix events.
10088 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10089 used by an input event to nil.
10090 (init_keyboard): Use two times the size of the input queue
10091 for kbd_buffer_gcpro.
10092 (syms_of_keyboard): Likewise.
10093
52283633
SM
10094 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10095 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10096
10097 * termhooks.h (struct input_event): Add member `arg'.
10098 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10099 (USER_SIGNAL_EVENT): Renamed from user_signal.
10100
10101 * xfaces.c (ASET): Remove definition.
10102
10103 * lisp.h (AREF, ASET, ASIZE): New macros.
10104
10105 * fontset.c (AREF, ASIZE): Remove definitions.
10106
10107 * fns.c (AREF): Remove definition.
178c5d9c 10108
0f1a9b23
GM
10109 * composite.c (AREF): Remove definition.
10110
712eaef2
GM
101112000-07-12 Gerd Moellmann <gerd@gnu.org>
10112
d8ee7803
GM
10113 * dispnew.c (redraw_overlapped_rows): Add missing local.
10114 (scrolling_window): Remove debug code.
10115
712eaef2
GM
10116 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10117 Before scrolling, turn off a mouse-highlight in the window
10118 being scrolled.
10119
10120 * xterm.c (x_update_window_end): Add parameter
10121 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10122 redisplay in XTframe_up_to_date.
10123 (x_clear_mouse_face): New function.
10124 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10125
10126 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10127 current glyph row.
10128 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10129 it when any row is written to that contains glyphs highlighted in
10130 mouse-face.
10131 (update_window): Call the window update end hook with new
10132 parameter MOUSE_FACE_OVERWRITTEN_P.
10133 (direct_output_for_insert): Give up if row contains mouse-face.
10134
10135 * dispextern.h (struct redisplay_interface): Add parameter
10136 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10137 (clear_mouse_face): New function pointer member.
10138
02010917
SM
101392000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10140
10141 * syntax.c (back_comment): Use one switch rather than a few `if's.
10142 Obey open_paren_in_column_0_is_defun_start.
10143 When reverting to the `slow' method, try to nicely handle the case
10144 of nested comments by checking that the comment-starter we found
10145 does indeed match the comment-ender.
10146 (scan_sexps_forward, scan_sexps_forward):
10147 Ignore excessive opening parenthesis rather than throwing an error.
10148
d76c03ea
GM
101492000-07-11 Gerd Moellmann <gerd@gnu.org>
10150
10151 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10152 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10153
10154 * dispnew.c (direct_output_forward_char): Give up if currently
10155 displaying a message instead of the minibuffer contents.
10156
10157 * xterm.c (x_update_window_begin): No need to turn off the mouse
10158 highlight here.
10159 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10160 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10161
10162 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10163 compare the mouse_face_p flags of both rows.
10164
10165 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10166
d55ead18
EZ
101672000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10168
10169 * keyboard.c (show_help_echo): Accept additional parameter
10170 ok_to_overwrite_keystroke_echo.
10171 (read_char): Call show_help_echo with a zero
10172 ok_to_overwrite_keystroke_echo argument.
52283633 10173 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10174 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10175 ok_to_overwrite_keystroke_echo argument.
10176 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10177 non-zero ok_to_overwrite_keystroke_echo argument.
10178
df75b1a3
GM
101792000-07-10 Gerd Moellmann <gerd@gnu.org>
10180
4b92c49a
GM
10181 * xdisp.c (try_window_id): If changes are all below what is
10182 displayed in the window, and point is in the window, we still
10183 might have to find point on the display.
10184
10185 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10186 glyphs instead of a single one.
10187 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10188 with new argument list.
10189 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10190
df75b1a3
GM
10191 * keymap.c (get_keymap_1): Add comment that this function can GC.
10192 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10193 comment that functions can GC.
10194 (Fset_keymap_parent): GCPRO arg KEYMAP.
10195
4314cf3e
EZ
101962000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10197
10198 * msdos.c (XMenuActivate): After exiting the menu, restore the
10199 echo area message and erase it.
10200
ab49ce15
KH
102012000-07-10 Kenichi Handa <handa@etl.go.jp>
10202
10203 * fontset.c (Ffontset_info): Make the return value more compatible
10204 with that of Emacs 20.
10205
090a072f
GM
102062000-07-07 Gerd Moellmann <gerd@gnu.org>
10207
10208 * eval.c (Fsignal): Handle case that backtrace_list is null.
10209
f92de4a6
KH
102102000-07-07 Kenichi Handa <handa@etl.go.jp>
10211
10212 * ccl.c (Fccl_execute): Typo fixed.
10213
dd8888a1
GM
102142000-07-06 Gerd Moellmann <gerd@gnu.org>
10215
e5c81191 10216 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10217
dd8888a1
GM
10218 * window.c (Fwindow_list): Reverse list at the end.
10219 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10220 means allow windows on OWINDOW's frame, only.
10221 (window_loop): Simplified; use Fwindow_list.
10222
10223 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10224
485266d0
GM
102252000-07-05 Gerd Moellmann <gerd@gnu.org>
10226
10227 * xterm.c (XTread_socket): Increment handling_signal at the start,
10228 decrement it at the end.
10229
10230 * eval.c (handling_signal): New variable.
10231 (Fsignal): Abort if handling_signal is non-zero.
10232
10233 * lisp.h (handling_signal): External declaration.
178c5d9c 10234
485266d0
GM
10235 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10236
80fcd514
KR
102372000-07-05 Ken Raeburn <raeburn@gnu.org>
10238
10239 Sound support for NetBSD through "Linux emulation" support:
10240 * config.in (HAVE_SOUNDCARD_H): Undef.
10241 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10242 * Makefile.in (LIBSOUND): New variable.
10243 (LIBES): Include it.
52283633
SM
10244 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10245 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10246 (vox_open): Use DEFAULT_SOUND_DEVICE.
10247 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10248
d5c5cddd
GM
102492000-07-05 Gerd Moellmann <gerd@gnu.org>
10250
10251 * print.c (print_error_message): If Vsignaling_function is set,
10252 show it in *Messages*.
10253
10254 * lisp.h (Vsignaling_function): External declaration.
10255
10256 * eval.c (Vsignaling_function): New variable.
10257 (Fsignal): Compute it.
10258 (syms_of_eval): Staticpro it.
10259
65171e3a
DL
102602000-07-05 Dave Love <fx@gnu.org>
10261
10262 * syswait.h: Use the autoconf recommended approach. Old code
10263 #if'd out in case we need to revert.
10264
178c5d9c 10265 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10266
e2c46326
AI
102672000-07-05 Andrew Innes <andrewi@gnu.org>
10268
10269 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10270 when non-NULL instead of __morecore, to take account of buffer
10271 memory. This also solves a problem with spurious memory warnings
10272 on Windows.
10273
10274 * ralloc.c: Make real_morecore non-static.
10275
10276 * eval.c (internal_condition_case): Comment out abort if
10277 interrupt_input_blocked is not zero.
10278
10279 * makefile.nt: Add support for `bootstrap' and related targets.
10280 Include minimal debug info in emacs.exe in release build.
10281 Remove all dependencies on lisp.h, and fixup some others.
10282
10283 * w32.c (init_environment): Install code from 20.7 for providing
10284 default values for environment variables, based on the
10285 executable's own location.
52283633 10286 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10287 (sys_socket): Install socket inheritance bug fix from 20.7.
10288
10289 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10290 here via blockinput.h).
10291
a027a91b
SM
102922000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10293
e4b31601
SM
10294 * w32menu.c (w32_menu_display_help):
10295 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10296
10297 * keyboard.h (show_help_echo): Declare.
10298
10299 * keyboard.c (show_help_echo): New function, extracted from read_char.
10300 Feval its `msg' argument if it's a cons cell.
10301 (read_char): Use it.
4cf8d9d5 10302 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10303
178c5d9c 10304 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10305 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10306 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10307 (dos_rawgetc):
10308 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10309 (note_tool_bar_highlight, w32_read_socket):
10310 Do not gratuitously ignore non-string `help-echo' properties.
10311
88d75730
GM
103122000-07-05 Gerd Moellmann <gerd@gnu.org>
10313
969f7e79
GM
10314 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10315
71201b00
GM
10316 * window.c (delete_all_subwindows): Reset Vwindow_list.
10317
88d75730
GM
10318 * xterm.c (x_append_glyph, x_append_composite_glyph)
10319 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10320 changes in struct glyph starting 1999-12-27. Some bit-fields of
10321 struct glyph were not set, which made glyphs unequal when compared
10322 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10323 effects were the result. This also depended on the contents of
10324 memory returned by xmalloc. If flickering happens again, activate
10325 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10326 gone with that, chances are that it is caused by something similar.
88d75730
GM
10327
10328 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10329
88d75730
GM
10330 * dispextern.h: Add some comments.
10331
10332 * window.c (add_window_to_list): Add parameter LIST.
10333 (window_list): Order list so that, for each frame, windows are
10334 in canonical order, and so that frames appear in the list in
10335 the order given by Vframe_list.
10336 (next_window): Reverse the handling of NEXT_P.
10337
53654733
GM
103382000-07-04 Gerd Moellmann <gerd@gnu.org>
10339
87efd256
GM
10340 * window.c (Vwindow_list): New variable.
10341 (make_window, delete_window): Set Vwindow_list to nil.
10342 (check_window_containing): New function.
10343 (window_from_coordinates): Rewritten.
10344 (add_window_to_list, window_list, candidate_window_p)
10345 (decode_next_window_args, next_window): New functions.
52283633 10346 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10347 (Fwindow_list): New function.
10348 (Fother_window): Cleaned up.
10349 (foreach_window): Add a longer "variable argument list". Let
10350 callback function return 0 to indicate that cycling over windows
10351 should stop.
10352 (foreach_window_1): Likewise.
10353 (freeze_window_start): Return int.
10354 (init_window): New function.
10355 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10356
10357 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10358 input_event with bzero.
10359 (main): Call init_window.
10360
53654733
GM
10361 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10362 a menu filter.
10363
4a8c194f
KH
103642000-07-04 Kenichi Handa <handa@etl.go.jp>
10365
10366 * composite.h (make_composition_value_copy): Extern it.
10367
10368 * composite.c (make_composition_value_copy): New function.
10369
10370 * editfns.c (Fformat): While copying text properties, make each
10371 composition property value a copy.
10372
10373 * fns.c (concat): While copying text properties, make each
10374 composition property value a copy.
10375
831a6cb0
GM
103762000-07-03 Gerd Moellmann <gerd@gnu.org>
10377
2f516940
GM
10378 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10379
178c5d9c 10380 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10381 marked already.
10382
831a6cb0
GM
10383 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10384 include those frames as candidates which have their focus
10385 redirected to the minibuffer frame.
10386
d9c4f922
SM
103872000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10388
10389 * fns.c (Fputhash): Return `value' rather than nil.
10390
3780bc22
GM
103912000-06-30 Gerd Moellmann <gerd@gnu.org>
10392
97d176db
GM
10393 * frame.c (next_frame): Don't check focus redirection in case
10394 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10395 unless their focus is redirected, which contradicts the
10396 specification of next-frame, and leads to infinite loops in
10397 certain situations when cycling through windows with next-window.
10398
dca9961d
KH
103992000-06-30 Kenichi Handa <handa@etl.go.jp>
10400
10401 * coding.c (code_convert_region): Even if the length of text is
10402 zero, try to convert it if coding->type is coding_type_ccl.
10403 (decode_coding_string, encode_coding_string): Likewise.
10404
d5483ab1
GM
104052000-06-28 Gerd Moellmann <gerd@gnu.org>
10406
af5c25e1 10407 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10408 the display if windows_or_buffers_changed.
af5c25e1
GM
10409
10410 * dispnew.c (struct row_entry): New structure.
10411 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10412 (row_table_size, old_lines, new_lines, old_lines_size)
10413 (new_lines_size, run_pool, runs_size, runs): New variables.
10414 (add_row_entry): New function.
10415 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10416 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10417 holding them in local variables. Use a larger hash table whose
10418 size depends on glyph matrix sizes. Don't use bzero to clear the
10419 hash table; instead, clear used slots only.
10420
10421 * fns.c (next_almost_prime): Make it externally visible.
10422
10423 * lisp.h (next_almost_prime): Add prototype.
10424
d5483ab1
GM
10425 * s/isc4-0.h (sigunblock): Define.
10426
10427 * s/sco5.h (sigunblock): Define.
10428
93e40f40
DL
104292000-06-27 Dave Love <fx@gnu.org>
10430
10431 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10432 (moved to osf5-0.h).
10433 [!NOT_C_CODE]: Protect string.h stuff.
10434
10435 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10436 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10437
3c4b7685
GM
104382000-06-27 Gerd Moellmann <gerd@gnu.org>
10439
97d176db 10440 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10441 below the last line from the needed window height.
10442
32cad0aa
SM
104432000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10444
10445 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10446 (Fwidget_get): Use it.
10447 (syms_of_fns): Defsubr it.
10448
2c69ced2
GM
104492000-06-26 Gerd Moellmann <gerd@gnu.org>
10450
178c5d9c 10451 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10452 display info for XIM.
10453 (xim_open_dpy): Likewise.
10454 (xim_close_dpy): Don't free the display info's XIM.
10455
10456 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10457
10458 * config.in (USE_XIM): New define.
10459
3fc720e4
GM
10460 * keymap.c (get_keyelt): For menu-items containing a `:filter
10461 FILTER', apply FILTER to the menu-item's definition to get the
10462 real definition to use.
10463
10464 * lisp.h (QCfilter): External declaration.
10465
2c69ced2
GM
10466 * xfns.c (Fimage_size): New function.
10467 (syms_of_xfns): Defsubr it.
10468
f978b2a2
AS
104692000-06-26 Andreas Schwab <schwab@suse.de>
10470
10471 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10472 Fstring_as_unibyte.
10473
94cc7892
DL
104742000-06-25 Dave Love <fx@gnu.org>
10475
52283633 10476 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10477
10478 * Makefile.in (blockinput.h): Depend on atimer.h.
10479 (atimer.h): Depend on systime.h.
10480
52283633 10481 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10482
52283633 10483 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10484
10485 * lisp.h (swap_in_global_binding): Declare.
10486
b8c24556
KR
104872000-06-24 Ken Raeburn <raeburn@gnu.org>
10488
10489 * process.c (Fopen_network_stream): Turn off atimers for duration
10490 of call to connect. (Patch from Gerd.)
10491
8cf8560b
DL
104922000-06-23 Dave Love <fx@gnu.org>
10493
511c7541
DL
10494 * ralloc.c: Maybe include unistd.h
10495
8cf8560b
DL
10496 * emacs.c (setgrp): Undefine before defining.
10497 (malloc_warning, set_time_zone_rule, index): Prototype.
10498
10499 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10500 HAVE_STRUCT_TIMEZONE.
10501
10502 * s/osf1.h: Move string.h hack here from alpha.h and make it
10503 conditional.
10504 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10505 _XOPEN_SOURCE.
10506 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10507 (SOCKLEN_TYPE): Don't define.
10508
10509 * m/alpha.h: Remove string.h hack.
10510
10511 * s/osf5-0.h: New file.
10512
10513 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10514 include time.h, done by systime.h.
10515 [__FreeBSD__]: Remove redundant includes.
10516
3fc720e4 10517 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10518 (delete_temp_file): Return Qnil to avoid warning.
10519
10520 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10521
10522 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10523 HAVE_X_WINDOWS.
10524
10525 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10526
10527 * composite.h (compose_text): Declare.
10528
10529 * xterm.c: Don't include sys/types.h unconditionally. Don't
10530 protect its inclusion with !USG (following xmenu.c).
10531
ea055732
GM
105322000-06-23 Gerd Moellmann <gerd@gnu.org>
10533
10534 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10535 in x_create_frame.
10536
74b01b80
EZ
105372000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10538
10539 * coding.c (decode_eol_post_ccl): Special handling for undecided
10540 and inconsistent EOL types.
10541
64f3a166
GM
105422000-06-22 Gerd Moellmann <gerd@gnu.org>
10543
16cf31f7
GM
10544 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10545 trough color and main window's background color.
10546
52283633 10547 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10548
10549 * xterm.h (Xt_app_con): External declaration.
10550
10551 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10552
486a103d
GM
10553 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10554
64f3a166
GM
10555 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10556 (handle_invisible_prop): Record the start of invisible text in
10557 it->add_overlay_start.
10558 (struct overlay_entry): Add member `overlay'.
10559 (handle_overlay_change): Simplify.
10560 (next_overlay_string): After having processed overlay strings at the
10561 end of the buffer, record that fact in
10562 it->overlay_strings_at_end_processed_p.
10563 (compare_overlay_entries): If before- and after-strings come
10564 from the same overlay, let before-strings come first.
10565 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10566 (load_overlay_strings): Take it->add_overlay_start into account
10567 when adding overlay strings.
10568
10569 * dispextern.h (struct it): Add member add_overlay_start.
10570
bb746ea6
DL
105712000-06-22 Dave Love <fx@gnu.org>
10572
10573 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10574
10575 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10576
a8f573f3
KH
105772000-06-22 Kenichi Handa <handa@etl.go.jp>
10578
10579 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10580 is greater than 0.
10581
9f2bbc92
DL
105822000-06-21 Dave Love <fx@gnu.org>
10583
178c5d9c 10584 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10585
3ee5041c
SM
105862000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10587
10588 * syntax.c (back_comment): Simplify string-parity counting (with
10589 the added benefit of handling multiple string-styles as long as
10590 they are not intertwined).
10591 Jump to the slow code as soon as a comment starter is found in
10592 a "string_lossage" position. Fixes the case: " /* " /* " */.
10593
4c343001
DL
105942000-06-21 Dave Love <fx@gnu.org>
10595
10596 * Makefile.in: Use GETLOADAVG_LIBS.
10597
10598 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10599 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10600
e6365855
SM
106012000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10602
10603 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10604 (Fforward_comment, scan_lists):
10605 Check the comstyle of single-char comment-starters.
10606 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10607 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10608 Check the comstyle of single-char comment-starters.
10609 Clarify control-flow around the Scomment case.
e6365855 10610
5700d2cc
DL
106112000-06-20 Dave Love <fx@gnu.org>
10612
d355bd8a
SM
10613 * fns.c (make_hash_table, maybe_resize_hash_table):
10614 Cast arg of next_almost_prime.
5700d2cc 10615
178c5d9c 10616 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10617
10618 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10619 and unistd.h.
10620
4a27bdfb
GM
106212000-06-20 Gerd Moellmann <gerd@gnu.org>
10622
a61d762c 10623 * keyboard.c (adjust_point_for_property): Check if display
52283633 10624 property should be treated as intangible by looking at its value.
a61d762c 10625
178c5d9c 10626 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10627 (display_prop_intangible_p): New functions.
10628
10629 * dispextern.h (display_prop_intangible_p): Add prototype.
10630
10631 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10632
4a27bdfb
GM
10633 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10634 argument to sigprocmask.
10635
10636 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10637 argument to sigprocmask.
10638
10639 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10640 sigprocmask_set, and pass a pointer to it to sigprocmask.
10641
10642 * sysdep.c (sigprocmask_set): New variable.
10643
10644 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10645 report_file_error.
10646
427ec082
SS
106472000-06-20 Sam Steingold <sds@gnu.org>
10648
10649 * xrdb.c: Don't declare xmalloc, xrealloc.
10650
8972fe79 106512000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10652
10653 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10654 (re_comp): Cast gettext return value to avoid complaints when
10655 !HAVE_LIBINTL.
10656
074b6efe
DL
106572000-06-20 Dave Love <fx@gnu.org>
10658
52283633 10659 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10660
5700d2cc 10661 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10662
d355bd8a 10663 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10664
10665 * m/alpha.h: Don't declare xmalloc, xrealloc.
10666
0af4f205
DL
10667 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10668
10669 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10670
10671 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10672
10673 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10674 HAVE_GETWD.
10675
074b6efe
DL
10676 * keyboard.h (poll_for_input_1): Declare.
10677
10678 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10679
10680 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10681
10682 * doprnt.c: Don't declare xmalloc, xrealloc.
10683
10684 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10685 (getenv, ctime, getwd): Removed.
10686 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10687
10688 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10689 x_set_tool_bar_lines.
10690
10691 * config.in: Add HAVE_GETWD. Move some definitions above
10692 machine/system includes.
10693
68a5e97b
KH
106942000-06-20 Kenichi Handa <handa@etl.go.jp>
10695
95417e1e
KH
10696 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10697
68a5e97b
KH
10698 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10699 contain information about ENCODING.
10700
10701 * fontset.c (FONTSET_ASCII): Use the first element of char table
10702 for an ASCII font, not defalt slot.
10703 (fontset_ref_via_base): If FONTSET doesn't contain information for
10704 C, try the default fontset.
10705 (make_fontset): Don't copy the default fontset.
10706 (fontset_font_pattern): Likewise.
10707 (accumulate_font_info): If ELT is nil, use the corresponding
10708 element in the default fontset.
10709
3b4fa1b2
DL
107102000-06-19 Dave Love <fx@gnu.org>
10711
943e731c
DL
10712 * syntax.c (Fparse_partial_sexp): Doc fix.
10713
10714 * regex.h: Test PROTOTYPES as well as __STDC__.
10715
3b4fa1b2
DL
10716 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10717 errno, strerror. Put text after #endif in comment.
10718
52283633 10719 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10720
10721 * xterm.c (x_frame_of_widget): Likewise.
10722
cdf0357b
GM
107232000-06-19 Gerd Moellmann <gerd@gnu.org>
10724
10725 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10726 to Vfundamental_mode_abbrev_table.
10727
10728 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10729 bogus objects are marked. This slows down GC by ~80 percent, but
10730 it might be worth trying when debugging GC-related problems.
10731 This feature requires conservative stack marking to be enabled.
10732
10733 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10734 returns XLookupChars, reset `modifiers' to zero.
10735
998e9f8c
DL
107362000-06-19 Dave Love <fx@gnu.org>
10737
10738 * mktime.c: Unprotoized.
10739
18e21ce8 107402000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10741
10742 * data.c (set_internal): If variable is frame-local,
10743 store the new value immediately into the frame parameter alist.
10744
140c4ac6
KR
107452000-06-19 Ken Raeburn <raeburn@gnu.org>
10746
14358466
KR
10747 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10748 in the custom handler pointer.
10749
140c4ac6
KR
10750 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10751 value, or checks for CHAR_META can fail when Lisp_Object is a
10752 union type.
10753 * keymap.c (get_keyelt): Likewise.
10754
10d7bf84
KH
107552000-06-19 Kenichi Handa <handa@etl.go.jp>
10756
10757 * ccl.h (struct ccl_program): New member eol_type.
10758 (struct ccl_spec): New member cr_carryover.
10759
10760 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10761 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10762
10763 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10764 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10765 (decode_eol_post_ccl): New function.
10766 (decode_coding): Don't detect EOL format here for CCL based coding
10767 systems.
10768 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10769 decode_eol_post_ccl after running the CCL program.
10770 (code_convert_region): Don't detect EOL format here for CCL based
10771 coding systems.
10772 (decode_coding_string): Likewise.
10773
52e386c2
KR
107742000-06-18 Ken Raeburn <raeburn@gnu.org>
10775
10776 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10777 when treating it as an integer.
10778
10779 * coding.h (encode_coding_string): Declare.
10780
10781 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10782 it as an integer.
10783
10784 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10785 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10786 to be passed to get_local_map.
10787
10788 * sound.c (Fplay_sound): Don't call make_number on
10789 Frun_hook_with_args count argument.
10790
10791 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10792 for lisp objects in X event structure data field, when lisp
10793 objects are represented with unions.
10794 (x_scroll_bar_to_input_event): Ditto.
10795
b357b9d4
KR
107962000-06-16 Ken Raeburn <raeburn@gnu.org>
10797
10798 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10799 termination of string. Fix sense of test whether
10800 Vline_number_display_limit is an integer.
b357b9d4 10801
a871441d
GM
108022000-06-16 Gerd Moellmann <gerd@gnu.org>
10803
a9021acd
GM
10804 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10805 only if HAVE_X_WINDOWS.
10806
6344985d
GM
10807 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10808 of titles.
10809
427ec082 10810 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10811 out of bounds.
10812
228b083e
EZ
108132000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10814
10815 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10816 of its headers.
10817
c25b53a2
KH
108182000-06-15 Kenichi Handa <handa@etl.go.jp>
10819
10820 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10821 start of the while loop.
10822
a6981b11
GM
108232000-06-15 Gerd Moellmann <gerd@gnu.org>
10824
e9924e52
GM
10825 * atimer.c (alarm_signal_handler): Add forward declaration.
10826
a6981b11
GM
10827 * data.c (set_internal): Remove debug code.
10828
25fa6deb
GM
108292000-06-14 Gerd Moellmann <gerd@gnu.org>
10830
dce6b995
GM
10831 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10832
9f817ea4
GM
10833 * unexec.c (toplevel) [COFF]: Include coff.h.
10834
10835 * s/lynxos.h: New file.
10836
10837 * keymap.c (Fsingle_key_description): Enclose function key and
10838 event symbol names in angle brackets.
10839
8a4e3c0c
GM
10840 * xdisp.c (setup_echo_area_for_printing): Call
10841 message_log_maybe_newline if message_buf_print is not set.
10842
10843 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10844 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10845 function does something useful even when message_buf_print is
10846 already set.
10847
52283633
SM
10848 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10849 New variables.
25fa6deb
GM
10850 (ensure_echo_area_buffers): Initialize echo buffer's
10851 truncate lines setting to nil.
10852 (with_echo_area_buffer): Don't set the echo buffer's truncate
10853 lines setting here.
8a4e3c0c 10854 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10855 of message_truncate_lines.
10856 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10857 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10858 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10859
10860 * keyboard.c (read_char): Bind message-truncate-lines to t
10861 while displaying a help-echo.
10862
10863 * lisp.h (Qmessage_truncate_lines): External declaration.
10864
163dcff3
GM
108652000-06-13 Gerd Moellmann <gerd@gnu.org>
10866
1681ead6
GM
10867 * xdisp.c (Vline_number_display_limit): Renamed from
10868 line_number_display_limit.
10869 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10870 Extend documentation string. Initialize
10871 Vline_number_display_limit to nil meaning no limit.
10872 (decode_mode_spec): Use Vline_number_display_limit with its new
10873 meaning.
10874
163dcff3
GM
10875 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10876
18e21ce8 108772000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10878
10879 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10880
163dcff3
GM
10881 * xfns.c (x_set_frame_parameters): Comment fix.
10882
10883 * frame.c (store_frame_param): Call swap_in_global_binding if the
10884 variable's current binding was chosen based on this frame.
10885
10886 * data.c (swap_in_global_binding): New function.
10887
a704139d
EZ
108882000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10889
10890 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10891 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10892
9b6610db
EZ
108932000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10894
10895 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10896
c68833d2
JR
108972000-06-12 Jason Rumney <jasonr@gnu.org>
10898
10899 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10900
10901 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10902
10903 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10904
10905 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10906
ed1056b3
GM
109072000-06-12 Gerd Moellmann <gerd@gnu.org>
10908
10909 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10910 (syms_of_xfaces): Defsubr Sdump_colors.
10911 (x_free_colors): Don't treat b&w specially on default visual.
10912 (x_free_dpy_colors): New function.
10913 (free_face_colors): Don't check visual class; it's done
10914 in x_free_colors.
10915
10916 * xterm.c (x_frame_of_widget): New function.
10917 (x_alloc_nearest_color_for_widget): Use it.
10918 (x_copy_dpy_color): New function.
10919 (x_destroy_window): Free various colors.
10920
5050a2ef
KH
109212000-06-12 Kenichi Handa <handa@etl.go.jp>
10922
10923 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10924
10925 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10926
10927 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10928
10929 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10930
10931 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10932
fb1b041d
DL
109332000-06-11 Dave Love <fx@gnu.org>
10934
10935 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10936
ff96b5f4
EZ
109372000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10938
10939 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10940
db8eeecd
GM
109412000-06-11 Gerd Moellmann <gerd@gnu.org>
10942
ed1056b3 10943 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10944 to `XEvent *'.
10945
49b71c5f
KH
109462000-06-10 Kenichi Handa <handa@etl.go.jp>
10947
c479bd55
KH
10948 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10949 (regex_compile): Fix the code for handling the case of single byte
10950 char and multibyte char being mixed in a range within [...].
10951
ff6a65c2
KH
10952 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10953 and dst_multibyte members of coding.
10954
49b71c5f
KH
10955 * charset.c (update_charset_table): Update the table
10956 bytes_by_char_head.
10957 (init_charset_once): Initialize elements of bytes_by_char_head to
10958 1 except for leading codes for private charases.
10959
10960 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10961 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10962
9e80b57d
KR
109632000-06-09 Ken Raeburn <raeburn@gnu.org>
10964
10965 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10966 access the data it doesn't point to.
10967
f83fe4b4
GM
109682000-06-08 Gerd Moellmann <gerd@gnu.org>
10969
10970 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10971 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10972 event queue. This is necessary because Emacs otherwise won't
10973 perform a switch-frame to a new frame until some other event, for
10974 example a keystroke event, forces it to do so. This has various
10975 effects, one visible being that the cursor of a frame created with
10976 C-x 5 2 or switched to with a window manager key binding like
10977 A-TAB stays hollow because selected_window isn't on the newly
10978 focused frame until the switch-frame is performed.
10979
10980 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10981 generating a switch-frame event if necessary.
10982
10983 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10984
10985 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10986 it's an integer.
10987
0890801b
KH
109882000-06-08 Kenichi Handa <handa@etl.go.jp>
10989
52283633 10990 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10991
173cbca8
GM
109922000-06-07 Gerd Moellmann <gerd@gnu.org>
10993
3091c2a6
GM
10994 * window.c (displayed_window_lines): Take empty lines at
10995 the bottom of a window into account.
427ec082 10996
f38952fe
GM
10997 * window.c (displayed_window_lines): New function.
10998 (Fmove_to_window_line): Use displayed_window_lines to determine
10999 the number of lines to move, instead of using the window's height.
11000
11001 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11002 to stop reading, even if the form read sets point to a different
11003 value when evaluated.
11004
427ec082 11005 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11006 put the cursor.
11007
6ba6c818
KH
110082000-06-07 Kenichi Handa <handa@etl.go.jp>
11009
11010 * fileio.c (e_write): Free composition data if stored in
11011 coding->cmp_data.
11012
5f1aea9a
GM
110132000-06-06 Gerd Moellmann <gerd@gnu.org>
11014
666852af
GM
11015 * xdisp.c (display_line): Set row's and iterator's
11016 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11017 Set cursor even if row ends in the middle of a character.
11018 (dump_glyph_row): Print values of new flags.
11019 (redisplay_window) <cursor movement in unchanged window>: When
11020 point has been moved forward, and PT is at the end of the cursor
11021 row, don't place the cursor in the next row if the cursor row ends
11022 in the middle of a character or at ZV.
11023
11024 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11025 (struct glyph_row): Add starts_in_middle_of_char_p and
11026 ends_in_middle_of_char_p.
11027 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11028 ends_in_middle_of_char_p flag.
11029 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11030
d13f3e2e
GM
11031 * term.c (append_glyph): Revert change of 2000-06-06.
11032
11033 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11034 padding glyph not fitting on line as whole character not
11035 fitting on line.
11036
5f1aea9a
GM
11037 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11038 this isn't true for images with `:ascent 100'.
11039
10cda9b0
KH
110402000-06-06 Kenichi Handa <handa@etl.go.jp>
11041
ed00559d
KH
11042 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11043 as modified if it is originally unmodified.
11044
10cda9b0
KH
11045 * term.c (encode_terminal_code): Change the way to check if
11046 terminal coding does any conversion.
11047 (append_glyph): Set glyph->pixel_width correctly.
11048
11049 * xdisp.c (display_line): While checking line continuation, pay
11050 attention to a padding glyph.
11051
1969fae2
GM
110522000-06-05 Gerd Moellmann <gerd@gnu.org>
11053
11054 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11055
162ccef4
DL
110562000-06-05 Dave Love <fx@gnu.org>
11057
f19f32dd
DL
11058 * xdisp.c: Include fontset.h.
11059
11060 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11061
11062 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11063
11064 * dispnew.c: Conditionally include term.h.
11065
11066 * coding.h: Declare code_convert_string_norecord.
11067
11068 * frame.h (struct frame): Use volatile unconditionally.
11069
11070 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11071
11072 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11073
11074 * systime.h: Protect against multiple inclusion.
11075 (timezone) [USG5_4]: Define as time_t.
11076
11077 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11078 (Foptimize_char_table, make_temp_name): Declare.
11079
11080 * Makefile.in (xdisp.o): Depend on fontset.h.
11081
11082 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11083
11084 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11085 (Foptimize_char_table, make_temp_name): Declare.
11086
427ec082 11087 * s/irix4-0.h:
162ccef4
DL
11088 * s/irix5-0.h:
11089 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11090
2082fe81
DL
110912000-06-02 Dave Love <fx@gnu.org>
11092
11093 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11094
dcf671d2
GM
110952000-06-02 Gerd Moellmann <gerd@gnu.org>
11096
11097 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11098 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11099 be freed.
11100
11101 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11102 glyph, use the ASCII NUL character to determine the face.
11103
d42122a3
DL
111042000-06-02 Dave Love <fx@gnu.org>
11105
11106 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11107 (VFORK_RETURN_TYPE): Remove.
427ec082 11108
d42122a3
DL
11109 * config.in: Add NO_MATHERR.
11110
dd432f16
DL
111112000-06-01 Dave Love <fx@gnu.org>
11112
90aa4ea8
DL
11113 * cmds.c (internal_self_insert): Don't check
11114 Vbefore_change_function, Vafter_change_function.
11115
11116 * insdel.c (signal_before_change, signal_after_change): Likewise.
11117
11118 * buffer.c (Vbefore_change_function, Vafter_change_function):
11119 Variables and their initializations deleted.
11120
2330c9d4
DL
11121 * callint.c (Fcall_interactively): Doc fix.
11122
dd432f16
DL
11123 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11124
bf9e8804
DL
111252000-05-31 Dave Love <fx@gnu.org>
11126
11127 * textprop.c: Revert last change -- duplicated.
11128
3694b4ab
GM
111292000-05-31 Gerd Moellmann <gerd@gnu.org>
11130
11131 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11132 in #if 0.
11133
11134 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11135
f14156cd
JR
111362000-05-31 Jason Rumney <jasonr@gnu.org>
11137
8119aab8
JR
11138 * search.c (Fre_search_forward, Fre_search_backward)
11139 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11140
f14156cd
JR
11141 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11142
4aab9be3
JR
111432000-05-30 Jason Rumney <jasonr@gnu.org>
11144
11145 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11146 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11147
52283633 11148 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11149
11150 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11151 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11152 expand a nil default_filename.
11153
11154 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11155 pointer to glyph_to_pixel_coords, not a frame.
11156
11157 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11158 coding.h to dependencies.
11159
11160 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11161
11162 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11163 window pointer to be consistent with w32term.c and xterm.c.
11164
11165 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11166 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11167 (Qline_spacing, Qcenter): New variables.
11168 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11169 (x_set_line_spacing): New function.
52283633 11170 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11171 (x_specified_cursor_type): New function.
11172 (x_set_cursor_type): Use it.
11173 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11174 and icon strings.
11175 (validate_x_resource_name, x_get_resource_string): Measure lengths
11176 of external strings in bytes.
11177 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11178 GetTextExtentPoint32 with NULL title.
11179 (Fx_create_frame): Initialize Qline_spacing.
11180 (w32_load_system_font): Initialize font->double_byte_p.
11181 (x_to_w32_charset): Use Vw32_charset_info_alist.
11182 (Image, busy cursor, tooltip functions): Merged changes from
11183 xfns.c. Not yet functional on Windows.
11184
11185 * w32gui.h (W32FontStruct): Add double_byte_p member.
11186
11187 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11188 (emacs_button_translation): Use it.
11189 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11190 in `mask' to be set.
11191
11192 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11193 menu strings.
11194
11195 * w32term.c: Format and doc changes to bring closer to xterm.c.
11196 (w32_char_font_type): New enum.
11197 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11198 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11199 (w32_encode_char): New function.
11200 (x_encode_char): Removed.
11201 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11202 x_encode_char and w32_font_is_double_byte.
11203 (x_produce_image_glyph): Use image_ascent.
11204 (x_produce_glyphs): Use new version of w32_per_char_metric and
11205 handle NULL return value. Allow extra line spacing.
11206 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11207 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11208 w32_font_type member of glyph instead.
11209 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11210 (fast_find_position): Make sure not to consider rows not visible
11211 in the window.
11212 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11213 w32_menu_display_help with input blocked, as it can abort.
11214 (x_display_and_set_cursor): Choose cursor depending
11215 on buffer-local value of cursor_type.
11216 (x_draw_bar_cursor): Add parameter WIDTH.
11217
11218 * w32term.h (CP_DEFAULT): Define.
11219 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11220
10fc3187
GM
112212000-05-30 Gerd Moellmann <gerd@gnu.org>
11222
11223 * search.c (Fre_search_forward, Fre_search_backward)
11224 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11225
d0555360
KH
112262000-05-30 Kenichi Handa <handa@etl.go.jp>
11227
11228 * coding.c (detect_coding_iso2022): Fix code for checking
11229 CODING_CATEGORY_MASK_ISO_8_2.
11230
f1ad044f
SM
112312000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11232
11233 * regex.c (PREFETCH_NOLIMIT): New function.
11234 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11235
84ec3b4b
GM
112362000-05-29 Gerd Moellmann <gerd@gnu.org>
11237
66254a13
GM
11238 * syntax.c (find_defun_start): Move test for
11239 open_paren_in_column_0_is_defun_start outside of the loop.
11240
49e70dec
GM
11241 * xdisp.c (redisplay_window): Really switch buffers when
11242 displaying mode lines, and temporarily set selected_frame to the
11243 frame of the window that's redisplayed.
11244
84ec3b4b
GM
11245 * xfaces.c (free_realized_faces): Block/unblock input.
11246 (free_realized_multibyte_face): Ditto.
11247
869a3a14
DL
112482000-05-29 Dave Love <fx@gnu.org>
11249
11250 * textprop.c (Qkeymap): New variable.
11251 (syms_of_textprop): Intern it.
11252
11253 * keymap.c: Include intervals.h.
11254 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11255
11256 * Makefile.in (keymap.o): Depend on intervals.h.
11257
11258 * keyboard.c (menu_bar_items, tool_bar_items)
11259 (Fexecute_extended_command): Deal with `keymap' property.
11260 (read_key_sequence): Track map from `keymap' property as well as
11261 `local_map'.
11262
11263 * intervals.c (get_local_map): Extra arg to allow looking for
11264 `keymap' too.
11265
11266 * intervals.h (map_property): New enum.
11267 (get_local_map): Extra arg using it.
11268 (Qkeymap): Declare.
11269
84ec3b4b 11270 * lisp.h (get_local_map): Don't declare here.
869a3a14 11271
89d0c844
KH
112722000-05-29 Kenichi Handa <handa@etl.go.jp>
11273
11274 * Makefile.in (callproc.o): Depend on composite.h.
11275
11276 * callproc.c: Include composite.h.
11277 (Fcall_process): Handle composition correctly.
11278
11279 * coding.h (coding_allocate_composition_data): Extern it.
11280 (coding_restore_composition): Likewise.
11281
11282 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11283 yet allocated, finish decoding with result
11284 CODING_FINISH_INSUFFICIENT_CMP.
11285 (coding_allocate_composition_data): Make it non-static.
11286 (coding_restore_composition): Likewise.
11287
797a084a
EZ
112882000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11289
11290 * charset.c (syms_of_charset): Revert last change.
11291
cf872af5
EZ
112922000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11293
11294 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11295 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11296 Handa.
cf872af5 11297
5b1ae051
EZ
112982000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11299
11300 * charset.c (syms_of_charset): Set width of character sets
11301 eight-bit-control and eight-bit-graphic to 1 column.
11302
34ec9ebe
GM
113032000-05-26 Gerd Moellmann <gerd@gnu.org>
11304
11305 * config.in (HAVE_SPEED_T): New define.
11306
11307 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11308 `extern speed_t'.
11309
dd854dc2
DL
113102000-05-26 Dave Love <fx@gnu.org>
11311
11312 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11313
11314 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11315 (Fsubr_arity): New function.
11316 (syms_of_data): Install them.
11317
ba9f8f95
KH
113182000-05-26 Kenichi Handa <handa@etl.go.jp>
11319
0f3e0672
KH
11320 * charset.c (init_charset_once): Set the table bytes_by_char_head
11321 correctly.
11322
cebefb44
KH
11323 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11324 the default fontset to what Emacs uses by default.
0f3e0672
KH
11325 (check_registry_encoding): This function deleted.
11326 (Fset_fontset_font): Remove the adhoc condition for the default
11327 fontset. Allow cons in FONTNAME.
cebefb44 11328
0f3e0672
KH
11329 * fns.c (map_char_table): Ignore char-table entries for
11330 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11331
7a18af49
KR
113322000-05-25 Ken Raeburn <raeburn@gnu.org>
11333
11334 * emacs.c (main): Initialize keyboard syms before initializing
11335 window code, so face names are available.
11336
d2af47df
SM
113372000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11338
11339 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11340 of an anchor at the beginning of a shy-group.
11341
fc6a6a4e
GM
113422000-05-25 Gerd Moellmann <gerd@gnu.org>
11343
11344 * xdisp.c (handle_invisible_prop): Don't try to skip over
11345 invisible text if end of text is already reached.
11346
005f0d35
DL
113472000-05-25 Dave Love <fx@gnu.org>
11348
02513cdd
DL
11349 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11350
005f0d35
DL
11351 * coding.c (encode_eol): Add null statement after label.
11352
89f6ca4e
EZ
113532000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11354
11355 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11356 2000-05-20.
11357
a4e1759e
KH
113582000-05-25 Kenichi Handa <handa@etl.go.jp>
11359
11360 * ccl.c (ccl_driver): Fix previous change.
11361
eacfd7fe
KH
113622000-05-25 Kenichi Handa <handa@etl.go.jp>
11363
46ab33a9
KH
11364 * coding.c (run_pre_post_conversion_on_str): Set point to the
11365 beginning of buffer before calling coding->post_read_conversion.
11366 (decode_coding_string): Give correct args to
11367 run_pre_post_conversion_on_str.
11368 (encode_coding_string): Likewise.
11369
eacfd7fe
KH
11370 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11371 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11372 eight-bit-graphic correctly.
11373
f8569325
DL
113742000-05-24 Kenichi HANDA <handa@etl.go.jp>
11375
11376 * fileio.c (Finsert_file_contents): Even if a file is not found,
11377 execute codes for setting up coding system. Call
11378 after-insert-file-functions unconditionally.
11379
04545643
GM
113802000-05-24 Gerd Moellmann <gerd@gnu.org>
11381
11382 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11383 BSD_PGRPS are not defined.
11384
747d90ea
KH
113852000-05-24 Kenichi Handa <handa@etl.go.jp>
11386
11387 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11388 DESCRIPTION.
11389 (syms_of_charset): Avoid building same strings.
11390
716e3b88
GM
113912000-05-23 Gerd Moellmann <gerd@gnu.org>
11392
11393 * lread.c (Fload): Add a comment about the meaning of
11394 Vuser_init_file being t.
11395
11396 * puresize.h (BASE_PURESIZE): Increase to 675000.
11397
11398 * s/gnu-linux.h (setpgrp): Don't define it here because this
11399 prevents compilation on GNU/Linux systems with glib 2.2.
11400
11401 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11402 as setpgid.
427ec082 11403
9aeb39fa
EZ
114042000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11405
11406 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11407 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11408 version.
11409 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11410
29ced61b
KH
114112000-05-23 Kenichi Handa <handa@etl.go.jp>
11412
52283633 11413 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11414
3d80f24d
KH
11415 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11416
52283633 11417 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11418
29ced61b
KH
11419 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11420
d7e00792
KH
114212000-05-22 Kenichi Handa <handa@etl.go.jp>
11422
c9d80d38
KH
11423 * keyboard.c (read_char): Allow character codes 128..255 to be
11424 handled by input-method-function.
11425
d7e00792
KH
11426 * insdel.c (adjust_markers_for_replace): Fix previous change.
11427 (adjust_after_replace): If PREV_TEXT is nil, call
11428 adjust_markers_for_insert, not adjust_markers_for_replace.
11429
087121cc 114302000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11431
087121cc
GM
11432 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11433 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11434 [HAVE_GRANDPT]: Define.
11435 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11436
11437 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11438 like SYSV_PTYS.
11439
11440 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11441
11442 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11443
c9671f81
KH
114442000-05-20 Kenichi Handa <handa@etl.go.jp>
11445
11446 The following changes are to handle 8-bit characters in a
11447 multibyte buffer/string without facing with byte combining
11448 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11449 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11450
11451 * Makefile.in (fns.o): Depend on charset.h.
11452
11453 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11454 convert it to unibyte.
11455 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11456
11457 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11458 apparent char boundary.
11459 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11460 0x80..0x9F to/from multibyte form.
11461
11462 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11463 to unibyte.
11464
11465 * callproc.c (Fcall_process): Always encode an argument string if
11466 it is multibyte. Setup src_multibyte and dst_multibyte members of
11467 process_coding properly.
ce75fd23 11468
c9671f81
KH
11469 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11470 SPLIT_NON_ASCII_CHAR.
11471
11472 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11473 as is.
11474 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11475
52283633 11476 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11477 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11478 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11479 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11480 and eight-bit-graphic.
11481 (char_to_string): Likewise. Signal an error for too large
11482 character code.
11483 (char_printable_p): Return 0 for 8-bit characters.
11484 (update_charset_table): Update iso_charset_table only when a final
11485 character is non-negative.
11486 (find_charset_in_text): Renamed from find_charset_in_str.
11487 Arguments and return value changed. Callers changed.
11488 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11489 be -1 if CHARSET is used only internally.
11490 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11491 eight-bit-graphic.
11492 (Fcharset_after): Simplified.
11493 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11494 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11495 (multibyte_chars_in_text): Simplified by assuming there's no
11496 invalid multibyte sequence.
52283633
SM
11497 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11498 (str_as_unibyte): New functions.
11499 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11500 (init_charset_once): Initialization for
11501 LEADING_CODE_8_BIT_CONTROL.
11502 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11503 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11504 eight-bit-control and eight-bit-graphic.
11505
52283633
SM
11506 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11507 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11508 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11509 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11510 (CHARSET_REVERSE_CHARSET): Likewise.
11511 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11512 eight-bit-graphic.
11513 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11514 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11515 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11516 encounter an invalid multibyte sequence.
11517 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11518 sequence is always valid.
11519 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11520 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11521 (CHAR_STRING): For 8-bit characters, call char_to_string.
11522 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11523 multibyte sequence is always valid.
11524 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11525 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11526 (str_as_unibyte): Extern them.
c9671f81 11527 (BCOPY_SHORT): Fix a bug.
52283633 11528 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11529 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11530 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11531 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11532
bd4bde7f 11533 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11534 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11535 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11536 (EMIT_BYTES): New macros.
11537 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11538 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11539 macros deleted.
11540 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11541 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11542 check the validity of multibyte sequence.
11543 (decode_coding_emacs_mule): New function.
11544 (encode_coding_emacs_mule): New macro.
11545 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11546 the source.
11547 (DECODE_ISO_CHARACTER): Just return a character code.
11548 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11549 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11550 EMIT_CHAR to produced decoded characters. Exit the loop only by
11551 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11552 block here.
11553 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11554 only position codes for an invalid character.
11555 (encode_designation_at_bol): Return new destination pointer. 5th
11556 arg DSTP is changed to DST.
11557 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11558 from the source by ONE_MORE_CHAR. Don't handle the case of last
11559 block here.
11560 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11561 macros deleted.
52283633
SM
11562 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11563 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11564 TWO_MORE_BYTES to fetch a byte from the source.
11565 (encode_eol): Pay attention to coding->src_multibyte.
11566 (detect_coding, detect_eol): Preserve members src_multibyte and
11567 dst_multibyte.
11568 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11569 (encoding_buffer_size): Set magnification to 3 for all coding
11570 systems that require encoding.
11571 (ccl_coding_driver): For decoding, be sure that the result is
11572 valid multibyte sequence.
11573 (decode_coding): Initialize coding->errors and coding->result.
11574 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11575 and raw-text, always call decode_eol. Handle the case of last
11576 block here. If not coding->dst_multibyte, convert the resulting
11577 sequence to unibyte.
11578 (encode_coding): Initialize coding->errors and coding->result.
11579 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11580 and raw-text, always call encode_eol. Handle the case of last
11581 block here.
11582 (shrink_decoding_region, shrink_encoding_region): Detect cases
11583 that we can't skip data more rigidly.
11584 (code_convert_region): Setup src_multibyte and dst_multibyte
11585 members of coding. For decoding, if the buffer is multibyte,
11586 convert the source sequence to unibyte in advance. For encoding,
11587 if the buffer is multibyte, convert the resulting sequence to
11588 multibyte afterward.
11589 (run_pre_post_conversion_on_str): New function.
11590 (code_convert_string): Deleted and divided into the following two.
11591 (decode_coding_string, encode_coding_string): New functions.
11592 (code_convert_string1, code_convert_string_norecord): Call one of
11593 above.
11594 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11595 MAKE_NON_ASCII_CHAR.
52283633
SM
11596 (Fset_terminal_coding_system_internal)
11597 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11598 and dst_multibyte members.
11599 (init_coding_once): Initialize iso_code_class with new enum
11600 ISO_control_0 and ISO_control_1.
11601
11602 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11603 devided into ISO_control_0 and ISO_control_1.
11604 (struct coding_system): New members src_multibyte, dst_multibyte,
11605 errors, and result. Delete member fake_multibyte.
11606 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11607 nonzero.
11608 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11609 nonzero.
11610
11611 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11612 (Faset): Likewise.
11613
11614 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11615 multibyte form.
11616 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11617 combining occurs.
11618 (Ftranspose_region): Delete codes for handling byte combining.
11619
11620 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11621 dst_multibyte members of coding. On handling REPLACE on unibyte
11622 buffer, convert the result of decode_coding to unibyte. On
11623 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11624 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11625 multibyteness of the source (buffer or string).
11626
11627 * fns.c (concat): Handle 8-bit characters correctly.
11628 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11629 unibyte in the result.
11630 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11631 valid multibyte form in the result.
11632 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11633 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11634 return -1, signal an error.
11635 (base64_encode_1): New arg MULTIBYTE. Get each character by
11636 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11637 character is found, return -1.
11638 (Fbase64_decode_region): Delete codes for handling byte-combining.
11639 Treat each decoded byte as a unibyte character.
11640 (Fbase64_decode_string): Return unibyte string.
11641 (Fcompare_strings, concat, string_byte_to_char): Use
11642 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11643 FETCH_STRING_CHAR_ADVANCE.
11644 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11645 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11646
11647 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11648 SPLIT_NON_ASCII_CHAR.
11649 (fontset_ref_via_base, fontset_set): Likewise
11650
11651 * insdel.c (adjust_markers_for_record_delete): Deleted.
11652 (adjust_markers_for_insert): Argument changed. Caller changed.
11653 (adjust_markers_for_replace): Likewise.
52283633
SM
11654 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11655 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11656 (copy_text): Delete unused local varialbe c_save. For converting
11657 to multibyte, be sure to make all 8-bit characters in valid
11658 multibyte form.
11659 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11660 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11661 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11662 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11663 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11664 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11665 handling byte combining.
11666 (adjust_before_replace): Deleted.
427ec082 11667
c9671f81
KH
11668 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11669 SPLIT_NON_ASCII_CHAR.
11670 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11671 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11672 (Fkey_description): Likewise.
11673
11674 * lread.c (read1): On reading multibyte string, be sure to make
11675 all 8-bit chararacters in valid multibyte form.
11676 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11677
11678 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11679 unconditionally.
11680
11681 * process.c (Fstart_process): GCPRO current_dir before calling
11682 Ffind_operation_coding_system. Encode arguments here.
11683 (create_process): Don't encode arguments here. Setup
11684 src_multibyte and dst_multibyte members of struct coding.
11685 (read_process_output): Setup src_multibyte and dst_multibyte
11686 members of struct coding. If the output is to multibyte buffer,
11687 always decode the output of the process. Adjust the
52283633 11688 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11689 (send_process): Setup coding->src_multibyte according to the
11690 multibyteness of the source.
11691
52283633 11692 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11693 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11694 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11695
52283633 11696 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11697
11698 * w16select.c (Fw16_set_clipboard_data): Setup members
11699 src_multibyte and dst_multibyte of coding. Adjusted for the
11700 change for find_charset_in_str.
11701 (Fw16_get_clipboard_data): Likewise.
11702
11703 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11704 dst_multibyte of coding.
11705 (x_to_w32_font): Likewise.
11706
11707 * w32select.c (Fw32_set_clipboard_data): Setup members
11708 src_multibyte and dst_multibyte of coding. Adjusted for the
11709 change for find_charset_in_str.
11710 (Fw32_get_clipboard_data): Likewise.
11711
11712 * xdisp.c (get_next_display_element): Handle 8-bit characters
11713 correctly.
52283633
SM
11714 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11715 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11716
11717 * xselect.c (selection_data_to_lisp_data): Setup members
11718 src_multibyte and dst_multibyte of coding. Adjusted for the
11719 change for find_charset_in_str.
11720 (lisp_data_to_selection_data): Likewise.
11721
5f64c9e0
GM
117222000-05-19 Gerd Moellmann <gerd@gnu.org>
11723
52283633 11724 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11725
5f64c9e0
GM
11726 * dispextern.h (Vimage_types): Add extern declaration.
11727
11728 * xdisp.c (Vimage_types): Moved here from xfns.c.
11729 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11730
11731 * xfns.c (Vimages_types): Moved to xdisp.c.
11732 (syms_of_xfns): Move `image-types' to xdisp.c.
11733
11734 * w32fns.c (Vimage_types): Removed.
11735 (syms_of_w32fns): Remove `image-types'.
11736
813086ea
KH
117372000-05-18 Kenichi Handa <handa@etl.go.jp>
11738
11739 * fns.c (map_char_table): Pay attention to character number of
11740 charset. Check the validity of charset at the first level. For
11741 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11742 the default value.
11743
11744 * fontset.c: Include "buffer.h".
11745 (fs_load_font): If the face has fontset, record the face ID in
11746 that fontset.
11747 (Finternal_char_font): New function.
11748 (accumulate_font_info): New function.
11749 (Ffontset_info): Rewritten for the new fontset implementation.
11750 (syms_of_fontset): Register Vdefault_fontset in the first element
11751 of Vfontset_table. Include Vdefault_fontset in
11752 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11753 function.
11754
bdaebbf0
DL
117552000-05-16 Dave Love <fx@gnu.org>
11756
11757 * m/iris5d.h: Deleted -- unused.
11758
cb613bb8
GM
117592000-05-16 Gerd Moellmann <gerd@gnu.org>
11760
b15f3b77
GM
11761 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11762 `invalid' instead of `illegal'.
11763
11764 * indent.c (Fmove_to_column): When ending within a tab, insert
11765 spaces first so that markers at the end of the tab get adjusted.
11766
835c1b36
GM
11767 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11768 buffer list that wasn't selected in that frame.
11769
cb613bb8
GM
11770 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11771 is needed on mescaline, use a 2 char prefix, and call
11772 make_temp_name with second arg non-zero.
11773
11774 * fileio.c (make_temp_name): New function, extracted from
11775 Fmake_temp_name.
11776 (Fmake_temp_name): Use it.
11777
f685bea9
EZ
117782000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11779
52283633 11780 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11781
a1b8d58b
GM
117822000-05-15 Gerd Moellmann <gerd@gnu.org>
11783
11784 * Makefile.in (lisp): Add env.elc.
11785
11786 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11787
a265079f
GM
117882000-05-12 Gerd Moellmann <gerd@gnu.org>
11789
11790 * search.c (Freplace_match): Handle case of `\N' in the
11791 replacement when there's no group N.
11792
da4496b6
GM
117932000-05-11 Gerd Moellmann <gerd@gnu.org>
11794
0ace421a
GM
11795 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11796 of the message to message_dolog.
11797
1172eb8d
GM
11798 * keyboard.c (read_char): Don't clear current message for help
11799 events; let the code handling help events handle this. Change
11800 code detecting help events that should be ignored.
11801
da4496b6
GM
11802 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11803 we're interating over a string.
11804
0623e40f
DL
118052000-05-09 Dave Love <fx@gnu.org>
11806
11807 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11808 that offset before writing. Move gcpro region past call of
11809 Ffile_regular_p.
11810
bae2503b
DL
118112000-05-04 Dave Love <fx@gnu.org>
11812
11813 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11814
ec82fb2f
GM
118152000-05-04 Gerd Moellmann <gerd@gnu.org>
11816
11817 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11818 of inserted characters when BUF equals the current buffer, and PT
11819 is in front of or equal to FROM.
11820
cbf18892
GM
118212000-05-03 Gerd Moellmann <gerd@gnu.org>
11822
4ff40dd0
GM
11823 * xdisp.c (handle_single_display_prop): If display property value
11824 is invalid, or something not supported on the frame, restore
11825 iterator's position to what it was initially. Make sure to return
11826 0 for invalid and unsupported property values.
11827
cbf18892
GM
11828 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11829 that x_per_char_metric returns null.
11830
1b0672c3
GM
118312000-05-02 Gerd Moellmann <gerd@gnu.org>
11832
576da55d
GM
11833 * xterm.h (struct face): Add forward declaration.
11834 (struct image): Ditto.
11835 (image_ascent): Add prototype.
11836
11837 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11838 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11839 image_ascent instead of using IMAGE_ASCENT.
11840
11841 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11842 (IMAGE_ASCENT): Removed.
11843
11844 * xfns.c (Qcenter): New variable.
11845 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11846 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11847 (image_ascent): New function.
11848 (lookup_image): Recognize `:ascent center'.
11849 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11850 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11851 (xbm_load): Don't set image's ascent here.
11852 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11853 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11854 check ascent values here.
11855 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11856 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11857 (syms_of_xfns): Initialize Qcenter.
11858
1b0672c3
GM
11859 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11860 to the limits, increase the limits.
11861
0d7811ed
KH
118622000-05-01 Kenichi Handa <handa@etl.go.jp>
11863
11864 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11865 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11866
a943a5ca
GM
118672000-04-28 Gerd Moellmann <gerd@gnu.org>
11868
11869 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11870 taller than the window.
11871
5dba1e29
KH
118722000-04-28 Kenichi Handa <handa@etl.go.jp>
11873
11874 * xfaces.c (realize_x_face): Fix the argument of the second
11875 xassert. BASE_FACE may not be a face for ASCII.
11876
353964e3
GM
118772000-04-27 Gerd Moellmann <gerd@gnu.org>
11878
c76e04a8
GM
11879 * print.c (print_object): Treat print-length < 0 as nil.
11880
11881 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11882
11883 * s/freebsd.h (TERMCAP_OBJ): Removed.
11884 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11885
11886 * lread.c (read1): Don't treat period followed by certain
11887 characters as symbol start.
11888
11889 * xfns.c (slurp_file): New function.
11890 (xbm_image_p): Handle case of in-memory XBM files.
11891 (xbm_scan): Rewritten to work on memory buffers instead of files.
11892 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11893 Work on memory buffers instead of files. If DATA is null test
11894 if buffer looks like an in-memory XBM file.
11895 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11896 memory buffers instead of files.
11897 (xbm_file_p): New function.
11898 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11899
353964e3
GM
11900 * lread.c (end_of_file_error): New function.
11901 (read1): Call it instead of signaling `end-of-file' directly.
11902
427ec082 11903 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11904 with Fprinc instead of Fprin1.
11905
24d744ac
KR
119062000-04-26 Ken Raeburn <raeburn@gnu.org>
11907
11908 * window.c (freeze_window_start): Check that minibuffer scroll
11909 window isn't nil before extracting the window structure pointer
11910 from it.
11911
11912 * undo.c (record_delete): If we hit the end of the undo list, stop
11913 picking elements apart.
11914
7464346d
GM
119152000-04-26 Gerd Moellmann <gerd@gnu.org>
11916
11917 * xdisp.c (display_line): If lines are continued, restore
11918 iterator's ascent/descent information to the values before the
11919 first glyph not fitting on the line.
11920
612839b6
GM
119212000-04-25 Gerd Moellmann <gerd@gnu.org>
11922
11923 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11924 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11925
11926 * dispnew.c (increment_matrix_positions): Renamed from
11927 increment_glyph_matrix_buffer_positions.
11928 (increment_row_positions): Renamed from
11929 increment_glyph_row_buffer_positions.
11930
11931 * dispextern.h: Change names of renamed functions from dispnew.c
11932 in prototypes.
11933
cc181e95
GM
119342000-04-24 Gerd Moellmann <gerd@gnu.org>
11935
abfcc168
GM
11936 * fileio.c (Fdo_auto_save): Create directories for auto-save
11937 list file if necessary.
11938
cc181e95
GM
11939 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11940 from buffer or frame.
11941 (automatic_hscrolling_p): New variable.
11942 (hscroll_windows): Scroll windows horizontally only if automatic
11943 hscrolling is allowed.
11944 (syms_of_xdisp): New variable `automatic-hscrolling'.
11945
11946 * frame.h (struct frame): Add member extra_line_spacing.
11947
11948 * xfns.c (x_set_line_spacing): New function.
11949 (Fx_create_frame): Set line spacing from resources.
11950 (Qline_spacing): New variable.
11951 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11952
cc181e95
GM
11953 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11954
11955 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11956 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11957 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11958 extra_line_spacing from default value.
11959 (init_buffer_once): Initialize default value of extra_line_spacing.
11960
11961 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11962 and extra3.
11963
11964 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11965 prompt_width. Add extra line spacing.
11966
11967 * term.c (produce_glyphs): Remove reference to struct it's
11968 prompt_width.
11969
11970 * dispextern.h (struct it): Remove member prompt_width, add
11971 extra_line_spacing.
11972
58827478
GM
119732000-04-22 Gerd Moellmann <gerd@gnu.org>
11974
11975 * dispnew.c (update_frame_line): When writing a whole line, make
11976 sure cursor is in the right row afterwards, otherwise a use of
11977 capability `ch' in cmgoto might leave the cursor in the row below.
11978
25a87f42
GM
119792000-04-21 Gerd Moellmann <gerd@gnu.org>
11980
11981 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11982
11983 * keyboard.c (timer_check): Fix typo in comment.
11984
54edf5c2
KH
119852000-04-21 Kenichi Handa <handa@etl.go.jp>
11986
11987 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11988 name change: ch -> character.
11989
3a64eef5
GM
119902000-04-20 Gerd Moellmann <gerd@gnu.org>
11991
11992 * keyboard.c (echo_message_buffer): New variable.
11993 (echo_now): Set echo_message_buffer to the echo area buffer used
11994 to display the echo.
11995 (cancel_echoing): Reset echo_message_buffer to nil.
11996 (read_char): Code rewritten that handles canceling an echo or
11997 echoing a dash, respectively.
11998
11999 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12000 directory doesn't exist.
12001
6142fdcb
DL
120022000-04-19 Dave Love <fx@gnu.org>
12003
12004 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12005 (concat): Don't allow numeric args.
12006 (Fconcat): Doc change.
6142fdcb 12007
ac6b5352
SM
120082000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12009
12010 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12011 instead define end_match(1|2) more carefully.
12012 Use GET_CHAR_BEFORE_2 for `begline'.
12013
cb9215e4
GM
120142000-04-19 Gerd Moellmann <gerd@gnu.org>
12015
5e3dac3f
GM
12016 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12017 on 64-bit systems where NULL is defined as `0'.
12018
12019 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12020 the `variable argument list' to make it work on Alpha.
12021
cb9215e4
GM
12022 * m/alpha.h (_LP64) [!_LP64]: Define.
12023 (ORDINARY_LINK): Define for NetBSD.
12024
12025 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12026
f532dca0
DL
120272000-04-19 Dave Love <fx@gnu.org>
12028
c750667e
DL
12029 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12030 change.
12031
12032 * Makefile.in (LIBS): Don't use.
12033 (GETLOADAVG_OBJ): Define again.
12034 (otherobj): Add GETLOADAVG_OBJ.
12035
f532dca0
DL
12036 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12037
1c7e22fd
GM
120382000-04-18 Gerd Moellmann <gerd@gnu.org>
12039
f6d3257b
GM
12040 * lread.c (read_filtered_event): Cancel and start busy cursor.
12041
427ec082 12042 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12043 that the per-character metrics may be null.
12044
e10f64e7
GM
120452000-04-17 Gerd Moellmann <gerd@gnu.org>
12046
0daee095
GM
12047 * buffer.c (clone_per_buffer_values): New function.
12048 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12049 clone_per_buffer_values if CLONE is not nil.
12050
e10f64e7
GM
12051 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12052
38687d43
DL
120532000-04-16 Dave Love <fx@gnu.org>
12054
12055 * Makefile.in: Remove obsolete localcpp stuff.
12056 (GETLOADAVG_OBJ): Don't define.
12057 (obj): Move LIBOBJS...
12058 (otherobj): ... to here.
12059 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12060 whitespace-only lines after the continuation (Irix).
12061
c21c7262
GM
120622000-04-14 Gerd Moellmann <gerd@gnu.org>
12063
12064 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12065
12066 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12067
314767c0
DL
120682000-04-14 Dave Love <fx@gnu.org>
12069
12070 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12071 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12072 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12073 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12074 NLIST_STRUCT.
12075
12076 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12077 autoconfiscated HAVE_GETLOADAVG.
12078
12079 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12080 BROKEN_MKTIME.
12081
a2522dca
GM
120822000-04-14 Gerd Moellmann <gerd@gnu.org>
12083
12084 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12085 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12086
33744b5d
DL
120872000-04-14 Dave Love <fx@gnu.org>
12088
c21c7262 12089 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12090 (INTERVAL_SRC): Convert to make variable.
12091 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12092 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12093 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12094 add LIBOBJS.
12095 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12096 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12097 (shortlisp): Add facemenu, float-sup, frame.
12098 (SOME_MACHINE_LISP): Remove them from here.
12099 (LIBES): Change unused LDLIBS to autoconf LIBS.
12100
12101 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12102
9d3d5916
KH
121032000-04-14 Kenichi Handa <handa@etl.go.jp>
12104
12105 * composite.c (update_compositions): If FROM and TO are not in a
12106 valid range, do nothing.
12107
198e3c7a
GM
121082000-04-13 Gerd Moellmann <gerd@gnu.org>
12109
52283633 12110 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12111
52283633 12112 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12113
12114 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12115 as TERMCAP_OBJ.
12116
055a28c9
EZ
121172000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12118
12119 * fileio.c (a_write): Remove redundant semi-colons.
12120 (e_write): Return -1 if failed to write all the data.
12121 This fixes the changes made at 1999-12-15.
12122
f5c75033
DL
121232000-04-12 Dave Love <fx@gnu.org>
12124
12125 * fns.c (mapcar1): Test for null vals to support mapc.
12126 (Fmapc): New function.
12127
0c3cfc51
EZ
121282000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12129
12130 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12131 (IT_frame_up_to_date): Support the buffer local value of
12132 cursor-type, if defined.
12133
33465a31
DL
121342000-04-10 Dave Love <fx@gnu.org>
12135
12136 * editfns.c (preceding-char, following-char): Doc fix.
12137
6ed56568
KR
121382000-04-10 Ken Raeburn <raeburn@gnu.org>
12139
12140 * Makefile.in (temacs): Revert 2000-03-12 change.
12141
7cf80d4e
JR
121422000-04-10 Jason Rumney <jasonr@gnu.org>
12143
12144 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12145
34f3f342
GM
121462000-04-10 Gerd Moellmann <gerd@gnu.org>
12147
1a1b1895
GM
12148 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12149 area buffer, if it's not set up yet.
12150
34f3f342
GM
12151 * indent.c (compute_motion): Set immediate_quit.
12152
be0dbdab
GM
121532000-04-09 Gerd Moellmann <gerd@gnu.org>
12154
52283633 12155 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12156 (realize_tty_face): Suppress boldness if colors are the inverse of
12157 the default colors, and tty_suppress_bold_inverse_default_colors_p
12158 is set.
12159 (Ftty_suppress_bold_inverse_default_colors): New function.
12160 (syms_of_xfaces): Defsubr it.
12161
be0dbdab
GM
12162 * buffer.c (Frestore_buffer_modified_p): New function.
12163 (syms_of_buffer): Defsubr it.
12164
e8413c3b
KR
121652000-04-08 Ken Raeburn <raeburn@gnu.org>
12166
87f67317
KR
12167 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12168 charset id (int) argument, not a charset (Lisp_Object).
12169
e8413c3b
KR
12170 * coding.h (code_convert_string): Declare.
12171 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12172 object, as the fourth argument to code_convert_string.
12173
52283633 12174 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12175 (Fset_fontset_font): Use EQ to compare lisp objects.
12176
7c752c80
KR
121772000-04-05 Ken Raeburn <raeburn@gnu.org>
12178
c0333abc
KR
12179 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12180 a pointer that looks like a lisp object.
12181 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12182 zero, instead see whether it's an integer object, since they can't
12183 have intervals.
12184 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12185
52283633
SM
12186 * dispnew.c (allocate_matrices_for_frame_redisplay)
12187 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12188 to convert between (unsigned) int values and lisp integers.
12189 * keyboard.c (read_key_sequence): Likewise.
12190 * lread.c (substitute_object_recurse): Likewise.
12191 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12192 * minibuf.c (do_completion, Fminibuffer_complete_word)
12193 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12194 * term.c (produce_special_glyphs): Likewise.
12195
12196 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12197 * print.c (print_preprocess, print_object): Likewise.
12198
12199 * search.c (compile_pattern): Use NILP when checking for nil.
12200
74e49b38
KR
12201 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12202 __OPTIMIZE__]: Provide a GNU C macro version that handles
12203 lisp-object unions.
12204 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12205 field, to better cope with ENABLE_CHECKING and calls that modify a
12206 Lisp_Object using its old value.
12207
685e5ed2
GM
122082000-04-04 Gerd Moellmann <gerd@gnu.org>
12209
c407c570
GM
12210 * window.c (compare_window_configurations): Signal an error
12211 if parameters C1 or C2 aren't window configurations.
12212
685e5ed2
GM
12213 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12214 AFTER_POTENTIAL_GC calls around calls to functions that can
12215 signal an error and thus invoke the debugger.
12216
587a49ab
GM
122172000-04-03 Gerd Moellmann <gerd@gnu.org>
12218
62f20204
GM
12219 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12220 an error if decoding fails.
12221
587a49ab
GM
12222 * keyboard.c (lispy_mouse_names): Variable removed.
12223 (Vlispy_mouse_stem): New variable.
12224 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12225 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12226 for any mouse button number. Increase size of mouse_syms and
12227 button_down_location as needed. Call modify_event_symbol with
12228 different arguments.
12229 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12230 Call modify_event_symbol with different arguments.
12231 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12232 for any button number. Call modify_event_symbol with different
12233 arguments.
12234 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12235 Accept a string for NAME_ALIST_OR_STEM.
12236
12237 * lisp.h (larger_vector): Add prototype.
12238
12239 * fns.c (larger_vector): Make externally visible.
12240
12241 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12242
2d1675e4
SM
122432000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12244
12245 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12246 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12247 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12248 we are between str1 and str2.
12249 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12250 (PATFETCH): Use `TRANSLATE'.
12251 (PATFETCH_RAW): Fetch multibyte char if applicable.
12252 (PATUNFETCH): Remove.
12253 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12254 When writing a char, write it directly into the pattern buffer rather
12255 than going needlessly through a temp char-array.
12256 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12257 multibyte magic and remove the useless `#ifdef emacs'.
12258 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12259 buffer.
12260
12261 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12262 conditional on `emacs'.
12263
12264 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12265
cc2d8c6b
KR
122662000-04-01 Ken Raeburn <raeburn@gnu.org>
12267
12268 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12269 non-union-type versions of XMARK and friends here, because XMARK
12270 and friends won't work on an integer field if NO_UNION_TYPE is not
12271 defined.
52283633 12272 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12273
52283633 12274 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12275 (syms_of_composite): Delete local var NARGS, pass an int as first
12276 argument to Fmake_hash_table.
12277
2387b382
KR
12278 * editfns.c (text_property_stickiness): Use NILP to test
12279 Lisp_Object boolean value.
12280 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12281 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12282 problems reading from and changing the same lisp value in an
12283 XSETSTRING call.
12284
27660e89
GM
122852000-04-01 Gerd Moellmann <gerd@gnu.org>
12286
12287 * term.c (TN_no_color_video): New variable.
12288 (term_init): Intitialize TN_no_color_video.
12289 (enum no_color_bit): New enumeration.
12290 (MAY_USE_WITH_COLORS_P): New macro.
12291 (turn_on_face): Use it to determine if attributes may be used
12292 combined with colors.
12293
3578db3c
KR
122942000-04-01 Ken Raeburn <raeburn@gnu.org>
12295
12296 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12297 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12298 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12299 proper accessor macros.
12300 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12301 (grow_mini_window): Fix typo getting int value of root->height.
12302
6fc556fd
KR
12303 * xdisp.c (compute_string_pos): Fix order of arguments to
12304 string_pos_nchars_ahead.
12305 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12306 count arg to variable-arg routines like Frun_hook_with_args and
12307 Fformat.
587a49ab
GM
12308 (back_to_previous_visible_line_start)
12309 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12310 fixed-arg routines like Fget_char_property and Fmake_string.
12311 (reconsider_clip_changes): Use XINT when comparing integer lisp
12312 objects, or passing them as int arguments.
587a49ab
GM
12313 (mark_window_display_accurate, insert_left_trunc_glyphs)
12314 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12315 storing or passing integer values as lisp objects.
12316 (set_cursor_from_row, highlight_trailing_whitespace): Use
12317 INTEGERP, not implicit test against zero, for glyph object.
12318 (try_window_id): Don't use make_number when we want an int value.
12319
12320 * xfaces.c (xlfd_symbolic_value): Make last argument a
12321 Lisp_Object, to be consistent with callers.
12322 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12323 (lface_hash): Apply XFASTINT to lisp values before folding in.
12324
12325 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12326 fill in window width and height. Pass an int, not a lisp object,
12327 as first arg to Finsert.
12328
6e7b2457
GM
123292000-04-01 Gerd Moellmann <gerd@gnu.org>
12330
610d841e
GM
12331 * xfaces.c (realize_basic_faces): Block input while realizing
12332 the faces.
12333
6e7b2457
GM
12334 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12335
12336 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12337
aa110c0c
GM
123382000-03-31 Gerd Moellmann <gerd@gnu.org>
12339
12340 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12341 or ASCII, handle case that per-char metric is null.
aa110c0c 12342
8801a864
KR
123432000-03-30 Ken Raeburn <raeburn@gnu.org>
12344
c6129d7e
KR
12345 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12346
52283633
SM
12347 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12348 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12349 pointer, using eassert.
12350 * frame.h (XFRAME): Likewise.
12351
52283633
SM
12352 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12353 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12354 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12355 * data.c (set_internal): Likewise.
52283633
SM
12356 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12357 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12358 * fileio.c (auto_save_1): Likewise.
12359 * insdel.c (check_markers): Likewise.
12360 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12361 * undo.c (record_insert): Likewise.
12362 * vmsproc.c (child_sig): Likewise.
12363 * window.c (unshow_buffer, window_loop): Likewise.
12364 * xterm.c (x_erase_phys_cursor): Likewise.
12365
8e7af858
GM
123662000-03-30 Gerd Moellmann <gerd@gnu.org>
12367
12368 * xfns.c (free_image_cache): Free the cache structure itself
12369 last, after all its members have been freed.
12370
12371 * lisp.h (xstrdup): Add prototype.
12372
12373 * alloc.c (xstrdup): Moved here from xfaces.c.
12374 (allocating_for_lisp): Variable removed.
52283633 12375 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12376
12377 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12378 of Fsymbol_value.
12379 (xstrdup): Moved to alloc.c.
12380
e0b8c689
KR
123812000-03-29 Ken Raeburn <raeburn@gnu.org>
12382
b96f9fb7
KR
12383 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12384
12385 * emacs.c (main): Fix sense of no-loadup test.
12386
e0b8c689
KR
12387 * config.in (ENABLE_CHECKING): Undef.
12388
12389 * lisp.h (struct interval): Replace "parent" field with a union of
12390 interval pointer and Lisp_Object; add new bitfield to use as
12391 discriminant. Change other flag fields to bitfields.
12392 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12393 is defined and the supplied test fails, print a message and abort.
12394 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12395
12396 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12397 pointers; abort if the value looks like a lisp object.
52283633
SM
12398 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12399 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12400 Modify for new interval parent definition.
12401
52283633
SM
12402 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12403 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12404 addressable lisp object in the interval structure.
12405 (die): New function.
12406 (suppress_checking): New variable.
12407
12408 * intervals.c (interval_start_pos): Just return 0 if there's no
12409 parent object.
12410
f83c5440
GM
124112000-03-29 Gerd Moellmann <gerd@gnu.org>
12412
12413 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12414 and earlier Emacs versions.
12415
12416 * keyboard.c (Ftop_level): Cancel busy-cursor.
12417
12418 * eval.c (call_debugger): Cancel busy-cursor.
12419
fdce64ff
KH
124202000-03-29 Kenichi Handa <handa@etl.go.jp>
12421
12422 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12423 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12424
f6a3f532
SM
124252000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12426
12427 * regex.c (analyse_first): New function obtained by ripping out most
12428 of re_compile_fastmap and generalizing it a little bit so that it
12429 can also just return whether a given (sub)pattern can match the empty
12430 string or not.
12431 (regex_compile): Use `analyse_first' to decide whether the loop-check
12432 needs to be done or not for *, +, *? and +? (the loop check is costly
12433 for non-greedy repetition).
12434 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12435
e9b309ac
DL
124362000-03-28 Dave Love <fx@gnu.org>
12437
52283633 12438 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12439
e9b309ac
DL
12440 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12441
ed0767d8
SM
124422000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12443
12444 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12445 an expression.
12446 (enum re_opcode_t): Update description of succeed_n.
12447 (PATFETCH): Always define.
12448 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12449 operators, char classes, shy-groups and intervals).
12450 Optimize special cases of intervals so as to only use succeed_n and
12451 jump_n when really needed.
12452 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12453 that we don't have to handle the special cases any more.
12454 Simplify on_failure_jump handling as well.
12455
e11e7e46
JR
124562000-03-28 Jason Rumney <jasonr@gnu.org>
12457
12458 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12459
88faab89
GM
124602000-03-27 Gerd Moellmann <gerd@gnu.org>
12461
182ff242
GM
12462 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12463
12464 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12465
182ff242
GM
12466 * alloc.c (mark_maybe_object): New function.
12467 (mark_memory): Use it.
12468 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12469 (setjmp_tested_p, longjmp_done): New variables.
12470 (test_setjmp): New function.
12471 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12472 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12473
c1005d06
GM
12474 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12475 to DEC_TEXT_POS and INC_TEXT_POS.
12476
12477 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12478 with parameter MULTIBYTE_P.
12479
52283633 12480 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12481
7439e5b9 12482 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12483 buffers because it looks for multibyte character byte sequences
12484 which don't exist in unibyte text.
7439e5b9 12485
d9c545da
GM
12486 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12487
11fd416e 12488 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12489 [DEBUG_X_COLORS]: New functions.
12490 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12491
12492 * xfns.c (x_set_cursor_color): Get color reference counts right.
12493
12494 * xterm.c (x_copy_color): New function.
12495 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12496
12497 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12498 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12499 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12500 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12501 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12502 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12503 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12504 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12505 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12506 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12507
11fd416e
GM
12508 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12509 names for handling per-buffer variables.
d9c545da
GM
12510
12511 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12512 instead of MAX_BUFFER_LOCAL_VARS.
12513 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12514
12515 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12516
88faab89
GM
12517 * xfns.c (x_specified_cursor_type): New function.
12518 (x_set_cursor_type): Use it.
12519
12520 * buffer.h (struct buffer): Add cursor_type.
12521
d80f42b7
SM
125222000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12523
12524 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12525 (print_partial_compiled_pattern, re_compile_fastmap):
12526 Handle new opcode.
d80f42b7
SM
12527 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12528 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12529 executing it as well as when popping it off the stack to find infinite
12530 loops in non-greedy repetition operators.
12531
89e80928
GM
125322000-03-26 Gerd Moellmann <gerd@gnu.org>
12533
3d4ff2dd
GM
12534 * doc.c (Qfunction_documentation): New variable.
12535 (syms_of_doc): Initialize Qfunction_documentation.
12536 (Fdocumentation): If FUNCTION is a symbol with non-nil
12537 `function-documentation' property, return a documentation derived
12538 from that.
12539
bd96bd79
GM
12540 * buffer.c (syms_of_buffer): Add default-cursor-type.
12541 (init_buffer_once): Don't let cursor_type have a local value
12542 in every buffer.
12543
19d1bc27
GM
12544 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12545 on buffer-local value of cursor_type.
12546 (x_draw_bar_cursor): Add parameter WIDTH.
12547
12548 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12549 (init_buffer_once): Set default cursor_type value to t.
12550 Mark cursor_type as local everywhere.
12551 (syms_of_buffer): New per-buffer variable cursor-type.
12552
89e80928
GM
12553 * buffer.h (struct buffer): Remove member local_var_flags,
12554 add local_flags.
12555 (MAX_BUFFER_LOCAL_VARS): New macro.
12556 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12557 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12558 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12559 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12560
52283633 12561 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12562
12563 * category.c (Fset_category_table): Use new macros for per-buffer
12564 variables.
12565
12566 * buffer.c (buffer_permanent_local_flags): Make a char array.
12567 (max_buffer_local_idx): New variable.
12568 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12569 for new handling of per-buffer variables.
12570 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12571 (init_buffer_once): Initialize per-buffer vars differently.
12572 Set max_buffer_local_idx.
12573
12574 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12575 variables.
12576
52283633 12577 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12578
12579 * data.c (do_symval_forwarding, store_symval_forwarding)
12580 (find_symbol_value, set_internal, default_value, Fset_default)
12581 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12582 per-buffer variables.
12583
12584 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12585
9a0dd3dc
GM
125862000-03-24 Gerd Moellmann <gerd@gnu.org>
12587
b68c375f
GM
12588 * xterm.c (x_term_init): Unblock input around call1 of
12589 Qvendor_specific_keysyms.
12590
9a0dd3dc
GM
12591 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12592 (find_defun_start): Consider an open parenthesis in column 0
12593 a defun start only if open_paren_in_column_0_is_defun_start is set.
12594 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12595
7973e637
SM
125962000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12597
12598 * eval.c (Fautoload): Add entry in load-history (if after dump).
12599 * lread.c (load-history): Update docstring.
12600
39210e90
GM
126012000-03-24 Gerd Moellmann <gerd@gnu.org>
12602
12603 * indent.c (Fvertical_motion): Always use the current buffer.
12604 Temporarily change the window's buffer, if necessary.
12605
72db3ab5
GM
126062000-03-23 Gerd Moellmann <gerd@gnu.org>
12607
12608 * xterm.c (fast_find_position): Make sure not to consider rows
12609 not visible in the window.
12610
990b2375
SM
126112000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12612
12613 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12614 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12615
ff4df011
JR
126162000-03-22 Jason Rumney <jasonr@gnu.org>
12617
12618 * w32menu.c (single_submenu): Set help string to NULL if none.
12619 (w32_menu_show): Set help string correctly.
12620 (add-menu-item): Set help string in MIIM_DATA for menu item.
12621 Load SetMenuItemInfoA explicitly.
12622 (w32_menu_display_help): New function.
427ec082 12623
ff4df011
JR
12624 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12625 (QCdata): Moved to xdisp.c.
12626
12627 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12628 (Vw32_charset_to_codepage_alist): Removed.
12629 (Vw32_charset_info_alist): New variable.
52283633
SM
12630 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12631 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12632 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12633 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12634 with TODO comment.
12635 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12636 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12637 Define Vw32_charset_info_alist and w32_charset symbols.
12638
126392000-03-22 Jason Rumney <jasonr@gnu.org>
12640
12641 * makefile.nt (w32bdf.obj): Update dependencies.
12642
12643 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12644
12645 * w32fns.c: Include fontset.h after dispextern.h.
12646 (Fx_create_frame): Do not create fontset.
12647 (w32_load_system_font): Doc fix.
12648 (Fx_close_connection): Free full_name if it is not shared.
12649
12650 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12651 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12652 Callers updated.
ff4df011
JR
12653 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12654 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12655 (w32_font_is_double_byte): New function, needs body.
12656 (x_append_glyph): Set glyph->glyph_not_available_p.
12657 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12658 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12659 character, convert it to a unibyte character.
12660 (struct glyph_string): Delete member `charset'.
12661 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12662 calculating it is found.
12663 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12664 the case that per char metric is not available correctly.
12665 (x_fill_glyph_string): Handle the case that the specific glyph is
12666 not available correctly.
12667 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12668 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12669 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12670 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12671 fontset. Don't call FS_LOAD_FONT.
12672
439d5cb4
KR
126732000-03-22 Ken Raeburn <raeburn@gnu.org>
12674
12675 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12676 (INT_LISPLIKE): New macro.
12677 (NULL_INTERVAL_P): Use it.
52283633
SM
12678 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12679 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12680 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12681
12682 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12683 explicit references to "parent" field of struct interval and
12684 associated unclean type conversions.
52283633
SM
12685 * intervals.c (create_root_interval, root_interval, rotate_right)
12686 (rotate_left, balance_possible_root_interval, split_interval_right)
12687 (split_interval_left, interval_start_pos, find_interval)
12688 (next_interval, previous_interval, update_interval)
12689 (adjust_intervals_for_insertion, delete_node, delete_interval)
12690 (adjust_intervals_for_deletion, merge_interval_right)
12691 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12692 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12693 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12694 Likewise.
12695 * syntax.c (update_syntax_table): Likewise.
12696
12697 * intervals.c (reproduce_tree_obj): New function, like
12698 reproduce_tree but takes a Lisp_Object for the parent. Declare
12699 with prototype.
12700 (graft_intervals_into_buffer): Use it when appropriate.
12701 (reproduce_tree): Declare with prototype.
12702 (balance_possible_root_interval): Check that the parent is a lisp
12703 object before trying to examine its type.
12704
ee1c5b21
GM
127052000-03-22 Gerd Moellmann <gerd@gnu.org>
12706
12707 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12708 as strings only if both are known to be strings.
12709
12710 * s/openbsd.h (LIBS_TERMCAP): Undef.
12711
1fb352e0
SM
127122000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12713
12714 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12715 definitions for non-Emacs compilation.
12716 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12717 outside of `#ifdef emacs'.
12718 (print_partial_compiled_pattern): Update.
12719 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12720 (re_compile_fastmap): Merge handling of charset and charset_not (for
12721 emacs and non-emacs compilation as well).
12722 Similarly for (not)categoryspec and (not)syntaxspec.
12723 Don't use the fastmap when reaching `anychar' since the added
12724 complexity is not justified.
12725 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12726 and (not)syntaxspec. Merge (not)categoryspec.
12727
fdaa1f77
KH
127282000-03-22 Kenichi Handa <handa@etl.go.jp>
12729
52283633
SM
12730 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12731 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12732 --without-x.
fdaa1f77 12733
d152fb46
DL
127342000-03-21 Dave Love <fx@gnu.org>
12735
12736 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12737 doc string.
12738
d2cafc8c
GM
127392000-03-21 Gerd Moellmann <gerd@gnu.org>
12740
12741 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12742 (lface_fully_specified_p): Don't check contents of
12743 LFACE_FONT_INDEX because that attribute is optional.
12744 (realize_x_face): Remove now unwarranted xassert.
12745
9111d4b5
KH
127462000-03-21 Kenichi HANDA <handa@etl.go.jp>
12747
12748 The following changes are to make font selection based on
12749 characters, not charset. In addition, they recover fontset
12750 facilities while utilizing the new font selection mechanism.
12751
6c4bfdc0
KH
12752 * Makefile.in (fontset.o): Depend on dispextern.h.
12753
12754 * alloc.c (mark_face_cache): Don't mark face->registry.
12755
9111d4b5
KH
12756 * dispextern.h (struct glyph): New member glyph_not_available_p.
12757 Use 22 bits for face_id.
12758 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12759 (struct face): Delete member registry, new member ascii_face.
12760 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12761 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12762 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12763 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12764
12765 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12766 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12767 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12768 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12769 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12770 (fs_free_face_fontset, fontset_font_pattern)
12771 (face_suitable_for_char_p, face_for_char)
12772 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12773 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12774 (FS_LOAD_FACE_FONT): New macro.
12775
12776 * fontset.c: All codes rewritten or adjusted for the change of
12777 fontset implementation. Now fontset is represented by char table.
52283633
SM
12778 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12779 Variables removed.
9111d4b5 12780 (my_strcasecmp): Function removed.
52283633 12781 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12782 (AREF, ASIZE): New macros.
52283633
SM
12783 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12784 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12785 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12786 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12787 (fontset_id_valid_p, font_family_registry, fontset_name)
12788 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12789 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12790 New functions.
12791 (fs_load_font): New arg FACE. Caller changed.
12792 (fs_query_fontset): Argument changed. Caller changed.
12793 (Fquery_fontset): call fs_query_fontset.
12794 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12795 Functions removed.
52283633
SM
12796 (clear_fontset_elements, check_registry_encoding)
12797 (check_fontset_name): New functions.
9111d4b5
KH
12798 (syms_of_fontset): Set char-table-extra-slots property of fontset
12799 to 3. Staticpro and initialize Vfontset_table and
12800 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12801
12802 * frame.h (struct frame): Member `fontset_data' removed.
12803 (FRAME_FONTSET_DATA): Macro removed.
12804
12805 * frame.c (make_frame): Don't allocate f->fontset_data.
12806 (Fdelete_frame): Don't free f->fontset_data.
12807
6c4bfdc0
KH
12808 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12809
9111d4b5
KH
12810 * xdisp.c (charset_at_position): Function removed.
12811 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12812 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12813 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12814 Likewise.
12815 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12816 FACE_FOR_CHARSET.
52283633
SM
12817 (get_next_display_element, append_space)
12818 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12819
12820 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12821 Variables removed.
12822 (clear_font_table, frame_update_line_height, load_face_font):
12823 Adjusted for the change of fontset implementation.
12824 (load_face_fontset_font): Function removed.
12825 (pixel_point_size): New function.
12826 (font_list): Argument type changed. Caller changed.
12827 (LFACE_FONT): New macro.
12828 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12829 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12830 Lisp_Object. Determine the font name by actually loading a font
12831 by the specified pattern. Set LFACE_FONT (lface) to the specified
12832 pattern. Even if a font is not found, don't try alternatives.
12833 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12834 (set_font_frame_param): If `font' is specified in lface, use it.
12835 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12836 (lface_same_font_attributes_p): Likewise.
12837 (make_realized_face): Arguent changed. Caller changed. Set
12838 face->ascii_face to face itself.
12839 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12840 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12841 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12842 (free_realized_multibyte_face): New function.
12843 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12844 changed. Caller changed.
12845 (try_font_list): Argument type changed.
12846 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12847 (choose_face_font): Argument changed. Handle fontset properly.
12848 (choose_face_fontset_font): Function removed.
12849 (realize_default_face, realize_named_face): Don't remove the
12850 former face here.
12851 (realize_face): Argument changed. Caller changed. Remove face
52283633 12852 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12853 (realize_x_face): Argument changed. Caller changed. For a
12854 multibyte character, share fontset with base_face. For a single
52283633 12855 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12856 (realize_tty_face): Argument changed. Caller changed.
12857 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12858 (face_at_buffer_position): Don't check multibyte_p for returning
12859 DEFAULT_FACE_ID.
12860 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12861 FACE_SUITABLE_FOR_CHARSET_P.
12862 (syms_of_xfaces): Remove code for Qx_charset_registry and
12863 Vface_default_registry.
12864
6c4bfdc0
KH
12865 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12866 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12867 (x_per_char_metric): Don't try FONT->default_char. Even if
12868 pcm->width is zero, glyph bits may exist.
12869 (x_encode_char): Always initialize char2b->byte1.
12870 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12871 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12872 (x_append_glyph): Set glyph->glyph_not_available_p.
12873 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12874 it->charset. Handle the case that per char metric is not
12875 available. If it->multibyte_p is zero and it->c is a multibyte
12876 character, convert it to a unibyte character.
12877 (struct glyph_string): Delete member `charset'.
12878 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12879 the case that per char metric is not available correctly.
12880 (x_fill_glyph_string): Handle the case that the specific glyph is
12881 not available correctly.
12882 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12883 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12884 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12885 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12886 fontset. Don't call FS_LOAD_FONT.
12887
12888 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12889 (x_create_tip_frame): Likewise.
12890 (Fx_close_connection): Free full_name of font_info.
12891
12892 * fns.c (optimize_sub_char_table): New function.
12893 (Foptimize_char_table): New function.
12894 (syms_of_fns): Defsubr Soptimize_char_table.
12895
b33dd3b0
GM
128962000-03-20 Gerd Moellmann <gerd@gnu.org>
12897
12898 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12899 only if buffer is displayed in some window.
12900
12901 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12902 (try_window_reusing_current_matrix): Don't call scroll run
12903 function if run's current and desired position are the same;
12904 this prevents cursor flickering.
12905
4e8a9132
SM
129062000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12907
12908 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12909
12910 * regex.c (RE_STRING_CHAR): New macro.
12911 (GET_CHAR_AFER_2): Remove.
12912 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12913 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12914 (print_partial_compiled_pattern, re_compile_fastmap)
12915 (re_match_2_internal): Remove on_failure_jump_exclusive.
12916 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12917 optimization only need to work for * (ie. can use of_keep_string_jump).
12918 Remove the special case for .*\n since it is now covered by the general
12919 optimization.
12920 (re_search_2): Don't bother with `room'.
12921 (skip_one_char): New function.
12922 (skip_noops): Simplify since `memory' is not needed any more.
12923 (mutually_exclusive_p): Restructure slightly to use `switch' and
12924 add handling for "all" remaining cases.
12925 (re_match_2_internal): Change on_failure_jump_smart to use
12926 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12927 rather than on_failure_jump_exclusive.
12928
2136fdd4
GM
129292000-03-19 Gerd Moellmann <gerd@gnu.org>
12930
12931 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12932 number of bits per RGB because it's everywhere used as the depth
12933 of the visual.
12934
12935 * term.c (calculate_costs): Remove code dealing with X frames.
12936
18e21ce8 129372000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12938
12939 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12940
d7b511c4
GM
129412000-03-18 Gerd Moellmann <gerd@gnu.org>
12942
12943 * lread.c (read_integer): Unread the last char not consumed.
12944
16b5d424
GM
129452000-03-17 Gerd Moellmann <gerd@gnu.org>
12946
12947 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12948 which are in the process of being deleted.
16b5d424 12949
1fa28578
GM
129502000-03-16 Gerd Moellmann <gerd@gnu.org>
12951
83488cce
GM
12952 * Makefile.in (mostlyclean): Add `*.core'.
12953 (clean): Add `bootstrap-emacs'.
12954
1fa28578
GM
12955 * lread.c (read_integer): New function.
12956 (read1): Support read syntax #o, #x, #b, #r.
12957
99633e97
SM
129582000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12959
1fa28578
GM
12960 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12961 make sure POINTER_TO_OFFSET gives the same value before and after
12962 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12963 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12964 (debug): Now only active if > 0 rather than if != 0.
12965 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12966 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12967 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12968 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12969 (store_op1, store_op2, insert_op1, insert_op2)
12970 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12971 (group_in_compile_stack): Move to after its arg's types are
12972 declared and add a prototype.
99633e97 12973 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12974 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12975 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12976 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12977 indentation of the greedy-op and shy-group code.
99633e97
SM
12978 (at_(beg|end)line_loc_p): Fix argument's types.
12979 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12980 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12981 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12982 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12983 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12984 QUIT unconditionally.
99633e97 12985
699238d9
GM
129862000-03-15 Gerd Moellmann <gerd@gnu.org>
12987
12988 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12989 a sole completion.
12990
12991 * process.c (send_process): Add a hint that the function
12992 can call Lisp code to its comment.
12993
12994 * lread.c (load_dangerous_libraries): New variable.
12995 (Vbytecomp_version_regexp): New variable.
12996 (safe_to_load_p): New function.
12997 (Fload): Handle files not compiled with Emacs specially.
12998 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12999
34e23e5a
GM
130002000-03-14 Gerd Moellmann <gerd@gnu.org>
13001
9c763cca
GM
13002 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13003
13004 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13005 support functions only if HAVE_X11R6_XIM is defined.
13006 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13007
13008 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13009
13010 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13011 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13012 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13013
13014 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13015 (HAVE_X11R6_XIM): Define.
13016
13017 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13018
34e23e5a
GM
13019 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13020 If set, call XSynchronize.
13021
66f0296e
SM
130222000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13023
34e23e5a
GM
13024 * regex.c: Declare a new type `re_char' used throughout the code
13025 for the string char type. It's `const unsigned char' to match the
13026 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13027 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13028 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13029 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13030 code duplication.
66f0296e
SM
13031
13032 * charset.h (GET_CHAR_AFTER_2): Remove.
13033 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13034
854a025c
KR
130352000-03-12 Ken Raeburn <raeburn@gnu.org>
13036
13037 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13038 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13039 of them try to use backquotes.
13040
b9d2c7e2
DL
130412000-03-12 Dave Love <fx@gnu.org>
13042
13043 * unexelf.c: Restore changes of 1999-10-19.
13044 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13045 fix its type and alignment; copy it from current process.
13046
5e5dff44
GM
130472000-03-12 Gerd Moellmann <gerd@gnu.org>
13048
9b2f3c38
GM
13049 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13050 has been found. Fix bug not computing timer's predecessor.
13051
427ec082 13052 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13053 file name.
13054
e1cff360
GM
13055 * window.c (Fsave_window_excursion): Doc fix.
13056
52283633 13057 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13058
e411ce4b
EZ
130592000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13060
13061 * msdos.c (vga_installed): New function, code moved from
13062 dos_set_window_size.
13063 (Qbar, Qcursor_type, outside_cursor): New variables.
13064 (syms_of_msdos): Intern and staticpro them.
13065 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13066 shape used outside Emacs when called for the first time.
13067 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13068 cursor shape used outside Emacs.
13069 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13070 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13071 type has changed.
13072 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13073 parameters specify the cursor. Make qreverse a global
13074 variable (renamed to Qreverse).
13075
80460654
GM
130762000-03-09 Gerd Moellmann <gerd@gnu.org>
13077
13078 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13079
95cd4c40
SM
130802000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13081
13082 This is a big redesign of failure-stack and register handling, prompted
13083 by bugs revealed when trying to add shy-groups. Overall, what happened
13084 is that loops are now structured a little differently, groups can be
13085 shy and the code is a little simpler.
13086
13087 * regex.h: Update the copyright.
13088 (RE_SHY_GROUPS): New value.
13089 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13090 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13091
80460654
GM
13092 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13093 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13094 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13095 for (start|stop)_memory since they now only take one argument (the
13096 second has becomes unnecessary).
52283633 13097 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13098 (print_compiled_pattern): Use %ld to printf long ints and flush to
13099 make debugging a little easier.
95cd4c40
SM
13100 (union fail_stack_elt): Make the integer unsigned.
13101 (struct fail_stack_type): Add a `frame' element.
13102 (INIT_FAIL_STACK): Init `frame' as well.
13103 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13104 (DEBUG_PUSH, DEBUG_POP): Remove.
13105 (NUM_REG_ITEMS): Remove.
13106 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13107 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13108 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13109 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13110 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13111 New macros.
80460654
GM
13112 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13113 address pushed is not the destination of the jump but the source
13114 of it instead.
95cd4c40
SM
13115 (NUM_FAILURE_ITEMS): Remove.
13116 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13117 registers before the actual failure point). Don't hardcode any
13118 meaning for str==NULL anymore.
95cd4c40 13119 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13120 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13121 Remove.
95cd4c40
SM
13122 (REG_UNSET_VALUE): Use NULL (why not?).
13123 (compile_range): Remove declaration since it doesn't exist.
13124 (struct compile_stack_elt_t): Remove inner_group_offset.
13125 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13126 (regex_grow_registers): Remove dead code.
13127 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13128 (regex_compile): Add shy-groups Change loops to use
13129 on_failure_jump_smart&jump instead of
13130 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13131 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13132 variable to me). Use `jump' instead of `jump_past_alt' and don't
13133 bother with push_dummy_failure in alternatives since it is now
13134 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13135 emacs' for (re)allocating the stack.
13136 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13137 from loop when bufp->can_be_null rather than jumping to `done'.
13138 Avoid jumping backwards so as to ensure termination. Use
13139 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13140 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13141 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13142 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13143 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13144 (lowest_active_reg, highest_active_reg)
13145 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13146 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13147 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13148 variables. Push register (in `start_memory') on the stack rather
13149 than storing it in old_reg(start|end). Remove the cycle detection
13150 from `stop_memory', replaced by the use of on_failure_jump_loop
13151 for greedy loops. Add code for the new on_failure_jump_<foo>.
13152 Remove ad-hoc code in `on_failure_jump' to push more registers in
13153 the case of a loop. Take out code from `maybe_pop_jump' into
13154 separate functions and adapt it to the semantics of
13155 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13156 and push_dummy_failure. Remove dummy_failure handling and
13157 handling of `failures to jump to on_failure_jump' (this last one
13158 was already dead code, it seems).
13159 (group_match_null_string_p, alt_match_null_string_p)
13160 (common_op_match_null_string_p): Remove.
95cd4c40 13161
7397acc4
DL
131622000-03-08 Dave Love <fx@gnu.org>
13163
13164 * config.in: Don't depend on __STDC__ for volatile.
13165 Add POINTER_TYPE, PTR, PROTOTYPES.
13166
13167 * hftctl.c, strftime.c: Use PROTOTYPES.
13168 * eval.c (find_handler_clause): Likewise.
13169
13170 * mem-limits.h: Use POINTER_TYPE.
13171
13172 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13173 (memory_warnings): Declare using POINTER_TYPE.
13174
5e91ff9e
GM
131752000-03-08 Gerd Moellmann <gerd@gnu.org>
13176
feab4fba
GM
13177 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13178
52283633 13179 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13180
5e91ff9e
GM
13181 * xfns.c: Remove obsolete code in #if 0.
13182 (Fx_focus_frame): New function.
13183
a735b7e1
KH
131842000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13185
13186 * coding.c (coding_category_name): Add coding-category-utf-8,
13187 coding-category-utf-16-be, coding-category-utf-16-le.
13188 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13189 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13190 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13191 (detect_coding_utf_8): New function.
13192 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13193 UTF_16_LOW_SURROGATE_P): New macros.
13194 (detect_coding_utf_16): New function
13195 (detect_coding_mask): When priorities are specified, skip any
13196 categories that have `nil' coding-system. Fix bug of returning
13197 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13198 returns a mask not set in PRIORITIES.
13199 (detect_eol_type_in_2_octet_form): New function.
13200 (detect_eol): selects detect_eol_type_XXX to call according to
13201 cooding->category_idx.
13202 (detect_coding_system): Remove `nil' coding-system in the result.
13203 (Fupdate_coding_systems_internal): Update all coding-categories.
13204
52283633
SM
13205 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13206 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13207 New macros.
13208 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13209 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13210 (CODING_CATEGORY_IDX_UTF_16_LE)
13211 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13212 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13213 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13214 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13215
9994cc69
GM
132162000-03-07 Gerd Moellmann <gerd@gnu.org>
13217
e9b4e5ff
GM
13218 * doc.c (Fdocumentation_property): If value is not a string,
13219 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13220
f7daf1e1
GM
13221 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13222 close the display with XtCloseDisplay. This caused a bus error
13223 on OpenWindows.
13224
9994cc69
GM
13225 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13226 complete but not unique.
13227
4336c705
GM
132282000-03-06 Gerd Moellmann <gerd@gnu.org>
13229
18bb0684
GM
13230 * process.c (send_process): Remove local variable `procname' that
13231 might become invalid when a GC happens. Instead, access the
13232 process name slot directly.
13233
4336c705
GM
13234 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13235 orig_height if set.
13236
13237 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13238 orig_height if set.
13239
515d0d0e
EZ
132402000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13241
13242 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13243 glyph matrices have been freed.
13244
100b3cbb
GM
132452000-03-05 Gerd Moellmann <gerd@gnu.org>
13246
50df5e5a 13247 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13248 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13249
13250 * xfns.c (QCdata): Moved to xdisp.c.
13251
13252 * xdisp.c (QCdata): Moved here from xfns.c.
13253 (syms_of_xdisp): Initialize QCdata.
13254
13255 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13256
13257 * window.c (coordinates_in_window): Use
13258 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13259 FRAME_INTERNAL_BORDER_WIDTH.
13260
100b3cbb 13261 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13262 it is obviously invalid.
100b3cbb
GM
13263
13264 * xterm.c (x_term_init): Create a colormap if not using the
13265 default visual.
13266
13267 * xterm.h (select_visual): Change prototype.
13268
13269 * xfns.c (select_visual): Rewritten. Recognize user-specified
13270 visual classes.
13271 (visual_classes): New variable.
13272
64d739c4
GM
132732000-03-04 Gerd Moellmann <gerd@gnu.org>
13274
13275 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13276 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13277 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13278 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13279 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13280 XtNcolormap resources.
13281 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13282 (Fx_create_frame): Initialize color members of x_output structure.
13283 (xpm_load): Pass colormap to XPM lib.
13284
13285 * xfaces.c (x_free_colors): Access colormap of frame using
13286 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13287 when default colormap is used.
13288
13289 * xterm.c (x_term_init): Set Colormap member of x_display_info
13290 structure. Copy colormap if resource `privateColormap' is
13291 specified (PseudoColor only).
13292 (x_setup_relief_color): Access colormap of frame using
13293 FRAME_X_COLORMAP.
13294
13295 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13296 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13297
c3cee013
JR
132982000-03-04 Jason Rumney <jasonr@gnu.org>
13299
13300 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13301 other non-platform-specific equivalents.
64d739c4 13302 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13303 specific functions and macros as their w32 equivalents where
13304 non-platform-specifics are not available.
13305 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13306 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13307 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13308 (frame_update_line_height): Use macros to access f->output_data.
13309 (defined_color): Remove FIXME comments; fixed.
13310 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13311 into #ifdef blocks. Add WINDOWSNT blocks.
13312 (Fx_list_fonts): Use macros for accessing font data.
13313 (set_lface_from_font_name): Different default fonts for X and
13314 WINDOWSNT.
13315 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13316 scalable for backward compatibility.
64d739c4 13317 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13318 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13319
64d739c4 13320 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13321 syms_of_w32faces.
13322
13323 * makefile.nt (w32faces.obj): Remove.
13324 (xfaces.obj): Add.
13325
807cc41c
JR
133262000-03-03 Jason Rumney <jasonr@gnu.org>
13327
13328 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13329 correct parameters.
13330
0007072a
KR
133312000-03-03 Ken Raeburn <raeburn@gnu.org>
13332
13333 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13334 standard ELF definitions here if the system header does not.
13335
71a6ba55
GM
133362000-03-03 Gerd Moellmann <gerd@gnu.org>
13337
13338 * xterm.c (PER_CHAR_METRIC): Removed.
13339 (x_per_char_metric_1, x_default_char): New functions.
13340 (x_per_char_metric): If font's default char is invalid, return
13341 metrics of a suitably chosen usable default char.
13342 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13343 char, replace occurrences of unprintable chars with a suitably
13344 chosen usable default char.
71a6ba55 13345
900fa1f1
GM
133462000-03-02 Gerd Moellmann <gerd@gnu.org>
13347
42f55fe0
GM
13348 * xterm.c (note_mouse_highlight): Return quickly if frame's
13349 glyph matrices have been freed.
13350
13351 * dispnew.c (free_glyphs): Block input while freeing matrices.
13352
900fa1f1
GM
13353 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13354
52283633
SM
13355 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13356 Use x_free_colors.
900fa1f1
GM
13357
13358 * dispextern.h (x_free_colors): Add prototype.
13359
13360 * xfaces.c (x_free_colors): New function.
13361 (unload_color, free_face_colors): Use it.
13362
2f950292
EZ
133632000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13364
13365 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13366
13367 * window.c [MSDOS]: Include msdos.h.
13368
54d04320
DL
133692000-03-02 Dave Love <fx@gnu.org>
13370
13371 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13372
13373 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13374 set C_OPTIMIZE_SWITCH for gcc.
13375
0ba93ac4
KH
133762000-03-02 Kenichi Handa <handa@etl.go.jp>
13377
13378 * coding.c (coding_save_composition): Be sure to allocate
13379 composition data area in coding even if there's no composition in
13380 the current run.
13381
a2bc11d4
JR
133822000-03-01 Jason Rumney <jasonr@gnu.org>
13383
13384 * w32term.c: Equivalent changes to those made to xterm.c on
13385 2000-02-25 and 2000-02-24.
13386
13387 * w32fns.c: Equivalent changes to those made to xfns.c on
13388 2000-02-25 and 2000-02-21.
13389
13390 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13391 correct line-end convention is followed.
13392
13393 * w32menu.c [HAVE_BOXES]: Remove #undef.
13394 (single_keymap_panes): Remove code for simulating checkmarks.
13395 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13396 Remove code for drawing simulated checkmarks.
13397 (w32_menu_show): make unibyte help string correctly.
13398 (add_menu_item): draw standard Windows checkmarks. Draw radio
13399 buttons as radio buttons if possible.
13400
72d19d75
GM
134012000-03-01 Gerd Moellmann <gerd@gnu.org>
13402
2df636f4
GM
13403 * sysdep.c (start_of_text): Don't define this function for NetBSD
13404 with ELF.
13405
427ec082 13406 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13407 Don't define.
13408 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13409 (LINKER): Don't undef if __NetBSD__ is defined.
13410
13411 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13412
13413 * fileio.c [__NetBSD__]: Define `unix'.
13414
72d19d75
GM
13415 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13416
ed4d0512
GM
134172000-02-29 Gerd Moellmann <gerd@gnu.org>
13418
50b1039f
GM
13419 * atimer.c (start_atimer): Don't abort when timers are stopped.
13420 (append_atimer_lists): New function.
13421 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13422 arbitrary lists of stopped and running atimers.
13423
ed4d0512
GM
13424 * atimer.c (cancel_atimer): Handle canceling an atimer when
13425 some timers are stopped.
13426
13427 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13428 after canceling it.
13429
13430 * fns.c (maybe_resize_hash_table): Handle case of new size
13431 coming out as being the same as old size.
13432
387023ee
JR
134332000-02-27 Jason Rumney <jasonr@gnu.org>
13434
13435 * makefile.nt: Add atimer.h to dependencies.
13436 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13437 * w32console.c: Only disable window system features for dispextern.h
13438 (initialize_w32_display): Build a display info for the console.
13439 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13440 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13441 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13442 as 2 button mice.
13443 * w32gui.h (struct W32FontStruct): Revert last change after change
13444 to xdisp.c.
13445 * w32menu.c (single_submenu): Set up help string.
13446 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13447 (w32_dialog_show): Set up help string.
13448 * w32term.c (w32_display_info_for_display): Remove unused function.
13449 (w32_draw_bitmap): Use pre-built bitmaps.
13450 (w32_initialize_display_info): New function to initialize parts of
13451 display info that are common to both GUI and console frames.
13452 (w32_term_init): Use w32_initialize_display_info. Do not set
13453 Vw32_num_mouse_buttons here, as it is not called for console
13454 frames. Build bitmaps for indicating truncated lines etc.
13455 (x_delete_display): Destroy pre-built bitmaps.
13456 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13457 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13458
4516715a
DL
134592000-02-27 Dave Love <fx@gnu.org>
13460
13461 * lisp.h: Add a bunch of prototypes.
13462
171ca836
KH
134632000-02-26 Kenichi Handa <handa@etl.go.jp>
13464
13465 * keyboard.c (read_char): Set `usec' correctly.
13466
4013921d
KH
134672000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13468
13469 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13470 `lambda', set reg[RRR] to the map index.
13471 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13472 reg[RRR] to 0. Otherwise, set it to -1.
13473
9244a058
GM
134742000-02-25 Gerd Moellmann <gerd@gnu.org>
13475
2df636f4 13476 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13477
18e21ce8 134782000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13479
f43d79c1
GM
13480 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13481 and contains a `:', prepend `/:'.
13482
13483 * window.c (select_window_1): If selected_window is nil,
13484 don't "swap out" the buffer's point.
13485 (Fset_window_configuration): Set selected_window to nil
13486 before calling Fselect_window.
13487 (unshow_buffer): Don't set point in buffer from window's point
13488 if another more recently selected window also shows the buffer.
13489
bed0c171
GM
134902000-02-25 Gerd Moellmann <gerd@gnu.org>
13491
449c3c52
GM
13492 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13493
f5b58615
GM
13494 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13495 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13496 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13497 New variables.
f5b58615
GM
13498 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13499 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13500 (hide_busy_cursor): New functions.
13501 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13502
13503 * minibuf.c (read_minibuf): Cancel busy-cursor.
13504
13505 * keyboard.c (command_loop_1): Call start_busy_cursor before
13506 Fcommand_execute and cancel_busy_cursor after it.
13507 (timer_check): Remove busy-cursor code.
13508 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13509 cursor timer.
13510
13511 * process.c (wait_reading_process_input): Remove busy-cursor code.
13512
13513 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13514 Fx_hide_busy_cursor.
13515
13516 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13517 Remove prototyoes.
13518 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13519
13520 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13521
13522 * xterm.c (XTread_socket): Remove busy-cursor code.
13523
4eb8436f
GM
13524 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13525 (build_frame_matrix_from_leaf_window): Put code handling
13526 glyph row's not being a slice of a frame row in #if 0.
13527 (sync_window_with_frame_matrix_rows): New function.
13528 (frame_row_to_window): New function.
13529 (mirror_line_dance): Handle copies between windows.
13530
3cb65b0e
GM
13531 * lread.c (Fload): Use `xfree' instead of `free'.
13532 (init_obarray): Use `xmalloc' instead of `malloc'.
13533
bed0c171
GM
13534 * window.c (Fset_window_buffer): Set WINDOW to the window
13535 after decoding.
2add4349
GM
13536 (coordinates_in_window): Take frame's internal border width
13537 into account.
bed0c171 13538
42088c12
GM
135392000-02-24 Gerd Moellmann <gerd@gnu.org>
13540
13541 * xterm.c (x_display_and_set_cursor): Display cursor of
13542 non-selected windows depending on the setting of
13543 cursor_in_non_selected_windows.
13544
13545 * xdisp.c (cursor_in_non_selected_windows): New variable.
13546 (syms_of_xdisp): DEFVAR_BOOL it.
13547
d1e103b2
GM
135482000-02-23 Gerd Moellmann <gerd@gnu.org>
13549
723e779c
GM
13550 * data.c (Fstring_to_number): If number is greater than what
13551 fits into an integer, return a float.
13552
d1e103b2
GM
13553 * eval.c (specbind): Remove references to
13554 keyword_symbols_constant_flag.
13555
13556 * data.c (keyword_symbols_constant_flag): Removed.
13557 (Fmakunbound, set_internal, syms_of_data): Remove references to
13558 keyword_symbols_constant_flag.
13559
13560 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13561
214f877f
KH
135622000-02-23 Kenichi Handa <handa@etl.go.jp>
13563
13564 * syntax.c (multibyte_syntax_as_symbol): New variable.
13565 (syms_of_syntax): Declare it as a Lisp variable.
13566 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13567 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13568 nonzero, treat all multibyte characters as symbol.
52283633 13569 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13570
130adcb7
EZ
135712000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13572
3cb65b0e 13573 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13574 a deleted frame.
130adcb7 13575
17cbbf95
GM
135762000-02-21 Gerd Moellmann <gerd@gnu.org>
13577
13578 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13579
13580 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13581 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13582
beb0bc36
DL
135832000-02-21 Dave Love <fx@gnu.org>
13584
13585 * frame.c (Vmouse_position_function): New variable.
13586 (Fmouse_position): Use it.
13587 (syms_of_frame): Install it.
13588
13589 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13590
1d92afcd
GM
135912000-02-20 Gerd Moellmann <gerd@gnu.org>
13592
13593 * fileio.c (Finsert_file_contents): Unbind the binding of
13594 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13595
13596 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13597 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13598 (specbind, unbind_to): Handle most common case of non-constant
13599 symbol with trivial value specially.
13600
13601 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13602
18e21ce8 136032000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13604
13605 * data.c (Fmake_variable_buffer_local): Doc fix.
13606 Init found_for_buffer to 0.
13607 (Fmake_variable_frame_local): If the variable has already
13608 been buffer-local, set the check_frame field.
13609
1d4311c3
EZ
136102000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13611
13612 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13613 produced for CODING_MODE_LAST_BLOCK requires.
13614
2dc95ddd
DL
136152000-02-18 Dave Love <fx@gnu.org>
13616
13617 * keyboard.c (echo_keystrokes): Remove declaration.
13618 (Vecho_keystrokes) New variable.
13619 (read_char, record_menu_key, read_key_sequence): Use it to allow
13620 use of float value.
13621 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13622
13623 * lread.c: Undef feature selection macros before defining.
13624
f0930f35
GM
136252000-02-18 Gerd Moellmann <gerd@gnu.org>
13626
13627 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13628 for symbols other than the symbol in question.
13629
e3d4de90
DL
136302000-02-17 Dave Love <fx@gnu.org>
13631
13632 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13633
0b378936
GM
136342000-02-17 Gerd Moellmann <gerd@gnu.org>
13635
d621caf7
GM
13636 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13637
0b378936
GM
13638 * alloc.c (enum mem_type): Compile unconditionally.
13639
3b451f74
EZ
136402000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13641
13642 * xfaces.c (tty_defined_color): Don't return faulire indication
13643 for unspecified-fg and unspecified-bg pseudo-colors.
13644
10689a01
GM
136452000-02-17 Gerd Moellmann <gerd@gnu.org>
13646
1216f5e4
GM
13647 * alloc.c (mark_object): Don't mark symbol names in pure space.
13648 (gc_sweep): Don't unmark symbol names in pure space.
13649
13650 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13651 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13652 [GC_MARK_STACK]: New defines.
427ec082 13653 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13654 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13655
13656 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13657
13658 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13659 allocate_buffer instead of xmalloc.
13660
13661 * alloc.c (toplevel): Include setjmp.h.
13662 (PURE_POINTER_P): New define.
13663 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13664 (Vdead) [GC_MARK_STACK]: New variable.
13665 (lisp_malloc): Add parameter TYPE, call mem_insert if
13666 GC_MARK_STACK is defined.
13667 (allocate_buffer): New function.
427ec082 13668 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13669 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13670 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13671 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13672 (MEM_NIL) [GC_MARK_STACK]: New define.
13673 (struct mem_node) [GC_MARK_STACK]: New structure.
13674 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13675 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13676 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13677 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13678 (mark_stack) [GC_MARK_STACK]: New functions.
13679 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13680 (clear_marks): Removed.
13681 (gc_sweep): Set free conses' car, free floats' type, free
13682 symbols' function to Vdead. Use lisp_free to free buffers.
13683 (init_alloc_once): Initialize Vdead.
13684 (survives_gc_p): Return non-zero for pure objects.
13685
13686 * alloc.c: Add comments throughout the file.
13687
2503c8b1
GM
13688 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13689 that unblocks alarms.
13690
8389e1e2
GM
13691 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13692 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13693 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13694
10689a01 13695 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13696
bfc17d18
KH
136972000-02-17 Kenichi Handa <handa@etl.go.jp>
13698
4a09dee0
KH
13699 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13700 avoid infinite error signaling. Allocate sufficient memory for
13701 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13702
2b927d02
SM
137032000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13704
13705 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13706 depends on the previous behavior.
13707
b49cb764
GM
137082000-02-16 Gerd Moellmann <gerd@gnu.org>
13709
13710 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13711
99e95407
GM
137122000-02-15 Gerd Moellmann <gerd@gnu.org>
13713
13714 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13715
13716 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13717 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13718 write(2).
13719
6ffd3cf7
RS
137202000-02-15 Richard M. Stallman <rms@gnu.org>
13721
13722 * data.c (set_internal): Don't make variable buffer-local
13723 if within a let-binding for the same buffer.
13724 (let_shadows_buffer_binding_p): New function.
13725
13726 * eval.c (specbind): For buffer-local value,
13727 record the current buffer also.
13728 (unbind_to): Cope with that change.
13729
cad53475
GM
137302000-02-15 Gerd Moellmann <gerd@gnu.org>
13731
13732 * window.c (Fsave_window_excursion): Doc fix.
13733
1aa963c8
SM
137342000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13735
13736 * syntax.c (back_comment): Make sure we only consider comment-starters
13737 of the relevant style and return -1 in case of a failure to find the
13738 beginning of the comment.
13739 (Fforward_comment): If back_comment fails, go back to the position just
13740 after the comment-end.
13741 (scan_lists): Add comment describing a very minor bug.
13742
b9b84fd3
SM
137432000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13744
13745 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13746 `completion-regexp-list' in the docstring.
13747
3a28db80
DL
137482000-02-14 Dave Love <fx@gnu.org>
13749
13750 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13751
fb4a568d
SM
137522000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13753
13754 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13755 to Emacs' syntax. Also fix the comment about set/not-set meanings
13756 since Emacs syntax is not the value 0 any more.
13757 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13758 since it's now part of RE_SYNTAX_EMACS.
13759
1063ebb5
DL
137602000-02-12 Dave Love <fx@gnu.org>
13761
52283633 13762 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13763
fb07a302
GM
137642000-02-12 Gerd Moellmann <gerd@gnu.org>
13765
13766 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13767
aaf2320c
DL
137682000-02-12 Dave Love <fx@gnu.org>
13769
13770 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13771
13772 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13773 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13774 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13775
13776 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13777
13778 * s/nextstep.h: Don't define HAVE_ALLOCA.
13779
13780 * config.in: Add vfork bits.
13781
eedf8bde
GM
137822000-02-12 Gerd Moellmann <gerd@gnu.org>
13783
13784 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13785 unwind function to undo the effect of stopping atimers.
13786
52283633 13787 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13788
13789 * atimer.c (stopped_atimers): New variable.
13790 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13791 New functions.
13792
13793 * atimer.h (stop_other_atimers, run_all_atimers)
13794 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13795
eedf8bde
GM
13796 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13797
8476c2f8
KR
137982000-02-11 Ken Raeburn <raeburn@gnu.org>
13799
13800 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13801 library may depend on jpeg.
13802 (atimer.o): Depends on atimer.c.
13803
0e85e4a3
KH
138042000-02-11 Kenichi Handa <handa@etl.go.jp>
13805
13806 * insdel.c (del_range_1): Call update_compositions.
13807 (del_range_both): Call update_compositions just once..
13808
97fa0cc8
DL
138092000-02-10 Dave Love <fx@gnu.org>
13810
13811 * xfns.c (create_frame_xic): Fix initialization of automatic
13812 aggregates for pcc.
13813
25566a3c
KH
138142000-02-09 Kenichi Handa <handa@etl.go.jp>
13815
13816 * ccl.c (CCL_MAKE_CHAR): New macro.
13817 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13818 registers by CCL_MAKE_CHAR before calling translate_char.
13819 <CCL_TranslateCharacterConstTbl> Likewise.
13820
69da54ba
DL
138212000-02-08 Dave Love <fx@gnu.org>
13822
13823 * lread.c (__EXTENSIONS__): Define.
13824
f7136ee8
GM
138252000-02-08 Gerd Moellmann <gerd@gnu.org>
13826
13827 * puresize.h (BASE_PURESIZE): Increase to 650000.
13828
7768790b
EZ
138292000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13830
13831 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13832 the help message.
13833
38fd211b
EZ
138342000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13835
13836 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13837 md, mh, mb, mr, and me to the fake termcap entry.
13838
66e4690f
KR
138392000-02-06 Ken Raeburn <raeburn@gnu.org>
13840
13841 * sound.c (sound_cleanup): Don't call device close routine if the
13842 function pointer is null.
13843
a75dfea0
AI
138442000-02-06 Andrew Innes <andrewi@gnu.org>
13845
13846 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13847 around image definitions and prototypes.
13848 (gamma_correct) [WINDOWSNT]: New prototype.
13849
13850 * w32term.c (x_make_frame_visible): Replace call to
13851 input_poll_signal with poll_for_input.
13852
13853 * window.c [WINDOWSNT]: Include w32term.h.
13854
13855 * xdisp.c [WINDOWSNT]: Include w32term.h.
13856
13857 * makefile.nt: Add dependencies on w32gui.h.
13858 (OBJ1): Include atimer.obj.
13859 ($(BLD)\atimer.obj): New dependency rule.
13860
13861 * w32.c (sigmask): New function (does nothing).
13862 (sigunblock): Ditto.
13863
13864 * frame.c [WINDOWSNT]: Include w32term.h.
13865
13866 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13867
13868 * lread.c (syms_of_lread): Fix literal newlines.
13869
13870 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13871 the string constant limit (2048 bytes) in MSVC.
13872 (main): Ditto.
13873
59ddecde
GM
138742000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13875
52283633 13876 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13877 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13878 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13879 dispatch the event.
13880
07590973
DL
138812000-02-04 Dave Love <fx@gnu.org>
13882
13883 * fileio.c: Remove some unused vars.
13884 (_GNU_SOURCE): Define (for euidaccess).
13885
13886 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13887
13888 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13889 gcpro1, gcpro2.
13890 (read_minibuf): Deal with allow_props correctly.
13891
649351f9
EZ
138922000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13893
13894 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13895
66e4690f 138962000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13897
13898 * search.c (compile_pattern): If a cache entry has a nil regexp,
13899 fill in that entry instead of clobbering a previously cached
13900 string regexp.
13901
66e4690f 139022000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13903
13904 * puresize.h (BASE_PURESIZE): Increase to 610000.
13905
d240a249
GM
139062000-02-02 Gerd Moellmann <gerd@gnu.org>
13907
13908 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13909 can GC.
13910
ca91fb26
KH
139112000-02-02 Kenichi Handa <handa@etl.go.jp>
13912
25660570
KH
13913 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13914 instead of incrementing ic directly.
13915 <CCL_WriteExprConst> Likewise.
13916 <ccl_set_expr>: Set ic to jump_address.
13917
ca91fb26
KH
13918 * fileio.c (e_write): Fix the handling of
13919 CODING_FINISH_INSUFFICIENT_SRC.
13920
2ede9689
DL
139212000-02-01 Dave Love <fx@gnu.org>
13922
13923 * editfns.c (Fpropertize): Doc fix.
13924
13925 * process.c (Fstart_process): Doc fix.
13926
13927 * eval.c: Fix various doc strings not to duplicate information
13928 from help-manyarg-func-alist.
13929
52283633 13930 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13931
13932 * doc.c (Vhelp_manyarg_func_alist): New variable.
13933 (Fdocumentation): Use it.
13934 (syms_of_doc): Define it.
13935
b6680a0e
GM
139362000-01-31 Gerd Moellmann <gerd@gnu.org>
13937
2cb750ba
GM
13938 * xterm.c (xim_open_dpy): Remove unused local variable.
13939
52283633 13940 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13941
13942 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13943 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13944
b6680a0e
GM
13945 * fns.c (sweep_weak_table): New function.
13946 (sweep_weak_hash_tables): Use it. Keep on marking until there
13947 is no more change.
13948
994c5afe
GM
139492000-01-30 Gerd Moellmann <gerd@gnu.org>
13950
13951 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13952 that XTread_socket does not crash by trying to call XNoOp on a
13953 closed display.
427ec082 13954
f00276e3
JR
139552000-01-30 Jason Rumney <jasonr@gnu.org>
13956
13957 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13958 Change selected_frame to SELECTED_FRAME ().
13959 (w32_console_mouse_position): Remove #ifndef MULE from around
13960 `insist' parameter.
13961
13962 * makefile.nt: Remove dosfns.obj.
13963
13964 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13965
13966 * w32fns.c (w32_defined_color): Check for valid frame before
13967 applying gamma correction. Eliminate dependency on frame elsewhere.
13968 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13969 (w32_to_x_font): Use resx and resy not height_in and width_in.
13970 (x_to_w32_font): Doc fix.
13971 (xlfd_strip_height): New function to strip and return font height.
13972 (w32_font_match): Compare height separately from rest of xlfd
13973 spec, using xlfd_strip_height.
13974
13975 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13976 width_in. Use w32_defined_color in place of defined_color.
13977
13978 * w32faces.c: Merge more of DOS and X specifics in preparation for
13979 merge with xfaces.c.
13980 (defined_color): Remove FIXME comment.
13981 (tty_color_name): Provide w32-specific function.
13982 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13983
13984 * w32console.c (turn_on_face, turn_off_face): Removed.
13985 (w32_face_attributes): New function.
13986 (Global_variables): Reduce scope where possible.
13987 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13988 fill attribute.
13989 (hl_mode): Don't modify text attributes.
13990 (write_glyphs): Don't do anything if len <= 0. Use
13991 w32_face_attributes to get attributes for drawing. Write
13992 terminating codes using char_attr_normal.
13993 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13994 (update_begin, update_end): Likewise.
13995 (vga_stdcolor_name): New function.
13996 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13997 (Fset_screen_color): Remove char_attr_reverse.
13998
b08e8bb2
GM
139992000-01-29 Gerd Moellmann <gerd@gnu.org>
14000
14001 * xfns.c (xic_set_preeditarea): Take window parameter and
14002 window-relative pixel-positions.
14003
14004 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14005 is its frame's selected window.
14006 (xim_instantiate_callback): Likewise.
14007
14008 * xfns.c (x_create_im): Removed.
14009 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14010 (supported_xim_styles): Renamed from supported_styles.
14011 (best_xim_style): Renamed from best_style.
14012 (create_frame_xic): Renamed from xic_create_frame.
14013 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14014
b08e8bb2
GM
140152000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14016
14017 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14018 our frames, call XFilterEvent with 2nd parameter `None'.
14019 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14020 returning XBufferOverflow.
52283633 14021 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14022 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14023 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14024 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14025 (xim_initialize, xim_close)
14026 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14027 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14028 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14029 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14030
14031 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14032 and `xim_styles'.
14033 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14034 `xic_style' and `xic_xfs'.
14035 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14036 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14037 (FRAME_XIM): Removed.
14038
14039 * xfns.c (supported_styles): New variable.
14040 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14041 (xic_create_xfontset, best_style, xic_create_frame)
14042 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14043 (xic_set_xfontset): New functions.
14044
142e109c
DL
140452000-01-28 Dave Love <fx@gnu.org>
14046
14047 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14048
14049 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14050
b02786f9
GM
140512000-01-28 Gerd Moellmann <gerd@gnu.org>
14052
d060bc9f
GM
14053 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14054 for *scratch* if it already existed.
14055
b02786f9
GM
14056 * emacs.c (USAGE): New macro.
14057 (main): Use it to display usage information.
14058
2c52d7e4
EZ
140592000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14060
14061 Support for the menu-help feature:
14062
52283633 14063 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14064
14065 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14066 part of the line to the termscript file.
14067 (IT_clear_to_end): Clear the entire line, not just its beginning.
14068 (menu_help_message, prev_menu_help_message): New variables.
14069 (IT_menu_make_room): Make room for the help_text member.
14070 (IT_menu_display): New argument disp_help; all callers changed.
14071 If disp_help is non-zero, store the help text of the active menu
14072 item in menu_help_message.
14073 (XMenuAddPane): Initialize the help_text member to NULL.
14074 (XMenuAddSelection): New argument help_text. Store it in the
14075 XMenu structure.
14076 (XMenuActivate): New argument help_callback. If the value of
14077 menu_help_message has changed since the last time, display the
14078 menu help message text while waiting for the mouse to move. Clear
14079 the echo area before exiting.
14080 (XMenuDestroy): Free the help_text member.
14081
ffe0bcd1
GM
140822000-01-27 Gerd Moellmann <gerd@gnu.org>
14083
14084 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14085 XMenuAddSelection. Pass help callback to XMenuActivate.
14086 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14087
50dbd23f
EZ
140882000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14089
14090 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14091 and EMACS_SET_USECS.
14092
f5941bf8
GM
140932000-01-26 Dave Love <fx@gnu.org>
14094
6c67ddee
DL
14095 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14096
f5941bf8
GM
14097 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14098 an error may be signalled.
14099
9e49c990
GM
141002000-01-26 Gerd Moellmann <gerd@gnu.org>
14101
fc3cb460
GM
14102 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14103 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14104
9e49c990
GM
14105 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14106
d0c037d8
GM
141072000-01-25 Gerd Moellmann <gerd@gnu.org>
14108
14109 * charset.c (Fstring): If there is a multibyte char among
14110 the args, always return a multibyte string.
14111
e12489f9
GM
141122000-01-25 Gerd Moellmann <gerd@gnu.org>
14113
14114 * sysdep.c (sys_select): Turn atimers off and on instead of
14115 recording and restoring old alarm handler
14116
14117 * process.c (toplevel): Include atimer.h.
14118 (create_process_1): Rewritten.
14119 (create_process): Use atimers instead of alarm.
14120 (wait_reading_process_input) [hpux]: Turn atimers off instead
14121 of turning off SIGALRM.
14122 (wait_reading_process_input): Turn off atimers instead off
14123 calling stop_polling.
14124
14125 * emacs.c (main): Call init_atimer.
14126
14127 * keyboard.c (toplevel): Include systime.h and atimer.h.
14128 (polling_for_input): Removed because unused.
14129 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14130 (poll_timer): New variable.
14131 (poll_for_input, poll_for_input_1): New functions.
14132 (start_polling, stop_polling): Rewritten.
14133
14134 * keyboard.h (polling_for_input): Removed.
427ec082 14135
e12489f9
GM
14136 * atimer.h, atimer.c: New files.
14137
14138 * Makefile.in (obj): Add atimer.o.
14139 (atimer.o): New target.
14140
14141 * blockinput.h (pending_atimers): Add extern declaration.
14142 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14143
14144 * lisp.h (popup_activated_flag): Add extern declaration.
14145
14146 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14147 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14148 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14149
14150 * xterm.c (toplevel): Include atimer.h.
14151 (toolkit_scroll_bar_interaction): New variable.
14152 (Fxt_process_timeouts): Removed.
14153 (x_process_timeouts): New function.
14154 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14155 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14156 (x_make_frame_visible): Call poll_for_input_1 instead of
14157 input_poll_signal. Don't call alarm.
14158 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14159
1e5279b9
DL
141602000-01-24 Dave Love <fx@gnu.org>
14161
6c67ddee 14162 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14163 Don't use -cckr -- apparently not now necessary.
14164
edf6aeb8
EZ
141652000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14166
14167 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14168 screen boundary.
14169
9badad41
JR
141702000-01-23 Jason Rumney <jasonr@gnu.org>
14171
14172 * w32fns.c (w32_defined_color): Apply gamma correction before
14173 trying to map to the palette.
14174 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14175 to w32_clear_rect.
14176
14177 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14178 here. Callers changed to always pass real device context.
14179 (w32_draw_bitmap): Likewise.
14180 (w32_get_glyph_overhangs): Likewise.
52283633 14181 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14182 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14183 pfnSetScrollInfo and SetScrollRange.
14184 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14185 back into MULE characters after decoding them.
14186 (x_get_glyph_face_and_encoding): Likewise.
14187 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14188 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14189 (x_produce_glyphs): Calculate per char metrics for a character
14190 that we know exists in default font when font_not_found_p is true.
14191
63bd786b
JR
141922000-01-22 Jason Rumney <jasonr@gnu.org>
14193
14194 * makefile.nt (intervals.obj, composite.obj): New modules.
14195 (composite.h): Added as dependency where appropriate.
14196
14197 * w32gui.h (XGCValue): New struct for emulating X GCs.
14198
14199 * w32term.h (XCharStruct): New struct for emulating X.
14200
14201 * w32console.c (turn_on_face, turn_off_face): New functions.
14202 (change_line_highlight): New prototype for new redisplay.
14203 (write_glyphs): Support multibyte text. Support faces.
14204
52283633 14205 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14206
14207 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14208 throughout. struct frame * in place of FRAME_PTR.
14209 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14210 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14211 (w32_get_arg): Renamed from x_get_arg.
14212 (Fx_file_dialog): New function.
14213 (w32_list_fonts): Check cache before asking system.
14214 (Vw32_enable_synthesized_fonts): New variable.
14215 (Vw32_enable_italics): Obsolete, removed.
14216
14217 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14218 Use SELECTED_FRAME macro.
14219
14220 * w32menu.c: Add skeleton support for help strings on menus.
14221 (add_menu_item): Native checkbox and radio support added, but not
14222 yet enabled due to bugs.
14223 (push_menu_item): Add parameters type, selection and help.
14224 Callers updated.
14225 Formatting changes to reduce unnecessary diffs with xmenu.c.
14226
14227 * w32select.c (Fw32_set_clipboard_data): Update call to
14228 find_charset_in_str.
14229
14230 * w32term.c: Complete rewrite for new redisplay based on new
14231 xterm.c with necessary sections merged back in from old w32term.c.
14232
6ffd3cf7 142332000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14234
14235 * data.c (set_internal): Further fix in same criterion.
14236
6ffd3cf7 142372000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14238
14239 * data.c (set_internal): Fix the criteria for whether
14240 to swap out the old cached binding.
14241
60af03f1
DL
142422000-01-19 Dave Love <fx@gnu.org>
14243
14244 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14245
f9be074f
KH
142462000-01-18 Kenichi Handa <handa@etl.go.jp>
14247
14248 * regex.c (re_compile_fastmap): While checking a range table for
14249 `charset', skip flag bits for a character class correctly.
14250
52b8dbf9
GM
142512000-01-17 Gerd Moellmann <gerd@gnu.org>
14252
d36100c9
GM
14253 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14254
52283633 14255 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14256
14257 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14258 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14259
14260 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14261 MENU_ITEMS_ITEM_.*.
14262 (MENU_ITEMS_ITEM_HELP): New enumerator.
14263 (push_menu_item): Add parameter HELP. Record help in menu_items.
14264 (single_menu_item, single_submenu, list_of_items): Call
14265 push_menu_item with new parameter.
14266 (single_submenu): Set help string in widget value.
14267 (menu_highlight_callback): New function.
14268 (set_frame_menubar): Call lw_create_widget with new
14269 parameter list.
14270 (xmenu_show, xdialog_show): Ditto.
14271
3139018f
GM
142722000-01-13 Gerd Moellmann <gerd@gnu.org>
14273
14274 * sound.c (Fplay_sound): Improve doc string.
14275
83c8f461
RS
142762000-01-11 Richard M. Stallman <rms@gnu.org>
14277
14278 * lisp.h (set_internal): Enter the new arg.
14279
14280 * eval.c (specbind): Record buffer-local variables specially,
14281 indicating which buffer's binding was saved.
14282 (unbind_to): Restore buffer-local variables specially
14283 in the proper buffer.
14284
14285 * data.c (set_internal): New arg BUF.
427ec082 14286
83c8f461
RS
14287 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14288 * data.c (Fset): Pass new arg to set_internal.
14289 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14290
1fab1775
GM
142912000-01-11 Gerd Moellmann <gerd@gnu.org>
14292
52283633 14293 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14294
83c8f461 142952000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14296
14297 * minibuf.c (Ftry_completion): Doc fix.
14298
7a85e4df
GM
142992000-01-11 Gerd Moellmann <gerd@gnu.org>
14300
14301 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14302 vector, too.
14303
a970dae4
AS
143042000-01-11 Andreas Schwab <schwab@suse.de>
14305
14306 * coding.c (code_convert_region): Initialize total_skip.
14307
c65d14ee
DL
143082000-01-08 Dave Love <fx@gnu.org>
14309
14310 * eval.c (Fuser_variable_p): Check customizability too.
14311
834938d2
GM
143122000-01-07 Gerd Moellmann <gerd@gnu.org>
14313
14314 * minibuf.c (Fcompleting_read): Doc fix.
14315
e0303cd6
GM
143162000-01-05 Gerd Moellmann <gerd@gnu.org>
14317
8a26744b
GM
14318 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14319 -L /usr/local/lib.
14320
e0303cd6
GM
14321 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14322 Check that input style is supported before trying to create an
14323 IC for it.
14324 (x_window): Call x_create_im.
427ec082 14325
2e471eb5
GM
143262000-01-04 Gerd Moellmann <gerd@gnu.org>
14327
560a7bd2
GM
14328 * xfns.c (current_gif_memory_src): New variable.
14329 (gif_load): Record the address of the current memory source
14330 in current_gif_memory_src.
14331 (gif_read_from_memory): Use current_gif_memory_src.
14332
f9ee84a3
GM
14333 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14334 macros statement form.
14335
d1299cde
GM
14336 * sound.c (struct sound): Renamed from struct sound_file.
14337 (struct sound): Add members `data' and `header_size'.
14338 (enum sound_attr): Add SOUND_DATA.
14339 (current_sound, current_sound_device): Variables renamed from
14340 sound_file and sound_device.
14341 (parse_sound): Parse :data.
14342 (parse_sound): Handle sound data in strings.
14343 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14344 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14345 needed header size.
14346 (wav_play, au_play): Play sounds from string data.
14347
2e471eb5
GM
14348 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14349
14350 * lisp.h: Add prototype for allocate_string_data.
14351
52283633 14352 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14353
14354 * alloc.c (mark_buffer): Remove code in #if 0.
14355 (gc_sweep): Ditto.
14356 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14357 (strings_consed): New variable.
14358 (allocate_string): Set it.
14359 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14360 (Fmemory_use_counts): Return strings_consed. Use Flist.
14361
14362 * alloc.c: General cleanup in comments etc. Remove conditional
14363 compilation for `standalone'.
14364
14365 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14366
14367 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14368 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14369 (DONT_COPY_FLAG): Removed.
14370 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14371 (struct sdata, struct sblock): New
14372 (struct string_block): Rewritten.
14373 (STRINGS_IN_STRING_BLOCK): New macro.
14374 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14375 (large_sblocks, string_blocks, string_free_list): New variables.
14376 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14377 (init_strings): Rewritten.
14378 (allocate_string, allocate_string_data, compact_small_strings)
14379 (free_large_strings, sweep_strings): New functions.
14380 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14381 (struct string_block_head, current_string_block)
14382 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14383 (STRING_PAD): Removed.
14384 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14385 (Fgarbage_collect): Don't set mark bit in large strings.
14386 (mark_object): Mark strings differently. Mark symbol names
14387 differently.
14388 (survives_gc_p): Test marked strings differently.
427ec082 14389 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14390 symbol names.
14391 (compact_strings): Removed.
14392
42608ba8
EZ
143932000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14394
14395 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14396 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14397
e0a09e1a
KH
143982000-01-04 Kenichi Handa <handa@etl.go.jp>
14399
dd9f0750 14400 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14401 in a non-empty buffer.
dd9f0750 14402
3c0f3b15 14403 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14404
44cd3ae5
GM
144052000-01-03 Gerd Moellmann <gerd@gnu.org>
14406
14407 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14408 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14409
14410 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14411
c182a70f
EZ
144122000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14413
14414 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14415 need to test for MSDOS frames.
14416
24480d5b
EZ
144172000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14418
14419 * dosfns.c (unspecified_colors): Remove.
14420 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14421 unspecified_bg.
14422 (msdos_stdcolor_name): Return strings for unspecified fore- and
14423 back-ground colors.
14424
14425 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14426 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14427 (tty_color_name): Return Lisp strings for unspecified fore- and
14428 back-ground colors.
14429 (Finternal_set_lisp_face_attribute): Remove the special treatment
14430 for Qunspecified_{f,b}g.
52283633 14431 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14432
047f434a
GM
144332000-01-03 Gerd Moellmann <gerd@gnu.org>
14434
14435 * xdisp.c (reseat_at_next_visible_line_start): Position before
14436 newline only if ending up on a newline.
14437 (next_element_from_ellipsis): Return success. Handle case of
52283633 14438 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14439 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14440 returns 0.
14441
d684c676
EZ
144422000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14443
14444 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14445 (Fcolor_supported_p): Renamed from face-color-supported-p.
14446
5fe1d139
EZ
144472000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14448
14449 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14450 list of colors renamed to tty-defined-color-alist.
14451 (tty_color_name): Pass the frame to tty-color-by-index.
14452 (realize_tty_face): tty-color-alist is now a function which
14453 accepts the frame as argument.
14454
52283633 14455 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14456
816be8b8
EZ
144572000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14458
14459 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14460 encode_terminal_code.
14461
b635321e
EZ
144622000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14463
14464 * dispnew.c (mode_line_string): Support termcap frames as well.
14465
9b784e96
GM
144662000-01-01 Gerd Moellmann <gerd@gnu.org>
14467
27189709
GM
14468 * syntax.c (Fforward_word): Undo previous change.
14469
14470 * editfns.c (Fconstrain_to_field): Don't constrain if
14471 inhibit-field-text-motion is non-nil.
14472 (Fline_beginning_position): Undo previous change.
14473 (Fline_end_position): Ditto.
14474
14475 * syntax.c (Fforward_word): Notice field boundaries only if
14476 inhibit-field-text-motion is nil.
14477
14478 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14479
14480 * editfns.c (Vinhibit_field_text_motion): New variable.
14481 (inhibit-field-text-motion): New DEFVAR_LISP.
14482 (Fline_beginning_position, Fline_end_position): Notice field
14483 boundaries only if inhibit-field-text-motion is nil.
14484
45158a91
GM
14485 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14486 All calls adjusted.
14487 (x_build_heuristic_mask): Likewise.
14488 (xbm_load_image_from_file): Change error output.
14489 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14490 (gif_load, gs_load, x_kill_gs_process): Ditto.
14491
9b784e96
GM
14492 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14493 color indices when accessing raster pixels.
63cec32f
GM
14494 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14495 one of :file or :data.
14496 (enum pbm_keyword_index): Add PBM_DATA.
14497 (pbm_format): Add :data.
14498 (pbm_image_p): Allow either :file or :data.
14499 (pbm_read_file): New function.
14500 (pbm_scan_number): Rewritten to read from string.
14501 (pbm_load): Support :data.
9b784e96 14502
2cb085db 14503See ChangeLog.8 for earlier changes.
6922b018
KH
14504
14505;; Local Variables:
49b3bd82 14506;; coding: iso-2022-7bit
6922b018 14507;; End:
2a34a036
GM
14508
14509 Copyright (C) 2001 Free Software Foundation, Inc.
14510 Copying and distribution of this file, with or without modification,
14511 are permitted provided the copyright notice and this notice are preserved.