(x_set_frame_parameters): Avoid infinite recursion for
[bpt/emacs.git] / src / ChangeLog
CommitLineData
a4184c1c
GM
12001-11-18 Gerd Moellmann <gerd@gnu.org>
2
3 * puresize.h (BASE_PURESIZE): Increase to 750000.
4
f6fa0866
PJ
52001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6
7 * frame.c (Fframe_live_p): Doc fix.
8
f4ca4b00
RS
92001-11-18 Richard M. Stallman <rms@gnu.org>
10
11 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
12 (message_dolog_marker3): New static variables hold three markers.
13 (syms_of_xdisp): Initialize and staticpro them.
14 (message_dolog): Use message_dolog_marker1..3 instead of
15 allocating markers each time. Unchain them when done.
16
f4e25f94
RS
172001-11-17 Richard M. Stallman <rms@gnu.org>
18
19 * doc.c (Fsnarf_documentation): Doc fix.
20
91c153e2
AS
212001-11-17 Andreas Schwab <schwab@suse.de>
22
23 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
24
65b7d3e7
RS
252001-11-17 Richard M. Stallman <rms@gnu.org>
26
27 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
28
6b5f6311
JR
292001-11-17 Jason Rumney <jasonr@gnu.org>
30
31 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
32
be676094
GM
332001-11-17 Gerd Moellmann <gerd@gnu.org>
34
35 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
36 with invalid position.
37
032a857d
RS
382001-11-16 Richard M. Stallman <rms@gnu.org>
39
40 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
41
42 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
43 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
44 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
45
46 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
47
b6270150
SM
482001-11-16 Stefan Monnier <monnier@cs.yale.edu>
49
50 * fileio.c (build_annotations): Split off the tail.
51 (build_annotations_2): New fun. Extracted from build_annotations.
52 (Fwrite_region): Split the call to build_annotations into two
53 calls to build_annotations and build_annotations_2.
54
792e5cbd
PJ
552001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
56
98cbb9fa
PJ
57 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
58 clear_waiting_for_input with argument.
59
60 * xterm.h (x_update_cursor): Remove duplicated prototype.
61
b6270150 62 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 63
ea904403 64 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 65
ea904403 66 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 67
fa336b91
SM
682001-11-16 Stefan Monnier <monnier@cs.yale.edu>
69
70 * fileio.c (choose_write_coding_system): New fun, extracted
71 from Fwrite_region.
72 (Fwrite_region): Use it.
73
74 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
75 (funcall_lambda, run_hook_with_args): Make static and add prototype.
76 (ml_apply, find_handler_clause): Add prototype.
77
077907d4
EZ
782001-11-16 Eli Zaretskii <eliz@gnu.org>
79
aa2af83a
EZ
80 * config.in: Add #undef HAVE_COFF_H.
81
077907d4
EZ
82 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
83 Required for ISC 4.1.
84
1756e2fb
EZ
852001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
86
87 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
88 Andrew Wiseman <a.wiseman@btclick.com>.
89
06e8f738
KS
902001-11-16 Kim F. Storm <storm@cua.dk>
91
92 The following changes are made to clean up the various internal
93 references to the fringes to actually use the term `fringe' for
94 them. Previously, they were called `flags areas', `bitmap areas',
95 `left/right side of windows', or implicitly as `flags' or
96 `bitmaps':
97
98 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
99 Comments fixed. Use renamed symbols.
fa336b91 100
06e8f738 101 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 102
06e8f738
KS
103 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
104 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
105 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 106
06e8f738 107 * msdos.c: Comment fix.
fa336b91 108
06e8f738 109 * w32fns.c: Use renamed symbols.
fa336b91 110
06e8f738
KS
111 * w32term.c: Comment fixes. Use renamed symbols.
112 (fringe_bitmap_type): Renamed from bitmap_type.
113 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
114 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
115 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 116
06e8f738
KS
117 * w32term.h: Comment fixes. Use renamed symbols.
118 (fringes_extra): Renamed from flags_areas_extra.
119 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
120 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
121 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
122 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
123 (FRAME_X_LEFT_FRINGE_WIDTH):
124 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
125 (FRAME_X_RIGHT_FRINGE_WIDTH):
126 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
127
06e8f738 128 * widget.c: Use renamed symbols.
fa336b91 129
06e8f738
KS
130 * window.c: Comment fixes. Use renamed symbols.
131 (coordinates-in-window-p): Doc fix.
fa336b91 132
06e8f738 133 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 134
06e8f738 135 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 136
06e8f738 137 * xfns.c: Use renamed symbols.
fa336b91 138
06e8f738
KS
139 * xterm.c: Comment fixes. Use renamed symbols.
140 (fringe_bitmap_type): Renamed from bitmap_type.
141 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
142 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
143 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
144
145 * xterm.h: Comment fixes. Use renamed symbols.
146 (fringes_extra): Renamed from flags_areas_extra.
147 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
148 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
149 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
150 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
151 (FRAME_X_LEFT_FRINGE_WIDTH):
152 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
153 (FRAME_X_RIGHT_FRINGE_WIDTH):
154 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 155
9ce647f4
JR
1562001-11-15 Jason Rumney <jasonr@gnu.org>
157
158 * w32menu.c (add-menu-item): Make help_echo and radio buttons
159 work for most menu items. From David Ponce
160 <david.ponce@wanadoo.fr>.
161
9b784ab8
GM
1622001-11-15 Gerd Moellmann <gerd@gnu.org>
163
9f7e52b4
GM
164 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
165 Some x_set_* function expect to be called even if old and new
166 value are equal.
167
168 * xdisp.c (build_desired_tool_bar_string): Accept zero
169 tool_bar_button_relief.
170
171 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
172
173 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 174
34e5d0af
GM
175 * xterm.c (x_draw_bar_cursor): If the background color of the
176 glyph under the cursor equals the frame's cursor color, use
177 the glyph's foreground color for drawing the bar cursor.
178
9b784ab8
GM
179 * dispnew.c (direct_output_forward_char): Fix character/byte
180 position comparison.
181
89512fcd
MB
1822001-11-15 Miles Bader <miles@gnu.org>
183
184 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
185 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
186 Update arguments to find_field.
187 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
188 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
189 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
190 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
191
7d18891d
RS
1922001-11-14 Richard M. Stallman <rms@gnu.org>
193
d2936d21
RS
194 * editfns.c (Fpropertize): Allow call with 1 arg.
195
7d18891d
RS
196 * dispextern.h (image_background, image_background_transparent):
197 Conditionalize on HAVE_X_WINDOWS.
198
1992001-11-13 Richard M. Stallman <rms@gnu.org>
200
201 * print.c (Fprin1_to_string): Doc fix.
202
203 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
204
205 * floatfns.c (Fceiling, Ffloor): Doc fixes.
206
207 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
208
209 * fileio.c (Ffile_accessible_directory_p): Doc fix.
210
211 * eval.c (syms_of_eval): Doc fix.
212
213 * coding.c (syms_of_coding): Doc fix.
214
215 * doc.c (Fsnarf_documentation): Doc fix.
216
217 * dispnew.c (syms_of_display): Doc fix.
218
219 * category.c (Fget_unused_category): Doc fix.
220
221 * buffer.c (syms_of_buffer): Doc fixes.
222
9474c847
EZ
2232001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
224
225 * print.c (prin1, print): Doc fix.
226
e3059a5d
PJ
2272001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
228
229 * fontset.h: Remove prototypes for variables
230 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
231
232 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
233 `Vclip_large_size_font'.
234
b3700ae7
JR
2352001-11-13 Jason Rumney <jasonr@gnu.org>
236
237 * w32fns.c: Doc fix.
238
eae936e2
PJ
2392001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
240
4bb962be
PJ
241 * xfaces.c (Fface_attributes_as_vector): Doc fix.
242
0a332240
PJ
243 * w32fns.c (Fx_synchronize): Reindent.
244
ddb67bdc
PJ
245 * fns.c: Doc fix.
246
3467c402
PJ
247 * emacs.c: Doc fix.
248
249 * coding.c: Doc fix.
250
6e1b91d7
PJ
251 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
252 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
253 `new style' [w/`doc:' keyword].
254
f6e34773
PJ
255 * xmenu.c (x-popup-menu): Reindent.
256 (x-popup-dialog): Likewise.
257
fa336b91 258 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 259
c2552f79
PJ
260 * xdisp.c (Fdump_tool_bar_row): Reindent.
261
94c7167b
PJ
262 * minibuf.c (Fminibuffer_complete_word): Reindent.
263 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 264 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
265 (Fminibuffer_message): Likewise.
266
462a5e3a
PJ
267 * fns.c (Freverse): Reindent.
268
b8de5714
PJ
269 * eval.c (Fif): Reindent.
270 (Fand): Likewise.
271
deb8e082
PJ
272 * editfns.c (Fuser_real_login_name): Reindent.
273 (Finsert_buffer_substring): Likewise.
274 (Fcompare_buffer_substrings): Likewise.
275 (Fsubst_char_in_region): Likewise.
276
bacf09b4
PJ
277 * dispnew.c (Fsit_for): Reindent.
278 (Fframe_or_buffer_changed_p): Likewise.
279 (Finternal_show_cursor_p): Likewise.
280 (syms_of_display): Likewise.
281
eae936e2
PJ
282 * alloc.c (Flist): Reindent.
283 (Fvector): Likewise.
284
1c1d3d69
RS
2852001-11-12 Richard M. Stallman <rms@gnu.org>
286
287 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
288 LeaveNotify events. Only FocusIn and FocusOut do that now.
289 (x_display_and_set_cursor): Do display hollow cursors in active
290 minibuffer windows when they are not selected.
291
b6f4c7ba
JR
2922001-11-12 Jason Rumney <jasonr@gnu.org>
293
294 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
295 * w32term.c: Change doc-string comments to `new style'.
296 [w/`doc:' keyword]. Doc fixes.
297
298 * w32fns.c: Don't define max.
299 (Fx_open_connection): Only execute once.
300
a89f435d
PJ
3012001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
302
303 * ccl.c: Change macros to use do-while block instead of if-else.
304 Use braces to follow GNU Coding Standards.
305
a4cd0cd7
RS
3062001-11-11 Richard M. Stallman <rms@gnu.org>
307
eafb659a
RS
308 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
309
310 * lread.c (read_escape): Use end_of_file_error for reporting eof.
311
a4cd0cd7
RS
312 * insdel.c (replace_range): Use adjust_markers_for_replace
313 instead of adjust_markers_for_delete and adjust_markers_for_insert.
314
315 * intervals.h: Declare set_text_properties and set_text_properties_1.
316
317 * textprop.c (set_text_properties_1): New subroutine
318 broken out of set_text_properties.
319 (set_text_properties): Use set_text_properties_1.
320
321 * intervals.c (graft_intervals_into_buffer):
322 Use set_text_properties_1 to clear out properties.
323
324 * search.c (Freplace_match): Use replace_range to insert
325 and delete. Don't request property inheritance from
326 surrounding text.
327
91823618
JR
3282001-11-10 Jason Rumney <jasonr@gnu.org>
329
330 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
331 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 332 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 333
86928dfb
GM
3342001-11-10 Gerd Moellmann <gerd@gnu.org>
335
fa336b91 336 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
337 instead of malloc/free.
338
40ef1eda
PJ
3392001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
340
ab8469eb
PJ
341 * xfaces.c (merge_face_vectors): Use braces to follow GNU
342 Coding Standards.
343 (Finternal_set_lisp_face_attribute): Likewise.
344
a78e0303
PJ
345 * buffer.c (Fbury_buffer): Likewise.
346
40ef1eda
PJ
347 * indent.c (current_column_1): Remove unused variable `prev_col'.
348
fabf4a91
PJ
349 * coding.c (encode_coding): Use precomputed value of `src'.
350 (encode_coding): Remove unused variable `src_end'.
351 (code_convert_region): Remove unused variables `count'.
352
0c99b139
JR
3532001-11-07 Jason Rumney <jasonr@gnu.org>
354
355 * w32term.c (x_display_and_set_cursor): Do not move system caret
356 if cursor_glyph is NULL.
357
830ddd77
PJ
3582001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
359
360 * keymap.c (access_keymap): Fix compilation error.
361
55c6d645
MB
3622001-11-07 Miles Bader <miles@gnu.org>
363
364 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
365
5de38842
PJ
3662001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
367
7a4564a4
PJ
368 * intervals.c (graft_intervals_into_buffer):
369 Remove #ifdef'd-out code.
370 (graft_intervals_into_buffer): Remove unused variable `middle'.
371
5de38842
PJ
372 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
373 code (eval-current-buffer).
374 Change doc-string comments to `new style' [w/`doc:' keyword].
375
4fa23df5
RS
3762001-11-06 Richard M. Stallman <rms@gnu.org>
377
378 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
379
7a6a97d7
SM
3802001-11-06 Stefan Monnier <monnier@cs.yale.edu>
381
c191d13c
SM
382 * lread.c (read1): Fix behavior with nested backquoting.
383
7a6a97d7
SM
384 * keyboard.c (make_lispy_event): Check integerness and fix
385 Lisp_Object/int mixup.
386
44dc78e0
PJ
3872001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
388
389 * fns.c (copy_hash_table): Remove unused variable `v'.
390
17893c65
PJ
391 * fontset.c (fontset_font_pattern): Remove unused variable
392 `family_registry'.
393
4d994a79
PJ
394 * indent.c (current_column_1): Remove unused variable `prev_col'.
395
d5360cc7
RS
3962001-11-05 Richard M. Stallman <rms@gnu.org>
397
398 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
399
400 * buffer.c (Fkill_buffer): Don't delete auto save file
401 if buffer is modified.
402
96238a5a
AI
4032001-11-05 Andrew Innes <andrewi@gnu.org>
404
405 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
406 CHECK_NUMBER_CDR.
407
d9d54213
RS
4082001-11-05 Richard M. Stallman <rms@gnu.org>
409
410 * unexelf.c (unexec): Minor changes; clean up comments.
411
b116830b
SS
4122001-11-05 Sam Steingold <sds@gnu.org>
413
414 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
415
3297e2a1
AS
4162001-11-05 Andreas Schwab <schwab@suse.de>
417
418 * sound.c (sound_perror): Save errno from being clobbered.
419
9212319f 4202001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
421
422 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
423 the program image directly.
424
7dd73b78
PJ
4252001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
426
427 * buffer.h (Fbuffer_local_value): Add prototype.
428
982f6c7e
RS
4292001-11-04 Richard M. Stallman <rms@gnu.org>
430
d31053f9
RS
431 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
432 and CHECK_BUFFER.
433
434 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
435 (record_char): Likewise.
436
437 * keyboard.c (make_lispy_event): Don't insist a drag event must
438 move to a different buffer position. Instead, check for moving at
439 least double_click_fuzz.
440
441 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
442
443 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
444
982f6c7e
RS
445 * indent.c (current_column_1, Fmove_to_column): Separate the code
446 for display-table glyphs from the code buffer text, to fix
447 bugs in the former.
448
830047fd
RS
4492001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
450
451 * buffer.c (Fbuffer_local_value): New function.
c191d13c 452 (syms_of_buffer): Defsubr it.
b116830b 453
830047fd
RS
454 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
455 value of `cursor-in-non-selected-windows'.
456
457 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
458 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
459 (syms_of_xdisp): Initialize it.
b116830b 460
2df5238c
PJ
4612001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
462
4e397688
PJ
463 * xfns.c (Fx_create_frame): Doc fix.
464
48b0f3ae
PJ
465 * coding.c: Change doc-string comments to `new style' [w/`doc:'
466 keyword].
467
2df5238c
PJ
468 * eval.c (top_level_value, top_level_set): Remove commented and
469 #ifdef'd-out code.
470 (Fdefvar): Fix usage in doc-string.
471
3ecaf7e5
RS
4722001-11-03 Richard M. Stallman <rms@gnu.org>
473
474 * xfns.c: Include unistd.h, if it exists.
475
476 * editfns.c: Move the include of ctype.h after unistd.h.
477
478 * gmalloc.c: Test BROKEN_PROTOTYPES.
479
8db2e33b
KR
4802001-11-03 Ken Raeburn <raeburn@gnu.org>
481
482 * lisp.h (CHECK_STRING_CAR): New macro.
483 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
484 treating XCAR and XCDR as lvalues.
485 (openp): Use CHECK_STRING_CAR.
486 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
487
aed29b97
EZ
4882001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
489
490 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 491 (SIGMASKTYPE): Define.
aed29b97
EZ
492
493 * syssignal.h (sigunblock): Don't define if already defined.
494
6cb16f95
PJ
4952001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
496
16b45be4
EZ
497 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
498 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
499 Fix typos in comments.
500
020f9b38
PJ
501 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
502 and #ifdef'd-out code.
503 Fix and reindent comments.
504
c191d13c 505 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 506
6cb16f95
PJ
507 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
508 argument `i' in macros.
509
510 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
511 `i' in macros.
512
16b45be4
EZ
513 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
514 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
515 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
516 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
517 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
518 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
519 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
520 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
521 in macros.
522
523 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
524 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
525 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
526 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
527 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
528 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
529 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
530 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
531 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
532 (remove unused second argument).
533
7e9d3c2f
SM
5342001-11-02 Stefan Monnier <monnier@cs.yale.edu>
535
536 * syntax.c (describe_syntax): New wrapper.
537 (Finternal_describe_syntax_value): Rename from describe_syntax.
538 Don't insert space at front and \n at the end.
539 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
540
541 * regex.c (re_wctype): Try to fix some warnings.
542 (regcomp, regexec): Don't forget the __restrict.
543
e6bff182
RS
5442001-11-02 Richard M. Stallman <rms@gnu.org>
545
546 * textprop.c (Fget_char_property): Doc fix.
547
9ba48103
PJ
5482001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
549
550 * process.c (Fstart_process): Add usage to doc-string.
551
552 * data.c (Fsetq_default): Ditto.
553
554 * callint.c (Finteractive): Ditto.
555
c22e59e1
SM
5562001-11-01 Stefan Monnier <monnier@cs.yale.edu>
557
558 * macros.c: Don't include keymap.h any more.
559
9271ed2c
RS
5602001-11-01 Richard M. Stallman <rms@gnu.org>
561
e6bff182
RS
562 * data.c (Fmake_local_variable): Doc fix.
563
564 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
565 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
566
9271ed2c
RS
567 * keymap.c (Fdescribe_buffer_bindings): Print character property
568 bindings along with or instead of the buffer local map.
569 Make the overriding maps override what they should.
570
8b8bd9c6
PJ
5712001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
572
573 * window.c (grow_mini_window): Fix typo in comment.
574
27188d11
GM
5752001-11-01 Gerd Moellmann <gerd@gnu.org>
576
7b49b9d2
GM
577 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
578 (XTset_vertical_scroll_bar): Likewise.
579
43f7c3ea
GM
580 * xfns.c (x_build_heuristic_mask): Use four_corners_best
581 instead of IMAGE_BACKGROUND.
c22e59e1 582
b350c2e5
GM
583 * xfns.c (four_corners_best): Reindent.
584
c22e59e1 585 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
586 Handle :box so that it is possible to specify sexprs.
587
d576358b
PJ
5882001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
589
590 * xfaces.c (Finternal_merge_in_global_face): Reindent.
591 (Fface_font): Ditto.
592 (Finternal_set_alternative_font_registry_alist): Ditto.
593 (Ftty_suppress_bold_inverse_default_colors): Ditto.
594
595 * xfns.c (x-get-resource): Reindent.
596
bf00d461
EZ
5972001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
598
599 * s/hpux11.h: New file.
600
4e10df59
PJ
6012001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
602
2b209b97
PJ
603 * emacs.c (USAGE1): Show command line option --no-window-system
604 instead of --no-windows in usage.
605 (standard_args): Rename --no-windows to --no-window-system.
606 (bug_reporting_address): Follow Emacs coding conventions.
607
9dbc9081
PJ
608 * eval.c (Fcommandp): Doc fix.
609 Change doc-string comments to `new style' [w/`doc:' keyword].
610
4e10df59
PJ
611 * frame.c (Fframe_live_p): Doc fix.
612
613 * buffer.c (selective-display-ellipses): Doc fix.
614
dd387b25
GM
6152001-10-31 Gerd Moellmann <gerd@gnu.org>
616
fe957e65
GM
617 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
618
dd387b25
GM
619 * xfaces.c (realize_x_face): If C is not a single-byte character,
620 set the face's colors_copied_bitwise_p instead of the defaulted_p
621 members which have a different meaning.
622 (free_face_colors): Do nothing for a face whose colors have been
623 copied bitwise.
624
c22e59e1 625 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 626
2e1280f8
PJ
6272001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
628
687784e8
PJ
629 * marker.c, mocklisp.c: Change doc-string comments to `new style'
630 [w/`doc:' keyword].
2e1280f8 631
b9d9a9b9
GM
6322001-10-31 Gerd Moellmann <gerd@gnu.org>
633
634 * fns.c (require_unwind): Return Lisp_Object.
635
48400103
PJ
6362001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
637
fa1361cb
PJ
638 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
639 (last-input-char): Revert doc-string to be the same as the
640 doc-string of `last-input-event'.
641
48400103
PJ
642 * xdisp.c: Fix typos in comments.
643
eafa3196
GM
6442001-10-31 Gerd Moellmann <gerd@gnu.org>
645
646 * window.c (grow_mini_window): Handle case that the root
647 window is already smaller than the nominal mininum height.
648
747d3f2a
SM
6492001-10-30 Stefan Monnier <monnier@cs.yale.edu>
650
bf9bb76f
SM
651 * emacs.c (main): Don't call keys_of_macros any more.
652
653 * lisp.h (keys_of_macros): Remove.
654
655 * macros.c (keys_of_macros): Remove.
656
747d3f2a
SM
657 * xfaces.c (Fface_attribute_relative_p): Declare args.
658
5e905a57
JR
6592001-10-30 Jason Rumney <jasonr@gnu.org>
660
661 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
662 (enum_font_cb2): Ignore fonts with vertical orientation.
663
3a426197
RS
6642001-10-30 Richard M. Stallman <rms@gnu.org>
665
666 * keyboard.c (Finput_pending_p): Doc fix.
667
a742d646
GM
6682001-10-30 Gerd Moellmann <gerd@gnu.org>
669
259cf6bc
GM
670 * xterm.c (x_after_update_window_line): Don't run the code
671 clearing in borders for rows whose visible height is 0.
672
3f99f948
GM
673 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
674 resized_p flag is set. If not set, use the much less flickering
675 method previously used.
676
677 * dispnew.c (change_frame_size_1): Set frame's resized_p.
678
679 * frame.h (struct frame) <resized_p>: New member.
680
b4a3be43
GM
681 * lread.c (to_multibyte): Ensure read_buffer is at least twice
682 as large as the number of bytes to convert.
747d3f2a 683
a742d646
GM
684 * lread.c (to_multibyte): New function.
685 (read1): Use it.
686
cacbb9e9
EZ
6872001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
688
689 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
690
99cb6b2f
GM
6912001-10-30 Gerd Moellmann <gerd@gnu.org>
692
327f42ee 693 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
694 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
695 if the row's fill_line_p is set and drawing the last glyph with
696 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 697
99cb6b2f
GM
698 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
699
8e8223e2
SM
7002001-10-29 Stefan Monnier <monnier@cs.yale.edu>
701
702 * xmenu.c: Include coding.h and charset.h.
703 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
704 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
705 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
706 Explicitly set wv->help. Use `TRUE' rather than `True'.
707 (menu_help_callback): Use empty_string.
708
709 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
710 (Fx_popup_dialog): Explicitly init f.
711 (w32_menu_display_help): Use empty_string.
712
4d083a8f
RS
7132001-10-29 Richard M. Stallman <rms@gnu.org>
714
b2304472
RS
715 * fns.c (Frequire): Detect recursive try to require the same
716 feature 3 or more levels deep, and get error.
717 (require_unwind): New subroutine.
718 (require_nesting_list): New variable.
719 (syms_of_fns): Init and staticpro it.
720
4d083a8f
RS
721 * print.c (print_object): Clarify indication of insertion type.
722
2fe41216
EZ
7232001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
724
90480000
EZ
725 * coding.c (syms_of_coding): Document that locale-coding-system is
726 used for decoding input on X.
727
2fe41216
EZ
728 * window.c (Fscroll_left, Fscroll_right): Doc fix.
729
74e79967
PJ
7302001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
731
732 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
733 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
734
60ebcfe8
GM
7352001-10-29 Gerd Moellmann <gerd@gnu.org>
736
9a7bdceb
GM
737 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
738 use NO_CURSOR if cursor_in_non_selected_windows is false.
739
3f08fcd2
GM
740 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
741 the slant attribute if FRAME is t.
742
0ccfdad2
GM
743 * xfns.c (x_set_internal_border_width): Set frame garbaged
744 when X window doesn't exist yet.
745
ef253080
GM
746 * xterm.c (x_after_update_window_line): Clear internal border
747 in different circumstances.
b116830b 748
60ebcfe8
GM
749 * xterm.c (XTread_socket) <KeyPress>: Don't use
750 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
751 <handa@etl.go.jp>.
752
73d25f9c
EZ
7532001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
754
755 * m/ibms390.h: New file. From Adam Thornton
756 <athornton@sinenomine.net>.
757
cac1daf0
GM
7582001-10-28 Gerd Moellmann <gerd@gnu.org>
759
053b3256 760 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 761
cac1daf0
GM
762 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
763 a loop counter.
764
13b1a09c
PJ
7652001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
766
186486eb
PJ
767 * emacs.c: Use argv[0] instead of emacs when -t was specified.
768
4707d2d0
PJ
769 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
770 keyword].
771 Fix typos in comments.
b116830b 772
d883731c
PJ
773 * emacs.c (bug_reporting_address): New function.
774 Use it when displaying usage message.
775
04012254
PJ
776 * minibuf.c (read_minibuf): Remove unused external declaration of
777 variable `Qread_only'.
778
13b1a09c
PJ
779 * keymap.c (access_keymap): Remove unused variable `charset'.
780
5bbf4378
MB
7812001-10-28 Miles Bader <miles@gnu.org>
782
783 * xfaces.c (merge_face_heights): Handle TO being relative as well.
784 Remove #ifdef'd-out code.
785 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
786 (syms_of_xfaces): Initialize them.
787
1ce1e4ee
JR
7882001-10-27 Jason Rumney <jasonr@gnu.org>
789
790 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
791 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
792 position using the system caret.
793
794 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
795 (w32_system_caret_height, w32_system_caret_x)
796 (w32_system_caret_y): New variables for tracking system caret.
797 (w32_initialize): Initialize them.
c2d53558 798 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 799
c2d53558
SM
800 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
801 New messages types.
1ce1e4ee
JR
802
803 * w32term.c (note_mouse_highlight): Clear old help_echo.
804
4e30ce42
PJ
8052001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
806
bb4600a4
PJ
807 * xterm.c: Fix typo in a comment.
808
7db35a48
PJ
809 * emacs.c: Fix typos in comments.
810 Remove unnecessary spaces.
811 Change doc-string comments to `new style' [w/`doc:' keyword].
812 (USAGE2): Fix typos in usage string.
813
a7248e4f
PJ
814 * xterm.c: Fix typo in a comment.
815
4e30ce42
PJ
816 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
817 emacs.c.
818
62725a92
GM
8192001-10-27 Gerd Moellmann <gerd@gnu.org>
820
798dbe1f 821 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 822 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
823 farther backward when target_y was not reached.
824
62725a92
GM
825 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
826 Display errno only if non-zero.
827 (sound_warning): New function.
828 (vox_configure): Don't treat failing to set sample rate as error.
829 (various places): Improve error messages.
830
d4e34d24
EZ
8312001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
832
944e6f60
EZ
833 * fileio.c (Faccess_file): Run the argument filename through
834 Fexpand_file_name, before using it.
835
d4e34d24
EZ
836 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
837 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
838
38d2af0c
GM
8392001-10-26 Gerd Moellmann <gerd@gnu.org>
840
da80a8d5
GM
841 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
842
38d2af0c
GM
843 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
844 Fix clearing in the case of scroll bars on the right.
c2d53558 845
56f508dd
EZ
8462001-10-26 Juanma Barranquero <lektu@terra.es>
847
848 * w32gui.h (XImage): Add a dummy typedef.
849
fbd5ceb2
GM
8502001-10-26 Gerd Moellmann <gerd@gnu.org>
851
c2d53558 852 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 853
b23236fb
EZ
8542001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
855
856 * frame.c (Fframe_parameter): Fix last change.
857
5d991fc4
EZ
858 * fileio.c: Revert last change (which removed old commented-out
859 version of expand-file-name). Add a comment that explains why
860 this old version should not be removed.
861
879eadc3
GM
8622001-10-25 Gerd Moellmann <gerd@gnu.org>
863
75700ff2
GM
864 * frame.c (Fframe_parameter): Fix a bug whereby some
865 ``artificial'' frame parameters, like `minibuffer' were not
866 obtained by calling Fframe_parameters.
867
dfe92a6a
GM
868 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
869 cursor differently.
870
879eadc3
GM
871 * xdisp.c (move_it_vertically_backward): Compute line height
872 differently. Add heuristic to try to be more compatible to 20.x.
873
e1010ebe
SM
8742001-10-25 Stefan Monnier <monnier@cs.yale.edu>
875
d73a471b
SM
876 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
877
d6da5a06
GM
878 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
879 boolean.
e1010ebe 880
f66bd220
MB
8812001-10-25 Miles Bader <miles@gnu.org>
882
883 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
884 BG is a pointer to a structure, not a structure.
885 (gif_format, png_format): Add missing commas.
886
d436d538
RS
8872001-10-24 Richard M. Stallman <rms@gnu.org>
888
889 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 890 (syms_of_xfaces): Defsubr it.
d436d538 891
075c507b
PJ
8922001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
893
894 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
895 variable `area'.
896
d492b584
PJ
8972001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
898
c2d53558 899 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 900
e2a57b34
MB
9012001-10-25 Miles Bader <miles@gnu.org>
902
903 * dispextern.h (struct image): Add `background',
904 `background_valid', and `background_transparent' fields.
905 (image_background, image_background_transparent): New declarations.
906 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
907 * xfns.c (image_background, image_background_transparent)
908 (four_corners_best): New functions.
c2d53558 909 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
910 (gs_format): Add `:background' entry.
911 (lookup_image): Set IMG's background color if specified.
912 (pbm_load, xbm_load_image, png_load): Set IMG's background field
913 when appropriate.
914 (x_clear_image_1): Reset `background_valid' and
915 `background_transparent_valid' fields.
916 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
917 calculating it here. Set IMG's background_transparent field.
918 (enum xpm_keyword_index): Add XPM_BACKGROUND.
919 (enum png_keyword_index): Add PNG_BACKGROUND.
920 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
921 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
922 (enum gif_keyword_index): Add GIF_BACKGROUND.
923 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 924 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
925 Pre-calculate image background color where necessary.
926 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
927 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
928 color to use for image glyph reliefs.
929
b547b6e8
GM
9302001-10-24 Gerd Moellmann <gerd@gnu.org>
931
d9e3b8c6
GM
932 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
933 in full-width rows.
c2d53558 934
b547b6e8
GM
935 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
936 Fix clearing of area not covered by scroll bar.
937
2beb36f9
PJ
9382001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
939
940 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
941 and `real_start'.
c2d53558 942 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
943 (glyph_rect): Remove unused variable `area'.
944
76cb5e06
GM
9452001-10-24 Gerd Moellmann <gerd@gnu.org>
946
bdbdebff 947 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
948
949 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
950 (row_containing_pos): Take additional argument DY.
951 Treat rows ending in middle of char differently.
62e33982
GM
952 (display_line): Handle tabs on window systems differently.
953
954 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
955 with additional argument.
956
957 * dispextern.h (row_containing_pos): Adjust prototype.
958
76cb5e06
GM
959 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
960 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
961 (try_window_id, try_window_reusing_current_matrix)
962 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
963 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
964
996fee11
PJ
9652001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
966
c9e60620
PJ
967 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
968 gnuemacs).
969 (HAVE_BOXES): Fix typo in comment.
970 (push_menu_pane): Fix typo in comment.
971
3b552d56
PJ
972 * xdisp.c: (display_prop_string_p): Remove unused local declaration
973 of `Qwhen'.
974 (single_display_prop_string_p): Remove unused local declarations
975 of `Qwhen' and `Qmargin'.
976 (string_buffer_position): Remove unused variable `around'.
977 (store_frame_title): Remove unused variable `width'.
978
15c565ac
PJ
979 * window.c: Don't define max.
980 (coordinates_in_window): Remove unused variable `uy'.
981
a8818eb9
PJ
982 * widget.c: Don't define max.
983
996fee11
PJ
984 * process.c: Don't define max.
985 (create_process): Remove unused variable `buffer'.
986
496e1a5b
GM
9872001-10-23 Gerd Moellmann <gerd@gnu.org>
988
c2d53558 989 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 990
5905ae8b
EZ
9912001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
992
993 * xfaces.c (Finternal_set_lisp_face_attribute)
994 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
995 frame is on a windowed display.
996
24db49fb
GM
9972001-10-23 Gerd Moellmann <gerd@gnu.org>
998
c2d53558
SM
999 * dispnew.c (sync_window_with_frame_matrix_rows):
1000 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1001 of marginal areas.
1002
c2d53558 1003 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1004
f0487f05
EZ
10052001-10-23 Andreas Schwab <schwab@suse.de>
1006
1007 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1008 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1009
f0a48a01
GM
10102001-10-23 Gerd Moellmann <gerd@gnu.org>
1011
c2d53558 1012 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1013 REAL_END. Notice if cursor gets overwritten.
1014 (notice_overwritten_cursor): Take X positions as parameters.
1015 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1016 around call to x_draw_glyphs.
1017
a50a10a0
PJ
10182001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1019
fc11dff0
PJ
1020 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1021 instead of C) and usage.
a50a10a0 1022
fc11dff0
PJ
1023 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1024 of C) and usage.
a50a10a0
PJ
1025
1026 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1027 `left', `max_width' and `max_height'.
1028
8738febd
GM
10292001-10-23 Gerd Moellmann <gerd@gnu.org>
1030
1031 * xdisp.c (display_line): For a tab continued to the next line,
1032 set row's ends_in_middle_of_char_p.
1033
653c329b
GM
10342001-10-22 Gerd Moellmann <gerd@gnu.org>
1035
1036 * xdisp.c (display_line): Fix computation of continuation lines
1037 width for TABs.
1038
f958c5ac
PJ
10392001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1040
7ba51063
PJ
1041 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1042 `Qlaplace'.
1043
f958c5ac
PJ
1044 * fileio.c: Remove unused code.
1045
eb360291
MB
10462001-10-22 Miles Bader <miles@gnu.org>
1047
1048 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1049 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1050 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1051
98515cf0
JR
10522001-10-21 Jason Rumney <jasonr@gnu.org>
1053
1054 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1055
93026d88
EZ
10562001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1057
1058 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1059 (Finsert_string): Avoid the multi-line string literals warning.
1060
c9a95b79
MB
10612001-10-22 Miles Bader <miles@gnu.org>
1062
1063 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1064 (Fdocumentation): Don't use it.
1065 (syms_of_doc): Don't initialize it.
1066
1067 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1068 * print.c (Fwith_output_to_temp_buffer): Likewise.
1069 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1070 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1071 (Fsave_restriction): Likewise.
c2d53558
SM
1072 * eval.c (Frun_hooks, Frun_hook_with_args)
1073 (Frun_hook_with_args_until_failure)
1074 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1075 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1076 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1077 (Funwind_protect, Fcondition_case): Likewise.
1078 * coding.c (Ffind_operation_coding_system): Likewise.
1079 * keyboard.c (Ftrack_mouse): Likewise.
1080
a3b10252
MB
10812001-10-21 Miles Bader <miles@gnu.org>
1082
c2d53558 1083 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1084 (Fmake_hash_table): Add usage: string to doc string.
1085 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1086 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1087 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1088 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1089 (Fml_prefix_argument_loop): Likewise.
1090
c6f73eec
PJ
10912001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1092
c2d53558 1093 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1094
c6f73eec
PJ
1095 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1096 style' [w/`doc:' keyword].
1097
1098 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1099 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1100 comments to `new style' [w/`doc:' keyword].
1101
3cf3436e
JR
11022001-10-21 Jason Rumney <jasonr@gnu.org>
1103
1104 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1105
c169b8f1
JR
1106 * w32term.c (remember_mouse_glyph): New function.
1107 (w32_mouse_position): Use it.
1108 (note_mouse_movement): If the mouse moved off the glyph, remember
1109 its new position.
c2d53558 1110
4fdd691b
JR
1111 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1112 (w32_display_info): Add mouse_face_overlay.
1113
c169b8f1
JR
1114 * w32term.c (notice_overwritten_cursor): Renamed from
1115 note_overwritten_text_cursor. Rewritten to take glyph widths into
1116 account.
1117 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1118 (fast_find_string_pos): New function.
1119 (fast_find_position): Return the correct vpos. Add parameter
1120 STOP. In the final row, stop before glyphs having STOP as object.
1121 Don't consider glyphs that are not from a buffer.
1122 (fast_find_position) [0]: Add a presumably more correct version
1123 for after 21.1.
1124 (expose_window_tree, expose_frame): Don't compute intersections here.
1125 (expose_window): Do it here instead.
1126 (expose_window_tree, expose_window, expose_line): Return 1 when
1127 overwriting mouse-face.
1128 (expose_window): If W is the window currently being updated, mark
1129 the frame garbaged.
1130 (expose_frame): If mouse-face was overwritten, redo it.
1131 (x_use_underline_position_properties): New variable.
1132 (syms_of_xterm): DEFVAR_BOOL it.
1133 (x_draw_glyph_string): Add comment to use it in future.
1134 (x_draw_glyph_string): Restore clipping after drawing box.
1135 Fix a computation of the underline position.
1136 (w32_get_glyph_string_clip_rect): Minor cleanup.
1137 (x_fill_stretch_glyph_string): Remove an assertion.
1138 (x_produce_glyphs): Don't convert multibyte characters
1139 to unibyte characters in unibyte buffers.
1140 (cursor_in_mouse_face_p): New function.
1141 (x_draw_stretch_glyph_string): Use it to choose a different GC
1142 when drawing a cursor within highlighted text. Don't draw
1143 background again if it has already been drawn.
1144 (x_draw_glyph_string_box): Don't draw a full-width
1145 box just because the glyph row's full_width_p flag is set.
1146 (x_draw_glyphs): Fix computation of rightmost x for
1147 full-width rows.
1148 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1149 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1150 change bottom shadow accordingly. Some cleanup.
1151 (x_update_window_end): Handle overwritten mouse face
1152 also for tool bar windows.
1153 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1154 DRAW is DRAW_IMAGE_RAISED.
1155 (clear_mouse_face): Return 1 if text with mouse face was
1156 actually redrawn. Make the function static. Reset
1157 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1158 optimize away highlighting if we pass over that same overlay again.
1159 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1160 to detect a case where we have to highlight a different region
1161 despite not having left the currently highlighted region.
1162 Set mouse_face_overlay in the x_display_info. Avoid changing the
1163 mouse pointer shape when show_mouse_face has already done it, or
1164 there is no need. Handle mouse-face and help-echo in strings.
1165 (glyph_rect): New function.
1166 (w32_mouse_position): Use it to raise the threshold for mouse
1167 movement event generation.
1168 (w32_initialize_display_info): Initialize the x_display_info's
1169 mouse_face_overlay.
1170 (w32_set_vertical_scroll_bar): Don't clear a zero height
1171 or width area.
1172 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1173 a widget to zero height.
1174
3cf3436e 1175 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1176 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1177 equivalents in menu_items.
1178 (w32_menu_show): Don't overwrite an item's name with its key
1179 description in case the description is a multibyte string.
1180 (single_submenu): Some cleanup.
1181
1182 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1183 (postprocess_image): New function.
1184 (lookup_image): Call it for all image types except PostScript.
1185 (x_kill_gs_process): Call postprocess_image.
1186 (tiff_error_handler, tiff_warning_handler): New functions.
1187 (tiff_load): Install them as handlers.
1188 (x_kill_gs_process): Recognize if someone has cleared the image
1189 cache under us.
1190 (valid_image_p): Protect better against invalid image
1191 specifications. Previous code could signal an error.
1192 (Fx_hide_tip, Fshow_tip): Doc fix.
1193 (Fv_max_tooltip_size): New variable.
1194 (syns_of_xfns): DEFVAR_LISP it.
1195 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1196 window buffer to *tip* right after creating the frame. Set frame's
1197 window_width. Use a maximum tooltip size specified by
1198 Vx_max_tooltip_size, if that has valid contents.
1199 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1200 Make sure the tooltip is completely visible.
1201 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1202 (Fx_create_frame): Adjust the frame's height for presence
1203 of the tool bar before calling x_figure_window_size.
1204 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1205 when the window gets smaller.
1206 (x_set_foreground_color): Set frame's cursor_pixel.
1207 (x_set_foreground_color, x_set_background_color): Cleaned up.
1208 (x_set_font): Handle case of x_new_fontset returning the same name
1209 as before, although there was a change in fontsets.
1210
386ca361
MB
12112001-10-21 Miles Bader <miles@gnu.org>
1212
c2d53558 1213 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1214 (Flogxor): Add usage: string to doc string.
1215 * charset.c (Fstring): Likewise.
1216 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1217 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1218
14ff1ee0
PJ
12192001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1220
03be2694
PJ
1221 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1222
1223 * alloc.c: Reindent DEFUNs with doc: keywords.
1224
1225 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1226
14ff1ee0
PJ
1227 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1228 keyword].
1229
71431a0e
GM
12302001-10-20 Gerd Moellmann <gerd@gnu.org>
1231
6aa97356 1232 * (Version 21.1 released.)
71431a0e 1233
39f624fa
PJ
12342001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1235
c2d53558 1236 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1237
1238 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1239 0 because unused.
1240
1241 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1242 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1243 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1244
abcce93a
MB
12452001-10-20 Miles Bader <miles@gnu.org>
1246
1247 The following changes remove the glyph_row `inverse_p' field,
1248 which is never set anymore, due to other changes:
1249
1250 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1251 (reassert_line_highlight, change_line_highlight): Declarations removed.
1252 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1253 (line_hash_code, row_equal_p, fake_current_matrices)
1254 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1255 (update_frame_line, update_frame_line, update_frame_line):
1256 Don't use `inverse_p' field.
1257 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1258 change_line_highlight_hook.
1259 (XTreassert_line_highlight, x_change_line_highlight):
1260 Functions removed.
c2d53558 1261 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1262 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1263 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1264 `inverse_p' field.
c2d53558 1265 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1266 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1267 (w32_reassert_line_highlight, x_change_line_highlight):
1268 Functions removed.
1269 * w32console.c (reassert_line_highlight, change_line_highlight):
1270 Functions removed.
1271 (initialize_w32_display): Don't set reassert_line_highlight_hook
1272 or change_line_highlight_hook.
1273 (hl_mode): Function removed.
c2d53558
SM
1274 (reset_terminal_modes, set_terminal_modes, update_begin)
1275 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1276 (clear_frame, ins_del_lines): Don't call it.
1277 * termhooks.h (reassert_line_highlight_hook)
1278 (change_line_highlight_hook): Declarations removed.
1279 * term.c (reassert_line_highlight_hook)
1280 (change_line_highlight_hook): Variables removed.
1281 (reassert_line_highlight, change_line_highlight): Functions removed.
1282 * msdos.c (IT_reassert_line_highlight)
1283 (IT_change_line_highlight): Functions removed.
1284 (internal_terminal_init): Don't set reassert_line_highlight_hook
1285 or change_line_highlight_hook.
1286 (highlight): Variable removed.
c2d53558 1287 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1288 (IT_set_terminal_modes): Don't set or use it.
1289
1290 The following changes remove inverse-video support for terminals
1291 that use a `magic cookie' standout mode. Due to changes in the
1292 way mode-lines are displayed, such support no longer works
1293 anyway, and it's probable that almost no one uses such terminals
1294 anymore:
1295
1296 * term.c (standout_requested): Variable removed.
1297 (update_end, highlight_if_desired): Don't use it.
1298 (chars_wasted, copybuf): Variables removed.
1299 (write_standout_marker): Function removed.
c2d53558 1300 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1301 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1302 Don't use `chars_wasted' or `copybuf'.
1303 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1304 Set `costs_set' to true.
1305 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1306 `chars_wasted'.
1307 (clear_end_of_line): Function removed.
1308 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1309 (clear_to_end): Call `clear_end_of_line' instead of
1310 `clear_end_of_line_raw'.
54800acb
MB
1311 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1312 (term_init): Don't set them.
1313 Turn off any standout/underline modes that require magic cookies.
c2d53558 1314 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1315 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1316 Remove special processing for magic-cookie standout modes.
1317 (turn_off_face, turn_on_face): Remove special processing for
1318 underline magic-cookie glitch.
abcce93a 1319
0b5f679f
RS
13202001-10-19 Richard M. Stallman <rms@gnu.org>
1321
1322 * eval.c (syms_of_eval): Doc fixes.
1323
5a4a5bd4
GM
13242001-10-19 Gerd Moellmann <gerd@gnu.org>
1325
1326 * xdisp.c (redisplay_internal): Don't clear echo area if the
1327 mini-window is selected.
1328
79f1f96c
MB
13292001-10-19 Miles Bader <miles@gnu.org>
1330
b57c2708
MB
1331 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1332 doesn't take precedence if the affected property's value is nil.
1333
1334 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1335
79f1f96c
MB
1336 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1337 with fields and suggest using `forward-line' to avoid them.
1338 * editfns.c (Fline_beginning_position, Fline_end_position):
1339 Clarify documentation.
1340
ef879104
SM
13412001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1342
1343 * keymap.c (current_minor_maps): `override' only shadows its
1344 correspondent in minor-mode-map-alist, not the whole tail.
1345
97f4db8c
AI
13462001-10-18 Andrew Innes <andrewi@gnu.org>
1347
1348 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1349 optimization. The fontp->encoding array was not being initialized
1350 correctly when compiled with optimizations by MSVC.
1351
e6b70fd8
GM
13522001-10-18 Gerd Moellmann <gerd@gnu.org>
1353
30903479 1354 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1355
0e804d38
AI
13562001-10-17 Andrew Innes <andrewi@gnu.org>
1357
1358 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1359
1360 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1361 font_info.charset field.
1362
1363 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1364 rather than working it out by calling w32_codepage_for_font for
1365 every glyph.
1366
66e5868a
AI
13672001-10-17 Andrew Innes <andrewi@gnu.org>
1368
1369 * w32term.c (w32_read_socket): Determine clipping rectangle for
1370 the entire frame, including areas covered by scrollbars and the
1371 menubar. This avoids internal arguments about whether a frame is
1372 fully obscured or not.
1373
15b00083
GM
13742001-10-17 Gerd Moellmann <gerd@gnu.org>
1375
23e8bd86
GM
1376 * xdisp.c (try_window_id): Undo last change. Give up if
1377 window ends in strings.
30903479 1378
9c6ba6d1 1379 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1380 end if the rest of the window after the window end was already blank.
23e8bd86 1381
30903479 1382 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1383 for the release of 21.1.
1384
30903479 1385 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1386
945220bd
MB
13872001-10-17 Miles Bader <miles@gnu.org>
1388
1389 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1390 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1391 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1392 Change doc-string comments to `new style' [w/`doc:' keyword].
1393 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1394 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1395 out make-docfile.
1396
14242528
MB
13972001-10-16 Miles Bader <miles@gnu.org>
1398
1399 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1400
3ddf952f
GM
14012001-10-16 Gerd Moellmann <gerd@gnu.org>
1402
1403 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1404 *scratch*.
1405
f3fbd155
KR
14062001-10-16 Ken Raeburn <raeburn@gnu.org>
1407
1408 Avoid the assumption that car and cdr slots of cons cells are
1409 addressable lvalues; this allows for easier experimentation with
1410 other lisp implementations that may not permit such accesses for
1411 various reasons. Not quite complete -- buffer.c still needs some
1412 work, and w32/mac files need rechecking -- so compile-time
1413 enforcement is left disabled for now.
1414
1415 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1416 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1417 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1418 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1419 (XSETCAR, XSETCDR): New macros.
1420 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1421 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1422 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1423 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1424 XSETCDR.
1425 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1426 * buffer.c (record_buffer, Fbury_buffer)
1427 (swap_out_buffer_local_variables, recenter_overlay_lists)
1428 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1429 fields of a cons cell respectively.
1430 * callint.c (quotify_args, Fcall_interactively): Likewise.
1431 * ccl.c (Fregister_code_conversion_map): Likewise.
1432 * coding.c (detect_coding_system): Likewise.
1433 * composite.c (get_composition_id, make_composition_value_copy):
1434 Likewise.
30903479
SM
1435 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1436 (swap_in_symval_forwarding, set_internal, Fset_default)
1437 (Fmake_variable_buffer_local, Fmake_local_variable)
1438 (Fmake_variable_frame_local): Likewise.
f3fbd155 1439 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1440 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1441 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1442 * minibuf.c (get_minibuffer): Likewise.
1443 * search.c (Fmatch_data): Likewise.
1444 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1445 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1446 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1447 Likewise.
1448 * w32term.c (x_delete_display): Likewise.
1449 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1450 Likewise.
c2d53558 1451 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1452 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1453 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1454 (Fread_file_name): Use XSETCAR.
1455 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1456 CHECK_NUMBER_CDR.
1457 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1458 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1459 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1460 CHECK_NUMBER_CDR.
1461 * keyboard.c (read_char): Alter list traversal to avoid taking the
1462 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1463 (parse_menu_item): Use XSETCAR and XSETCDR.
1464 (reach_char_x_menu_prompt): Use XSETCAR.
1465 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1466 (Fcommand_execute): Use XSETCDR.
1467 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1468 (openp): Change list traversal to avoid using XCAR as lvalue.
1469 (read_list): Use XSETCDR.
1470 * process.c (wait_reading_process_input): Change wait_for_cell
1471 handling to avoid taking addresses of cons cell slots.
30903479
SM
1472 * xselect.c (x_own_selection, x_handle_selection_clear)
1473 (x_clear_frame_selections): Use XSETCDR.
1474 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1475 (x_handle_property_notify, x_get_foreign_selection)
1476 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1477
502150e5
PJ
14782001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1479
018ba359
PJ
1480 * buffer.c: Put doc strings in comments.
1481
30903479 1482 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1483
b56ba8de
SS
14842001-10-15 Sam Steingold <sds@gnu.org>
1485
1486 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1487
6a0b793a
PJ
14882001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1489
30903479
SM
1490 * process.c (process-inherit-coding-system-flag)
1491 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1492 in comment.
1493
a1f17501 1494 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1495 arguments. Put doc strings in comments.
a65da641
PJ
1496
1497 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1498
aa601ad0
GM
14992001-10-15 Gerd Moellmann <gerd@gnu.org>
1500
30903479 1501 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1502
aa601ad0
GM
1503 * window.c (select_window_1): Unfreeze window start. Remove a
1504 doubled test for WINDOW being live.
1505
288148a1
PJ
15062001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1507
dd8d1e71
PJ
1508 * fns.c (Fmapconcat): Fix typo in a doc string.
1509
288148a1
PJ
1510 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1511
9f5eb4a3
GM
15122001-10-15 Gerd Moellmann <gerd@gnu.org>
1513
1514 * xterm.c (x_draw_glyph_string): Restore clipping after
1515 drawing box.
1516
dbae44c8
PJ
15172001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1518
30903479 1519 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1520
0c88c937
SM
15212001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1522
56378db4
GM
1523 * indent.c (skip_invisible): Use new retval of
1524 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1525
845e4cf4
SM
1526 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1527 If a parent is reached and noinherit is set, exit immediately.
1528 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1529
0c88c937
SM
1530 * s/ms-w32.h (EXEC_SUFFIXES):
1531 * s/msdos.h (EXEC_SUFFIXES):
1532 * process.h (EXEC_SUFFIXES): Remove.
1533
1534 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1535 (decode_suffixes): Remove.
1536
1537 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1538 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1539 (invisible_ellipsis_p): Remove.
0c88c937
SM
1540
1541 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1542 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1543 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1544 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1545 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1546
d19be8a9
PJ
15472001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1548
04d7d066
PJ
1549 * lisp.h (Ftop_level): Add prototype.
1550
d624284c
PJ
1551 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1552 (XTread_socket): Improve style of comments to follow other
1553 comments.
1554
a87414f9
PJ
1555 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1556 is already prototyped in included lisp.h).
1557
d19be8a9
PJ
1558 * frame.c (Fset_mouse_position): Improve style of comment to
1559 follow other comments.
1560 (Fset_mouse_pixel_position): Improve style of comment to follow
1561 other comments.
1562 (Fmake_frame_visible): Doc fix and typo in comment.
1563 (Fmake_frame_invisible): Doc fix and typo in comment.
1564 (Ficonify_frame): Fix typo in comment.
1565
c061c855
GM
15662001-10-14 Gerd Moellmann <gerd@gnu.org>
1567
37f6b5b6 1568 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1569 * term.c, alloc.c: Put doc strings in comments.
c061c855 1570
e641b454
GM
15712001-10-13 Gerd Moellmann <gerd@gnu.org>
1572
1573 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1574 Provide definitions for doc strings in comments.
1575
1576 * fns.c: Put doc strings in comments.
1577
51724e26
EZ
15782001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1579
1580 * dired.c (file_name_completion): Ignore a candidate directory if
1581 it matches an element in completion-ignored-extensions that ends
1582 in a slash.
1583 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1584 feature in the doc string.
1585 (Ffile_name_completion): Ditto.
1586
be5fc59b
SM
15872001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1588
5a1373f3
SM
1589 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1590
1591 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1592
1593 * lisp.h (Fprovide): Update prototype.
1594 (Ffeaturep, invisible_p): Remove.
1595
bbc4a3d3 1596 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1597 (DOLIST, LOOP_PROPVAL): New macros.
1598 (invisible_p, invisible_ellipsis_p): Use them.
1599 (invisible_noellipsis_p): New function.
1600 (syms_of_xdisp): Use empty_string.
1601
1602 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1603
1604 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1605 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1606
1607 * print.c (Fwith_output_to_temp_buffer): Align with
1608 internal_with_output_to_temp_buffer.
1609 (print_preprocess): Use traverse_intervals_noorder.
1610 (print_object): Update call to traverse_intervals.
1611
1612 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1613 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1614
1615 * intervals.c (traverse_intervals_noorder): New function.
1616 (search_for_interval, count_intervals): Use it.
1617 (traverse_intervals): Use less stack space and drop `depth' arg.
1618
1619 * fns.c (Ffeaturep): Add new `subfeature' arg.
1620 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1621 (Qsubfeatures): New var.
1622 (syms_of_fns): Initialize it.
1623
026f408d
SM
1624 * keymap.c (Fkey_description): Use empty_string.
1625 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1626 (syms_of_keymap): Setup inheritance between maps.
1627 Don't export Sdescribe_bindings_internal any more.
1628
be5fc59b
SM
1629 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1630
3365175e
GM
16312001-10-12 Gerd Moellmann <gerd@gnu.org>
1632
1633 * xterm.c (notice_overwritten_cursor): Renamed from
1634 note_overwritten_text_cursor. Rewritten to take glyph widths into
1635 account.
1636
2ab7765c
EZ
16372001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1638
1639 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1640 multi-line strings without a trailing "\n\".
1641
311346bb
PJ
16422001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1643
1644 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1645 defined.
1646
2168e04d
SM
16472001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1648
026f408d
SM
1649 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1650
c0ec53ad
SM
1651 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1652 * w32proc.c (sys_spawnve):
1653 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1654 * w32.c (check_windows_init_file):
1655 * sound.c (Fplay_sound):
026f408d 1656 * emacs.c (init_cmdargs):
c0ec53ad
SM
1657 * process.c (Fstart_process): Update calls to openp.
1658
1659 * callproc.c (Vexec_suffixes): New var.
1660 (Fcall_process): Update call to openp.
1661 (decode_suffixes): New function.
1662 (syms_of_callproc): Init exec-suffixes.
1663
1664 * lread.c (Vload_suffixes, default_suffixes): New vars.
1665 (openp): Take a lisp list of suffixes.
1666 Check for file-name-handlers even if the file was absolute already.
1667 (syms_of_lread): Declare load-suffixes.
1668 (Fload): Fix up call to openp.
1669 Don't bother checking for file-name-handler at the very beginning.
1670
f6333468
SM
1671 * keymap.h (Fcopy_keymap): Don't export.
1672
1673 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1674 (Vload_suffixes, Vexec_suffixes): Declare.
1675 (openp): Update prototype.
f6333468
SM
1676
1677 * emacs.c (empty_string): New var.
1678 (syms_of_emacs): Initialize it.
1679
1680 * search.c (wordify): Use it.
1681
1682 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1683 selected window if it's not displayed there. Handle the case
1684 when the window is dedicated.
1685 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1686
1687 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1688
2168e04d
SM
1689 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1690 Remove left_ok and right_ok.
1691 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1692 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1693 new meaning of b_property.
1694
1695 * syntax.c (update_syntax_table): Simplify.
1696 (Fforward_comment): Don't skip quoted chars when going backward.
1697
13d95cc0
GM
16982001-10-11 Gerd Moellmann <gerd@gnu.org>
1699
beb0990f
GM
1700 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1701 in case I is of some unsigned type, in which case
1702 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1703 comparison becomes bogus.
1704
cb938d46
GM
1705 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1706 (Fuser_full_name): Fix bug treating a float as a fixnum.
1707
1708 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1709
1710 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1711
13d95cc0
GM
1712 * lisp.h (circular_list_error): Add prototype.
1713
1714 * data.c (Qcircular_list): New variable.
1715 (circular_list_error): New function.
1716 (syms_of_data): Initialize it Qcircular_list.
1717
e35f6ff7
SM
17182001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1719
1720 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1721 casefiddle.c, buffer.c: Include keymap.h.
1722
619632ac
GM
17232001-10-10 Gerd Moellmann <gerd@gnu.org>
1724
1725 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1726 options. From Dave Love <d.love@dl.ac.uk>.
1727
5e5388f6
GM
17282001-10-09 Gerd Moellmann <gerd@gnu.org>
1729
1730 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1731 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1732
14a3dff7
GM
1733 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1734 unsigned char.
1735 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1736
76ba8daf
AI
17372001-10-08 Andrew Innes <andrewi@gnu.org>
1738
1739 * lisp.h [max]: Undef min and max before redefining them.
1740
1741 * w32gui.h: Do not undef min and max.
1742
1743 * w32heap.h: Do not undef min and max.
1744
1745 * s/ms-w32.h: Do not undef min and max.
1746
166253cb
SM
17472001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1748
1749 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1750
0c4d9527
SS
17512001-10-08 Sam Steingold <sds@gnu.org>
1752
1753 * keymap.c (current-active-maps): Quote newlines (compilation error).
1754
14bfa771
EZ
17552001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1756
1757 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1758 bindings.elc, since otherwise doc strings in bindings.el get wrong
1759 offsets in etc/DOC.
1760
bdb7aa47
SM
17612001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1762
9985827f
SM
1763 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1764
1765 * keyboard.h (map_prompt): Remove.
1766
1767 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1768 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1769
bdb7aa47
SM
1770 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1771
1772 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1773
1774 * keyboard.c (map_prompt): Remove.
1775 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1776 Use Fkeymap_prompt.
1777
1778 * keymap.h: New file. Extracted from lisp.h.
1779
9985827f
SM
1780 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1781 (accessible_keymaps_1): New function.
1782 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1783 (Fwhere_is_internal): Use Fcurrent_active_maps.
1784 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1785 Insert in current buffer rather than standard-output.
1786 Don't call `help-mode'. Export to elisp.
1787 (describe_buffer_bindings): New wrapper.
1788 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1789 and Sdescribe_buffer_bindings.
1790
402c9a51
GM
17912001-10-08 Gerd Moellmann <gerd@gnu.org>
1792
9985827f 1793 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1794 Remove code setting signal handler.
1795
9985827f 1796 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1797 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1798
3fe81fdf
PJ
17992001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1800
1801 * keyboard.c: Don't define min/max.
1802
55fa7820
GM
18032001-10-08 Gerd Moellmann <gerd@gnu.org>
1804
9985827f 1805 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1806 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1807 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1808 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1809 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1810 Don't define min/max.
1811
1812 * lisp.h (min, max): New macros.
1813
55fa7820
GM
1814 * puresize.h (BASE_PURESIZE): Increase to 725000.
1815
1aad31e4
PJ
18162001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1817
9180dc8c
PJ
1818 * xfaces.c (free_frame_menubar): Add prototype.
1819
01f67d2c
PJ
1820 * lisp.h (init_window): Add prototype.
1821
1822 * editfns.c: Include ctype.h.
1823
1824 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1825 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1826 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1827 variable `sb'.
1828
5f351ff1
PJ
1829 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1830 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1831 `popup_activated_flag' and `title'.
1832
479dfe87
PJ
1833 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1834
dff49fc8
PJ
1835 * emacs.c (main): Remove extra `;'.
1836
248ac615
PJ
1837 * atimer.h (struct atimer): Fix typos in a comment.
1838
1839 * atimer.c: Fix typo.
1840
af232c7d
PJ
1841 * Makefile.in: Fix typo.
1842
1843 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1844
d876f455
MB
18452001-10-07 Miles Bader <miles@gnu.org>
1846
1847 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1848
0037e2f2
KR
18492001-10-07 Ken Raeburn <raeburn@gnu.org>
1850
b056f36d
KR
1851 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1852 Lisp_Object.
1853
0037e2f2
KR
1854 * lisp.h (Ffield_end): Declare.
1855
1a4372ef
GM
18562001-10-07 Gerd Moellmann <gerd@gnu.org>
1857
a4a74e8c
GM
1858 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1859
1860 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1861
1862 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1863
1864 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1865
1a4372ef
GM
1866 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1867 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1868
1869 * alloc.c (inhibit_garbage_collection): Simplify.
1870 (Fmemory_use_counts): Ditto.
1871
9985827f 1872 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1873 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1874 most-negative-fixnum.
1875
9985827f 1876 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1877 (FIXNUM_OVERFLOW_P): New macros.
1878
4650e362
MB
18792001-10-06 Miles Bader <miles@gnu.org>
1880
1881 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1882 scroll_bar_bottom_shadow_pixel fields.
1883 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1884 for the shadows, and tell the toolkit about them if we succeed.
1885 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1886 Free scroll-bar shadow colors.
1887 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1888 Free scroll-bar shadow colors when the background color changes.
1889 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1890 Initialize scroll-bar shadow-color fields.
1891
ace64e0a
GM
18922001-10-05 Gerd Moellmann <gerd@gnu.org>
1893
1894 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1895
ec66bdc7
MB
18962001-10-05 Miles Bader <miles@gnu.org>
1897
9985827f
SM
1898 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1899 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1900 New functions (were in simple.el).
9985827f 1901 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1902 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1903 (syms_of_minibuf): Initialize them.
1904
a0fb4492
GM
19052001-10-05 Gerd Moellmann <gerd@gnu.org>
1906
1907 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1908 (tiff_load): Install them as error and warning handler.
1909
0bcf87c1
AI
19102001-10-04 Andrew Innes <andrewi@gnu.org>
1911
1912 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1913 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1914 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1915 (x_to_w32_charset): Handle private format for unknown charsets.
1916 Handle wildcards in charset spec, by ignoring them.
1917 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1918 "*-" prefix from charset.
1919 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1920 handle the truncated font spec form constructed by font_list_1, so
1921 that we correctly identify the charset fields. Don't remove "*-"
1922 prefix from charset.
1923 (w32_list_synthesized_fonts): Fix argument to alloca.
1924
c89e4bc5
GM
19252001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1926
1927 * window.h (MINI_WINDOW_P): Use NILP.
1928
1929 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1930
1931 * termhooks.h (struct input_event): Use proper type for `kind'.
1932
19332001-10-04 Gerd Moellmann <gerd@gnu.org>
1934
1935 This handles unknown keysyms better than before. For example,
1936 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1937 Emacs formerly completely ignored F5. With the change, it derives
1938 a key symbol from the name of the X keysym, `ccaron' in this case.
1939 Reported by Martin Buchholz.
1940
1941 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1942 unknown keysyms.
1943
1944 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1945 that EVENT->code isn't a function key, use the keysym's name.
1946
19472001-10-04 Gerd Moellmann <gerd@gnu.org>
1948
1949 FOREACH is a macro that should make it easier to loop over Lisp
1950 lists with checks for cycles and proper lists.
1951
1952 * lisp.h (LIST_END_P, FOREACH): New macros.
1953
19542001-10-04 Gerd Moellmann <gerd@gnu.org>
1955
1956 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1957 called for a lost connection. Prevent dumping core in this case.
1958 Instead print the X error, and exit. On user request.
1959
1960 * xterm.c (error_msg): New variable.
1961 (x_fatal_error_signal): New function.
1962 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1963 as fatal_error_signal_hook around the call to XtCloseDisplay.
1964
1965 * emacs.c (fatal_error_signal_hook): New variable.
1966 (fatal_error_signal): Call that function.
1967
19682001-10-04 Gerd Moellmann <gerd@gnu.org>
1969
1970 With this, Emacs prints how much pure storage it will
1971 approximately need in case pure storage overflows while dumping.
1972
1973 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1974 New variables.
1975 (init_alloc_once): Initialize new variables.
1976 (PURE_POINTER_P): Use new variables.
1977 (pure_alloc): If pure storage overflows, allocate from the heap.
1978 (check_pure_size): New function.
1979 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1980
1981 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1982 (check_pure_size): Add prototype.
1983
1984 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1985
19862001-10-04 Gerd Moellmann <gerd@gnu.org>
1987
1988 This adds a post-gc-hook that's run with GC inhibited.
1989 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1990
1991 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1992 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1993 (Fgarbage_collect): Run post-gc-hook.
1994
19952001-10-04 Gerd Moellmann <gerd@gnu.org>
1996
1997 This adds `defvaralias' and `indirect-variable'. Changes not
1998 directly related to this feature are there to gain the same
1999 performance again as before variable aliases.
2000
2001 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2002 code to get and set symbol values, to take defvaralias into account.
2003
2004 (Note: the new `constant' bit-flag in symbols would make it
2005 possible to define arbitrary read-only variables, e.g. with
2006 `defconst'.)
2007
2008 Documentation is in lispref/variables.texi. Added to NEWS.
2009
2010 * lisp.h (enum symbol_interned): New enumeration.
2011 (struct Lisp_Symbol): Remove member `obarray', add
2012 `indirect_variable', `constant', and `interned'.
2013 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2014 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2015 (indirect_variable): Add prototype.
2016
2017 * print.c (print_preprocess, print_object): Test internedness of
2018 symbols differently.
2019
2020 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2021 bit-fields.
2022 (init_obarray): Likewise for t and nil.
2023
2024 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2025 (Fdefvaralias): New function.
2026 (specbind): Simplify the test if symbol is a constant.
2027 (syms_of_eval): Defsubr Fdefvaralias.
2028
2029 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2030 (Qcyclic_variable_indirection): New variable.
2031 (Fkeywordp): Check for internedness differently.
2032 (Fmakunbound): Simplify the test if symbol is a constant.
2033 (indirect_variable, Findirect_variable): New functions.
2034 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2035 aliased symbol.
2036 (let_shadows_buffer_binding_p): Check for variable aliases.
2037 (set_internal): Simplify the test if SYMBOL is a constant.
2038 If SYMBOL has a buffer-local value and is an alias, use the aliased
2039 symbol instead.
2040 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2041 Sindirect_variable.
2042
2043 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2044 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2045 set directly.
2046
2047 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2048
2049 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2050 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2051 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2052
ab952a4f
GM
20532001-10-04 Gerd Moellmann <gerd@gnu.org>
2054
2055 * Branch for 21.1.
b56ba8de 2056
ba88ff28
MB
20572001-10-03 Miles Bader <miles@gnu.org>
2058
2059 * callproc.c (syms_of_callproc): Explicitly state in the
2060 documentation for `process-environment' that earlier entries take
2061 precedence over later ones.
2062
ae1a9581
MB
20632001-10-02 Miles Bader <miles@gnu.org>
2064
2065 * textprop.c (Fnext_char_property_change)
2066 (Fprevious_char_property_change): Remove reference to non-existant
2067 argument OBJECT from doc-string.
2068
257e3f57
GM
20692001-10-01 Gerd Moellmann <gerd@gnu.org>
2070
2071 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2072 (try_window_id): Skip back over lines ending in a newline from a
2073 string.
2074
2075 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2076 New bit flag
2077
c1f29759
RS
20782001-10-01 Richard M. Stallman <rms@gnu.org>
2079
2080 * search.c (Freplace_match): Doc fix.
2081
c30dce3d
AI
20822001-09-28 Andrew Innes <andrewi@gnu.org>
2083
2084 * w32menu.c (set_frame_menubar): Take into account that
2085 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2086 <raeburn@gnu.org>.
2087
03be5931
EZ
20882001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2089
2090 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2091
75bec752
PJ
20922001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2093
2094 * s/gnu-linux.h: Fix a typo in comment.
2095
83100e0a
AS
20962001-09-28 Andreas Schwab <schwab@suse.de>
2097
2098 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2099 nocombreloc, in case -z combreloc is the default.
2100
a74b48cf
GM
21012001-09-28 Gerd Moellmann <gerd@gnu.org>
2102
2103 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2104 really going on here.
2105
09c4719e
SM
21062001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2107
2108 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2109
f7d5d963
EZ
21102001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2111
2112 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2113 utf-8, menu-bar, and latin-N.
2114 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2115 unconditionally now.
2116 (lisp): Add latin-N, since they are preloaded.
2117
9240e746
GM
21182001-09-27 Gerd Moellmann <gerd@gnu.org>
2119
14531065
GM
2120 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2121 to the left. Some cleanup.
2122
9240e746
GM
2123 * xdisp.c (display_mode_element): One more case where a string's
2124 multibyteness should be used for display.
2125
edd1e654
GM
21262001-09-26 Gerd Moellmann <gerd@gnu.org>
2127
b02439c8
GM
2128 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2129 reading at EOF.
2130
032906b1 2131 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2132 of the only temporarily set echoing flag for deciding when
032906b1
GM
2133 the cancel echoing.
2134
2135 * keyboard.c (echo_kboard): Make externally visible.
2136
2137 * lisp.h (echo_kboard): Declare extern.
2138
cb617e7c 2139 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2140 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2141 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2142 this round of redisplay if make_cursor_line_fully_visible fails.
2143 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2144 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2145
2146 * dispextern.h (required_matrix_width, required_matrix_height):
2147 Add prototypes.
2148
09c4719e
SM
2149 * dispnew.c (required_matrix_width, required_matrix_height):
2150 New functions.
cb617e7c 2151 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2152 (allocate_matrices_for_frame_redisplay: Use them.
2153 Remove parameters CH_DIM.
cb617e7c 2154
edd1e654
GM
2155 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2156 and selected_window to the frame of the window whose mode-lines
2157 are displayed, and to the window itself.
2158 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2159 here.
edd1e654 2160
924b604c
GM
21612001-09-25 Gerd Moellmann <gerd@gnu.org>
2162
daba7643
GM
2163 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2164 the image cache under us.
2165
b7a22712 2166 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2167 with a string value, use that string's multibyteness for displaying.
b7a22712 2168
ad648212
GM
2169 * keyboard.c (read_char): Don't clear a message for a switch-frame
2170 event. From Stefan Monnier <monnier@cs.yale.edu>.
2171
9f8531e5
GM
2172 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2173 version for after 21.1.
2174
2175 * xdisp.c (row_containing_pos): Make externally visible.
2176
2177 * dispextern.h (row_containing_pos): Add prototype.
2178
924b604c
GM
2179 * process.c (send_process): Disable composition if from_byte < 0.
2180 From Kenichi Handa <handa@etl.go.jp>.
2181
6f3f0db4
GM
21822001-09-24 Gerd Moellmann <gerd@gnu.org>
2183
c69c0ebc
GM
2184 * xterm.c (refreshicon): Function removed.
2185
d1182bc4
GM
2186 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2187
2188 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2189
2190 * xterm.c (toplevel): Remove includes in #if 0.
2191
6f3f0db4
GM
2192 * process.c (sigchld_handler) [LINUX]: Don't return from
2193 the signal handler at the end of the loop.
2194
59957f85
GM
21952001-09-21 Gerd Moellmann <gerd@gnu.org>
2196
09c4719e
SM
2197 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2198 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2199
a0528984
EZ
22002001-09-21 Markus Rost <rost@math.ohio-state.edu>
2201
2202 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2203
db92b288
GM
22042001-09-20 Gerd Moellmann <gerd@gnu.org>
2205
3fed8ad5
GM
2206 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2207 since this function can be called during GC.
2208
db92b288
GM
2209 * callproc.c (Fcall_process): Handle errors from pipe(2).
2210 (child_setup): Delete code in #ifdef vipc.
2211
7121b85a
GM
22122001-09-19 Gerd Moellmann <gerd@gnu.org>
2213
72f62cb5
GM
2214 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2215 (display_mode_element): Display the string from decode_mode_spec
2216 depending on its multibyteness.
2217
a2697022
GM
2218 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2219
7121b85a
GM
2220 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2221
bfc97351
GM
22222001-09-18 Gerd Moellmann <gerd@gnu.org>
2223
c9063433
GM
2224 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2225 recursive_edit_unwind.
2226 (recursive_edit_unwind): Set kboard state according to
2227 SINGLE-KBOARD.
2228
3fbdba3e
GM
2229 * buffer.c (modify_overlay): Don't do nothing if START == END;
2230 This can still be a modification, for example when an overlay has
2231 a before-string or after-string.
2232 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2233 an overlay with before-string or after-string.
2234
1270031d
GM
2235 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2236 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2237
bfc97351
GM
2238 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2239 first_unchanged_at_end_row is in front of
2240 last_unchanged_at_beg_row. This code should be removed after the
2241 release of 21.1.
2242
d8a973aa
GM
22432001-09-17 Gerd Moellmann <gerd@gnu.org>
2244
e18c8b8d
GM
2245 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2246 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2247
d8a973aa
GM
2248 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2249 versions >= 2.95.
2250
ed7d6ba4
EZ
22512001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2252
2253 * dired.c (Ffile_attributes): Doc fix.
2254
551629f9
GM
22552001-09-14 Gerd Moellmann <gerd@gnu.org>
2256
2257 * fileio.c (Ffile_symlink_p): Fix last change.
2258
2259 * filelock.c (current_lock_owner): Fix last change.
2260
4c8c7926
GM
22612001-09-13 Gerd Moellmann <gerd@gnu.org>
2262
620c4704
GM
2263 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2264 take that to mean that the buffer is too small.
2265
81c3310d
GM
2266 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2267 that to mean that the buffer is too small.
2268
06fd3792
GM
2269 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2270 current buffer's multibyteness when discarding the iterator's
2271 stack.
2272
4c8c7926
GM
2273 * xfns.c (Fx_window_property): Handle case that property gets
2274 deleted between the two calls to XGetWindowProperty.
2275
9a72e4c1
GM
22762001-09-11 Gerd Moellmann <gerd@gnu.org>
2277
bd819d14 2278 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2279
a41edd99
GM
2280 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2281 in addition to read-only.
2282
2283 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2284 to t in addition to read-only.
2285
2286 * lisp.h (Qinhibit_modification_hooks): Declare.
2287
2288 * insdel.c (Qinhibit_modification_hooks): New variable.
2289 (syms_of_insdel): Initialize and staticpro it.
2290
d4881c6a
GM
2291 * textprop.c (verify_interval_modification): Don't run
2292 modification-hooks if inhibit_modification_hooks.
2293
2294 * dispnew.c (set_window_cursor_after_update): Fix code
2295 finding glyph row containing cursor when cursor_in_echo_area
2296 is >= 0.
2297
9a72e4c1
GM
2298 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2299 (add_to_log): Use bcopy instead of strcpy.
2300 (init_from_display_pos): Use an explicit loop over bytes in
2301 overlay strings instead of calling index.
2302
f4a374a1
GM
23032001-09-10 Gerd Moellmann <gerd@gnu.org>
2304
300e57bd
GM
2305 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2306
2307 * dispnew.c (direct_output_for_insert): Don't change IT's
2308 stop_charpos to something in front of its current position.
2309
f4a374a1
GM
2310 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2311 `format'.
2312
7e4cbc91
RS
23132001-09-10 Richard M. Stallman <rms@gnu.org>
2314
2315 * frame.c (Fmouse_position): Doc fix.
2316
6afad91e
GM
23172001-09-07 Gerd Moellmann <gerd@gnu.org>
2318
2319 * xdisp.c (init_from_display_pos): Don't compare the result
2320 of calling index with NULL.
2321
f76e0368
GM
23222001-09-06 Gerd Moellmann <gerd@gnu.org>
2323
2324 * xfns.c (x_set_background_color): Don't change the colors
2325 of the X window of scroll bar widgets.
2326
9ead1b60
AI
23272001-09-05 Andrew Innes <andrewi@gnu.org>
2328
2329 * w32fns.c (w32_createwindow): Undo last change.
2330
c3b497b3
GM
23312001-09-05 Gerd Moellmann <gerd@gnu.org>
2332
08e1d6df
GM
2333 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2334
c3b497b3
GM
2335 * xdisp.c (string_buffer_position): Use *single_char_property*
2336 functions instead of the *single_property* functions.
b56ba8de 2337
8f860180
AI
23382001-09-04 Andrew Innes <andrewi@gnu.org>
2339
9a72e4c1
GM
2340 * w32term.c (w32_read_socket): Add more information to debugging
2341 output.
8f860180
AI
2342
2343 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2344 from Emacs frames, so that calls to GetClipBox in w32term.c
2345 correctly report when part of a frame is visible (including
2346 scrollbars, etc). This prevents repeated redrawing of frames when
2347 only a scrollbar is visible.
2348 (w32_wnd_proc): Add more frame information to debugging output.
2349
2ee1aa00
SM
23502001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2351
2352 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2353
e3b22517
GM
23542001-09-03 Gerd Moellmann <gerd@gnu.org>
2355
7e376260
GM
2356 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2357 help-echo for a string which doesn't have help-echo itself, use
2358 get-char-property to obtain the help-echo from the string's buffer
2359 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2360 have mouse-face, look ``under'' the string for mouse-face from an
2361 overlay.
2362 (fast_find_position): Add parameter STOP. In the final row, stop
2363 before glyphs having STOP as object. Don't consider glyphs that
2364 are not from a buffer.
2365
e3b22517
GM
2366 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2367
9a249bba
EZ
23682001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2369
2370 * fns.c (Fmd5): Doc fix.
2371
c9979669
GM
23722001-08-31 Gerd Moellmann <gerd@gnu.org>
2373
2374 * composite.c (update_compositions): Do nothing if
2375 inhibit-modification-hooks is set.
2376
9584e63a
GM
23772001-08-30 Gerd Moellmann <gerd@gnu.org>
2378
986ec8f2 2379 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2380 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2381 glyph matrices etc. in a core dump.
2382
92a25631
GM
2383 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2384 (syms_of_xdisp): Initialize them.
2385 (handle_single_display_prop): Don't change point, bind `object',
2386 `position', and `buffer-position' instead to the object having the
2ee1aa00 2387 `display' property, position in the object and position in the buffer.
92a25631 2388
9584e63a
GM
2389 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2390 of the buffer if REPLACE is non-nil.
2391
d38633a3
GM
23922001-08-29 Gerd Moellmann <gerd@gnu.org>
2393
2394 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2395
f4fccc1e
EZ
23962001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2397
2398 * w32term.c (x_set_glyph_string_background_width)
2399 (show_mouse_face): Track the last changes in xterm.c.
2400
eaaa65b0
GM
24012001-08-28 Gerd Moellmann <gerd@gnu.org>
2402
7b0870b2
GM
2403 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2404 string's background width so that multi-line mouse-face is drawn
2405 to the right edge of the window.
2406 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2407 glyphs.
2408
6b6e2422 2409 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2410 before inserting/writing glyphs.
6b6e2422 2411
eaaa65b0
GM
2412 * xdisp.c (display_mode_element): Use string_byte_to_char to
2413 determine character positions in strings, use chars_in_text
2414 instead of strwidth.
2415 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2416 a matrix as parameter; this is easier to use from GDB.
2417
9ad62cf8
MB
24182001-08-28 Miles Bader <miles@gnu.org>
2419
2ee1aa00
SM
2420 * textprop.c (Fprevious_single_char_property_change)
2421 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2422
32171635
GM
24232001-08-27 Gerd Moellmann <gerd@gnu.org>
2424
47d57b22
GM
2425 * fileio.c (Finsert_file_contents): Allocate, restore, and
2426 free composition data in the case of REPLACE not being nil.
2427
2428 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2429 there exist overlay strings with newlines at POS.
2430 (text_outside_line_unchanged_p): Return 0 if changes start at
2431 START and overlays exist at START. Likewise for END.
2432 (try_window_id): Give up if init_to_row_end returns 0.
2433
32171635
GM
2434 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2435 unconditionally.
2436
e1249666
GM
24372001-08-24 Gerd Moellmann <gerd@gnu.org>
2438
33954c45
GM
2439 * keymap.c (access_keymap): Return the cdr of the binding of
2440 a generic character instead of its definition (KEY . BINDING).
2441
e1249666
GM
2442 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2443 to 0 also in the REPLACE case.
2444
fb4c6c96
AC
24452001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2446
2447 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2448 open to determine whether file is readable (as for DOS_NT).
2449
59ecf80b
GM
24502001-08-23 Gerd Moellmann <gerd@gnu.org>
2451
2452 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2453 coding.type is coding_type_no_conversion or coding_type_raw_text,
2454 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2455 non-nil instead of just setting enable_multibyte_characters in the
2456 buffer to nil.
2457
40e33037
GM
24582001-08-22 Gerd Moellmann <gerd@gnu.org>
2459
374388c3
GM
2460 * dispextern.h (struct face_cache): Add member
2461 menu_face_changed_p.
2462
2463 * xfaces.c (menu_face_changed_default): New variable.
2464 (menu_face_changed_count): Variable removed.
2465 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2466 the menu_face_changed_default flag, otherwise set the FRAME's
2467 menu_face_changed_p flag if the `menu' face has been changed.
2468 Prevent calling set_font_frame_param if FRAME is t.
2469 (make_face_cache): Initialize cache's menu_face_changed_p
2470 from menu_face_changed_default.
2471 (realize_basic_faces): Look into the frame's face cache to
2472 determine if the menu appearance needs updating.
2473
40e33037
GM
2474 * keymap.c (access_keymap): Fix last change to not consider
2475 IDX when it has modifiers.
2476
859ea4b8
GM
24772001-08-21 Gerd Moellmann <gerd@gnu.org>
2478
2479 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2480 . BINDING) exists, where GENERIC-CHAR is the generic character of
2481 the charset of IDX, return BINDING unless there exists a binding
2482 for IDX itself.
2483
e8660d73
GM
24842001-08-16 Gerd Moellmann <gerd@gnu.org>
2485
cca1b1d7
GM
2486 * xrdb.c (SYSV): Don't define on Solaris 2.
2487 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2488
e8660d73 2489 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2490 of the screen line, not text line, containing IT's current position.
e8660d73 2491
93aba6fc
GM
24922001-08-15 Gerd Moellmann <gerd@gnu.org>
2493
288d4e06
GM
2494 * window.c (window_scroll_pixel_based): Don't recenter if
2495 PT is partially visible in the window.
2496
3452efc2
SM
2497 * xterm.c (expose_window_tree, expose_window, expose_line):
2498 Return 1 when overwriting mouse-face.
82f053ab
GM
2499 (expose_frame): If mouse-face was overwritten, redo it.
2500
93aba6fc
GM
2501 * xfaces.c (x_update_menu_appearance): Don't call
2502 set_frame_menubar, let the next redisplay do it.
2503
858a55c1
AI
25042001-08-14 Andrew Innes <andrewi@gnu.org>
2505
2506 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2507 drawing glyph string.
2508
3a990b67
EZ
25092001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2510
2511 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2512 running HI-UX/MPP.
2513
04386463
GM
25142001-08-14 Gerd Moellmann <gerd@gnu.org>
2515
2516 * xfaces.c (x_update_menu_appearance): Save and restore value of
2517 interrupt_input_blocked.
2518
3e6385a4
GM
25192001-08-13 Gerd Moellmann <gerd@gnu.org>
2520
b0e619b4
GM
2521 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2522 a line start, move back to the line start.
3452efc2 2523
0de73d5a
GM
2524 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2525 exactly when a mini-buffer is active.
2526
3e6385a4
GM
2527 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2528 in units of 1/8 character on non window-system frames.
2529 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2530
d1b5f629
EZ
25312001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2532
2533 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2534 a doc string.
2535
eaa2319f
GM
25362001-08-09 Gerd Moellmann <gerd@gnu.org>
2537
8e3189f0
GM
2538 * keyboard.c (Vpre_help_message): New variable.
2539 (syms_of_keyboard): Initialize and staticpro it.
2540 (show_help_echo): Record current message before displaying a
2541 help-echo, and restore that message when clearing the help.
2542
eaa2319f
GM
2543 * xfns.c (x_create_im): Remove prototype.
2544
2545 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2546
2547 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2548
eaa2319f
GM
25492001-08-08 Gerd Moellmann <gerd@gnu.org>
2550
2551 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2552 windows whose height has changed, disable partially visible lines.
eaa2319f 2553
17fdcfc8
GM
25542001-08-07 Gerd Moellmann <gerd@gnu.org>
2555
22d01aed 2556 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2557 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2558
17fdcfc8
GM
2559 * xdisp.c (start_display): Don't try to determine the continuation
2560 lines width if lines are truncated. It's superfluous and leads to
2561 incorrect results if POS is not visible in the window after
2562 reseating the iterator at the previous line start.
2563
8e3fe78e
GM
25642001-08-06 Gerd Moellmann <gerd@gnu.org>
2565
2566 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2567
98a8938c
GM
25682001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2569
2570 * alloc.c (init_stack): Remove declaration.
2571
18f9986a
GM
25722001-08-03 Gerd Moellmann <gerd@gnu.org>
2573
5e1f85e0
GM
2574 * keyboard.c (read_key_sequence): Check that key is an integer
2575 before comparing it with quit_char.
2576 (add_command_key): Use larger_vector.
2577 (read_char_x_menu_prompt): Instead of converting symbol and
2578 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2579 which cannot be confused with valid events.
5e1f85e0
GM
2580 (read_char): When reading from Vunread_command_events, check for
2581 events of the form (EVENT . disabled) instead of
2582 (EVENT . nil).
2583
18f9986a
GM
2584 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2585 a float, determine the max height from the frame's height.
2586
fbc7f2a6
GM
25872001-08-02 Gerd Moellmann <gerd@gnu.org>
2588
2589 * xdisp.c (redisplay_internal): Take message_cleared_p into
2590 account only if minibuf_level == 0.
2591
81b1a79d
GM
25922001-08-01 Gerd Moellmann <gerd@gnu.org>
2593
e5c60873
GM
2594 * xdisp.c (redisplay_internal): Add a check for the last
2595 displayed message.
3452efc2 2596
6e019995
GM
2597 * xdisp.c (message_cleared_p): New variable.
2598 (clear_message): Set message_cleared_p when clearing the current
2599 message.
2600 (redisplay_internal): Look at message_cleared_p to capture
2601 the case that the echo area should be cleared.
2602
308a74d8
GM
2603 * keyboard.c (command_loop_1): Fix spelling of
2604 resize_echo_area_exactly.
2605
3452efc2 2606 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2607
2608 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2609
81b1a79d
GM
2610 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2611 current matrix when the window gets smaller.
2612
ada329e6
EZ
26132001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2614
2615 * print.c (strout): Cast the character passed to insert_char to
2616 unsigned char, to avoid sign extension when it is promoted to int.
2617
ed86208c
GM
26182001-07-31 Gerd Moellmann <gerd@gnu.org>
2619
2620 * fileio.c (Finsert_file_contents): Don't treat a return value
2621 of 0 from emacs_read as an IO error.
2622
6594ac22
GM
26232001-07-30 Gerd Moellmann <gerd@gnu.org>
2624
cef68af5
GM
2625 * keyboard.c (abs): New macro.
2626 (double_click_fuzz): New variable.
2627 (make_lispy_event): Use it to determine what makes a double-click.
2628 (syms_of_keyboard): DEFVAR_INT it.
2629
6594ac22
GM
2630 * xmenu.c (set_frame_menubar): Take into account that
2631 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2632 <raeburn@gnu.org>.
2633
75c5350a
GM
26342001-07-27 Gerd Moellmann <gerd@gnu.org>
2635
2636 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2637
2638 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2639 of row's visible height.
2640
2641 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2642 deal with the first overlay string having an image `display' property.
2643 (try_window_reusing_current_matrix, compute_line_metrics):
2644 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2645 row is invisible above and part of the row is at the same time
2646 invisible below the window.
2647
ac49effe
GM
26482001-07-26 Gerd Moellmann <gerd@gnu.org>
2649
2650 * xfns.c (x-show-tip): Doc fix.
3452efc2 2651
ac49effe
GM
2652 * xfns.c (Vx_max_tooltip_size): New variable.
2653 (syms_of_xfns): DEFVAR_LISP it.
2654 (Fx_show_tip): Set frame's window_width to the width of the
2655 window. Use a maximum tooltip size specified by
2656 Vx_max_tooltip_size, if that has valid contents.
2657 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2658
8c3b00cb
AI
26592001-07-26 Andrew Innes <andrewi@gnu.org>
2660
2661 * w32term.c (x_display_list): New variable.
2662 (w32_term_init): Set it.
2663
2664 * w32term.h (x_display_list): New extern.
2665
16098288
GM
26662001-07-26 Gerd Moellmann <gerd@gnu.org>
2667
2668 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2669 is non-nil, instead of when redisplaying_p is non-zero.
2670 See comment there.
16098288
GM
2671 (mark_window_display_accurate_1): Add an assertion.
2672
64c5be50
GM
26732001-07-25 Gerd Moellmann <gerd@gnu.org>
2674
e743f599
GM
2675 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2676
563b384d
GM
2677 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2678 events so that we get a chance of processing expose events.
2679
64c5be50
GM
2680 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2681
296808a5
GM
26822001-07-24 Gerd Moellmann <gerd@gnu.org>
2683
2684 * xfns.c (valid_image_p): Protect better against invalid image
2685 specifications. Previous code could signal an error.
2686
5247262a
GM
26872001-07-23 Gerd Moellmann <gerd@gnu.org>
2688
3452efc2 2689 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2690 presence of display table entries.
2691 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2692
dd42b31a
GM
2693 * dispnew.c (adjust_glyph_matrix): In the optimization for
2694 windows whose height has changed, use the new window height
2695 to compute which rows to invalidate.
2696
9e5a7f2a
GM
2697 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2698 (MAX_10_EXP): New macro.
2699 (Fformat): Use it.
2700
5247262a
GM
2701 * coding.c (code_convert_region): Handle the multibyte case if
2702 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2703
177ab8ce
GM
27042001-07-20 Gerd Moellmann <gerd@gnu.org>
2705
6e07c0a5
GM
2706 * dispextern.h (struct face): Change type of `stipple' to
2707 int; it's an ID.
2708
177ab8ce
GM
2709 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2710
b5b80599
GM
27112001-07-19 Gerd Moellmann <gerd@gnu.org>
2712
4e2a256b
GM
2713 * dispnew.c (update_window): Don't set the cursor at the end
2714 of the update if display update has been paused.
2715
3452efc2 2716 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2717
c1fd9232
KR
27182001-07-18 Ken Raeburn <raeburn@gnu.org>
2719
2720 * fns.c (Fset_char_table_default): Check that a charset is defined
2721 before checking its dimension.
2722
928a85c1
KR
27232001-07-17 Ken Raeburn <raeburn@gnu.org>
2724
2725 * coding.c (setup_coding_system): Don't do any designation based
2726 on reg_bits if charset is not yet defined.
2727
fb4c6c96 2728 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2729 pointer, using eassert.
2730
de11c1ea
GM
27312001-07-17 Gerd Moellmann <gerd@gnu.org>
2732
3452efc2
SM
2733 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2734 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2735
467f1209
GM
27362001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2737
2738 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2739
c3d6be34
GM
27402001-07-16 Gerd Moellmann <gerd@gnu.org>
2741
c1d61a7d
GM
2742 * fileio.c (unwind_read): Function removed.
2743 (read_non_regular, read_non_regular_quit): New functions.
2744 (Finsert_file_contents): When reading from non-regular files,
2745 arrange to catch a `quit' and terminate the loop. Rearrange
2746 code so that a `quit' when reading from a regular file doesn't
2747 insert text in the buffer.
2748
c3d6be34
GM
2749 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2750 Clear faces afterwards.
2751 (clear_font_table): Take a x_display_info parameter. Don't free
2752 fonts being the default font of any frame on the given display.
2753
e06aa1f9
GM
27542001-07-13 Gerd Moellmann <gerd@gnu.org>
2755
2756 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2757 instead of CHAR_STRING which can signal an error.
2758
2759 * charset.c (char_to_string_1): Extracted from char_to_string.
2760 Return -1 instead of signaling an error.
2761 (char_to_string): Use it.
2762
2763 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2764
176c92e6
SM
27652001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2766
2767 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2768 is t, don't try to append anything to it.
2769
1c56232f
EZ
27702001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2771
2772 * dired.c (file_name_completion): Pass dp->d_name to
2773 Fstring_match, not elt, which is always nil here.
2774
1d2b2268
GM
27752001-07-12 Gerd Moellmann <gerd@gnu.org>
2776
2777 * xselect.c (x_decline_selection_request): Handle errors
2778 caused by receivers that have vanished.
2779
2780 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2781 ignoring events on foreign windows in #if 0. Always dispatch
2782 the event after checking it with x_handle_property_notify.
2783
2784 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2785 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2786 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2787 (toplevel): Add prototypes for file-local functions.
2788 (x_atom_to_symbol): Remove DPYINFO parameter.
2789
fe5a0162
SM
27902001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2791
2792 * w32menu.c (menubar_selection_callback, w32_menu_show):
2793 Initialize `entry' to nil.
2794 (w32_dialog_show): Remove unused `save_wv' variable.
2795 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2796
a777242c
GM
27972001-07-11 Gerd Moellmann <gerd@gnu.org>
2798
8ee5b6a3
GM
2799 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2800
d0e2444e
GM
2801 * fileio.c (unwind_read): Print a message when discarding inserted
2802 text or switching the buffer to unibyte. Change parameter.
2803 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2804
a777242c
GM
2805 * fileio.c (unwind_read): New function.
2806 (Finsert_file_contents): Record it as unwind-function for
2807 the case that reading is interrupted by C-g.
2808
ae794295
GM
28092001-07-10 Gerd Moellmann <gerd@gnu.org>
2810
fe5a0162 2811 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2812 update when scrolling_window returns 0.
2813
6b05fae3
GM
2814 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2815
2816 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2817 for the case that x_decode_color signals an error.
6b05fae3 2818
ae794295
GM
2819 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2820
bb6e8cee
GM
28212001-07-09 Gerd Moellmann <gerd@gnu.org>
2822
2823 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2824 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2825 around ioctls.
2826
36b40a8a
EZ
28272001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2828
24b97d4b
EZ
2829 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2830 doc string line for dos-timezone-offset.
2831
36b40a8a
EZ
2832 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2833 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2834 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2835 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2836
2837 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2838
0967b4b0
GM
28392001-07-05 Gerd Moellmann <gerd@gnu.org>
2840
f25cfe53
GM
2841 * sound.c: Include Emacs' header files with #include "...".
2842
0967b4b0
GM
2843 * eval.c (specbind): Additionally record the buffer that was
2844 current when a buffer-local or frame-local variable was bound.
2845
c347a1c3
GM
28462001-07-04 Gerd Moellmann <gerd@gnu.org>
2847
2848 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2849 to unibyte characters in unibyte buffers.
2850
6332ca8a
GM
28512001-07-03 Gerd Moellmann <gerd@gnu.org>
2852
38472d44
GM
2853 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2854 the frame on the binding stack. Change format of entries for
2855 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2856 (unbind_to): Handle unbinding a frame-local variable.
2857
6332ca8a 2858 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2859 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2860 (dump_glyph_row): Print row's continuation_lines_width.
2861 (try_window_id): Take the shortcut if ZV is visible in the
2862 window, but there are actually no changes at ZV.
2863
63d1b174
GM
28642001-07-02 Gerd Moellmann <gerd@gnu.org>
2865
4c175203
GM
2866 * xterm.h (x_free_dpy_colors): Add prototype.
2867
2868 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2869 right number of arguments.
2870
0b54ce28
GM
2871 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2872 ($(lwlibdir)TAGS): New target.
4c175203 2873 (TAGS): Fix dependency list.
0b54ce28 2874
63d1b174
GM
2875 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2876 with input blocked.
2877
d827466c
GM
28782001-06-30 Gerd Moellmann <gerd@gnu.org>
2879
2880 * emacs.c (main): Remove extern declaration for sys_nerr, which
2881 isn't used and causes a compilation error with GCC 3.0 on
2882 FreeBSD 4.3.
2883
b5cb1ada
GM
28842001-06-27 Gerd Moellmann <gerd@gnu.org>
2885
a5d3ec3f 2886 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2887 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2888 (toplevel): Include <signal.h> and syssignal.h.
2889
b5cb1ada
GM
2890 * sound.c (vox_configure, vox_close): Turn off atimers
2891 around ioctls.
2892
d9bad487
GM
28932001-06-26 Gerd Moellmann <gerd@gnu.org>
2894
fdbb67fe
GM
2895 * keyboard.c (read_char) <non_reread>: Record the previous idle
2896 start time before calling timer_stop_idle.
2897 (read_char) <reread_first>: After processing a help-echo event,
2898 restore the previous idle start time.
2899
d9bad487
GM
2900 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2901 the start of invisible text.
2902 (setup_for_ellipsis): New function.
2903 (next_overlay_string): After all overlay strings have been
2904 processed, display an ellipsis if necessary.
2905 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2906 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2907
2908 * dispextern.h (struct iterator_stack_entry): Add member
2909 display_ellipsis_p.
2910
2b9c25e0
GM
29112001-06-25 Gerd Moellmann <gerd@gnu.org>
2912
80de57df
GM
2913 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2914 on the value of the wait-for-wm frame parameter.
2915
2916 * xterm.h (struct x_output): Add member wait_for_wm.
2917
2918 * xfns.c (Qwait_for_wm): New variable.
2919 (x_frame_parms): Add entry for `wait-for-wm".
2920 (x_set_wait_for_wm): New function.
2921 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2922 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2923
2b9c25e0
GM
2924 * xdisp.c (try_window_id) <all changes below window end>: Don't
2925 take this shortcut if ZV is visible in the window.
2926 (try_window_id): When checking for window start being in changed
2927 text, don't check that the buffer's size has changed.
2928
f772775c
RS
29292001-06-23 Richard M. Stallman <rms@gnu.org>
2930
2931 * minibuf.c (Fcompleting_read): Doc fix.
2932
fa9090b8
GM
29332001-06-19 Gerd Moellmann <gerd@gnu.org>
2934
2935 * composite.c (Ffind_composition_internal): Accept ZV
2936 and a string's end position as POS.
2937
f6f1beba
GM
29382001-06-18 Gerd Moellmann <gerd@gnu.org>
2939
2940 * composite.c (Ffind_composition_internal): Check POS
2941 for validity.
2942
0ae83348
EZ
29432001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2944
2945 * editfns.c (Fmessage_box): If the frame is not under a window
2946 system, output the message in the echo area.
2947
e4cdc335
RS
29482001-06-14 Richard M. Stallman <rms@gnu.org>
2949
2950 * xdisp.c (try_window_id): When EOB is visible, don't treat
2951 insertion at EOB as if it were "off the bottom of the screen."
2952
a55a5f3c
AI
29532001-06-11 Andrew Innes <andrewi@gnu.org>
2954
2955 * w32proc.c (create_child): Add new parameter is_gui_app.
2956 (w32_executable_type): Add new parameter is_gui_app.
2957 (sys_spawnve): Use it.
2958 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2959 SIGQUIT. This matches better how the signals are interpreted by
2960 MSVC compiled programs.
2961 (syms_of_ntproc): Update docstring.
2962
1b85dc1c
SM
29632001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2964
2965 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2966 well otherwise note_mouse_highlight might optimize away highlighting
2967 if we pass over that same overlay again.
2968
b75f8eab
EZ
29692001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2970
2971 * lread.c (Fload): Document that the argument is run via
2972 substitute-in-file-name.
2973
94843cc1
GM
29742001-05-31 Gerd Moellmann <gerd@gnu.org>
2975
b14659e6
GM
2976 * Makefile.in (bootstrap-doc): New target.
2977 (bootstrap-emacs): Depend on it.
2978
0894672f
GM
2979 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2980 auto-save-list-file-name when shutting down Emacs, because
2981 creating the directory might signal an error, and leaves
2982 Emacs in a strange state.
2983
94843cc1
GM
2984 * term.c: (tty_cursor_hidden): New variable.
2985 (update_begin): Don't call tty_hide_cursor. Clean up.
2986 (update_end, set_terminal_window, set_scroll_region): Clean up.
2987 (ring_bell, reset_terminal_modes): Clean up.
2988 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2989 on tty_cursor_hidden.
2990 (write_glyphs): Call tty_hide_cursor.
2991
db3a49a6
SM
29922001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2993
2994 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2995
8bd189fb
GM
29962001-05-30 Gerd Moellmann <gerd@gnu.org>
2997
6f1be3b9
GM
2998 * xfns.c (enum image_value_type): New enumerator
2999 IMAGE_STRING_OR_NIL_VALUE.
3000 (parse_image_spec): Handle it.
3001 (xbm_format, pbm_format): Use it for :foreground and :background.
3002 (xbm_load, pbm_load): Check for nil color names.
3003
8bd189fb
GM
3004 * xterm.c (note_mouse_highlight): If an overlapping overlay
3005 exists, but we find that we highlight the same overlay as before,
3006 don't do the highlighting again.
3007
7bdba03c
GM
30082001-05-29 Gerd Moellmann <gerd@gnu.org>
3009
4c329aa8
GM
3010 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3011 Protect unibyte strings created by replacing their multibyte
3012 equivalents in menu_items.
3013
e15e2828
GM
3014 * keymap.c (Fsingle_key_description): NUL-terminate the string
3015 buffer before calling build_string.
3016
7bdba03c
GM
3017 * callproc.c (Fcall_process): Deal with decode_coding returning
3018 CODING_FINISH_INCONSISTENT_EOL.
3019
89c8dc6c
GM
30202001-05-28 Gerd Moellmann <gerd@gnu.org>
3021
db3a49a6 3022 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3023 an item's name with its key description in case the description
3024 is a multibyte string.
3025
3026 * keymap.c (Fsingle_key_description): Create a multibyte string
3027 only if necessary.
3028
eb04d6cd
GM
3029 * macros.c (Fstart_kbd_macro): Doc fix.
3030
8bd6307f
GM
3031 * xterm.c (cursor_in_mouse_face_p): New function.
3032 (x_draw_stretch_glyph_string): Use it to choose a different GC
3033 when drawing a cursor within highlighted text.
3034
e26c4089
GM
3035 * editfns.c (char_property_eq): Put in #if 0.
3036
3037 * indent.c (string_display_width): Put in #if 0.
3038
3039 * lread.c (Fload): Remove unused label.
3040
89c8dc6c
GM
3041 * termcap.c (speeds): Put in #if 0.
3042
9a1211f2
GM
30432001-05-18 Gerd Moellmann <gerd@gnu.org>
3044
29148a3f
GM
3045 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3046
9a1211f2
GM
3047 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3048 transformation matrix by 10.
3049
09393d07
GM
30502001-05-16 Gerd Moellmann <gerd@gnu.org>
3051
3052 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3053 only if it's equal to the former foreground pixel color.
db3a49a6 3054 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3055 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3056
460e6bae
GM
30572001-05-16 Dave Love <fx@gnu.org>
3058
3059 * insdel.c (signal_before_change, signal_after_change): Consider a
3060 local change hook which changes the buffer.
99c78ce8
GM
3061
3062 * process.c (read_process_output): Don't call signal_after_change
3063 and update_compositions after insert_from_string_before_markers.
3064
dbcf3c03
GM
30652001-05-16 Gerd Moellmann <gerd@gnu.org>
3066
a90b3d3c
GM
3067 * xfaces.c (split_font_name): Use the right field when
3068 checking for `[...]' syntax.
3069
1b7818b4
GM
3070 * buffer.c (copy_overlays): New function.
3071 (clone_per_buffer_values): Use it.
3072
3073 * buffer.h (OVERLAY_PLIST): New macro.
3074
9bae8781
GM
3075 * keymap.c (Fsingle_key_description): Replace a build_string with
3076 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3077
dbcf3c03
GM
3078 * fontset.c (Ffontset_info): Check that face is non-null
3079 before accessing its fields.
3080
8a1ae4dd
GM
30812001-05-15 Gerd Moellmann <gerd@gnu.org>
3082
18a0a39e
GM
3083 * keyboard.c (read_key_sequence): Prevent generating a fake
3084 prefix key twice.
3085
e335b66a
GM
3086 * xfaces.c (split_font_name): Handle `[...]' for the right
3087 font name fields.
3088
8a1ae4dd
GM
3089 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3090 of CCL_STAT_INVALID_CMD.
3091
3cf80731
SM
30922001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3093
33568849
SM
3094 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3095 in <var> has no default value yet.
3096
3cf80731
SM
3097 * xfaces.c (try_alternative_families): First try the FAMILY.
3098 And if nothing is found in the end, try again with scalable fonts.
3099 (try_font_list): Let try_alternative_families do a bit more of
3100 the work. Only use FAMILY if it is not nil.
3101 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3102
933b0249
GM
31032001-05-14 Gerd Moellmann <gerd@gnu.org>
3104
58e5af83
GM
3105 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3106 pointer shape when show_mouse_face has already done it.
33568849 3107
58e5af83 3108 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3109 full-width rows.
3110
7b16a6bf
GM
3111 * xfaces.c (split_font_name): Make sure to leave the loop
3112 with the right value of `i'.
3cf80731 3113
933b0249
GM
3114 * xfaces.c (split_font_name): Handle matrix transformations
3115 in the pixel and point size fields of XLFD font names.
3116 (xlfd_point_size): Likewise.
3117
dddcbf00
EZ
31182001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3119
3cf80731 3120 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3121 (x_to_w32_font): Add prototype.
3122
7689ef0b
EZ
3123 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3124 redefining, to avoid compiler warnings.
3125
e7c15bba
EZ
3126 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3127
dddcbf00
EZ
3128 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3129 (w32_get_bdf_glyph): Cast between unsigned char and char when
3130 passing arguments to subroutines, to shut up compiler warnings.
3131 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3132 GET_HEX_VAL.
3133
3134 * xfaces.c: Include keyboard.h before frame.h, not after it.
3135
3136 * widget.c: Include keyboard.h before frame.h.
3137
3138 * w32term.h (struct image, struct face): Forward declaration, to
3139 avoid compiler warnings.
3140
7bd2d083
GM
31412001-05-11 Gerd Moellmann <gerd@gnu.org>
3142
47e72862
GM
3143 * keyboard.c (read_key_sequence): Don't modify events when
3144 generating fake prefix keys (mode-line, scroll-bar, ...) since
3145 this prevents proper processing of such events when pushed back
3146 into unread-command-events.
3147
dd5f324b
GM
3148 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3149 actually redrawn. Make the function static.
3150 (note_mouse_highlight): Fix a case where the mouse cursor
3151 was changed back to the text cursor.
3152
3153 * xterm.h (clear_mouse_face): Remove prototype.
3154
d88a79d4
GM
3155 * xdisp.c (try_window_id): Fix the fix and set the right
3156 window_end_vpos.
3157
3158 * xdisp.c (try_window_id): Fix computation of window end in the
3159 case that lines were deleted at the end of the window. Add some
3160 more debug_method_adds.
0416532f 3161
7bd2d083
GM
3162 * xfaces.c (try_alternative_families): New function.
3163 (try_font_list): Use it. If ATTRS specifies a family, check
3164 fonts from that family first.
3165 (choose_face_font): Remove code setting the family part of
3166 the pattern to nil.
3167
23fca891
GM
31682001-05-10 Gerd Moellmann <gerd@gnu.org>
3169
ff9aa2ca
GM
3170 * xdisp.c (try_window_id): Fix case of all changes before
3171 the window start.
7b2654b5 3172
23fca891
GM
3173 * xdisp.c (try_window_id): Add some xasserts.
3174
e9726794
GM
31752001-05-09 Gerd Moellmann <gerd@gnu.org>
3176
3177 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3178
9e53a675
GM
31792001-05-09 Dave Love <fx@gnu.org>
3180
3181 * xdisp.c (GIVE_UP): Fix for K&R C.
3182
0d487c52
GM
31832001-05-09 Gerd Moellmann <gerd@gnu.org>
3184
fe88d421
GM
3185 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3186
0d487c52
GM
3187 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3188 back to the text cursor shape without need.
3189
1e9fc92e
GM
31902001-05-07 Gerd Moellmann <gerd@gnu.org>
3191
a2a6232e
GM
3192 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3193
3194 * dispextern.h (inverse_video): Declare extern.
3195
1e9fc92e
GM
3196 * keyboard.c (delete_kboard): Handle the case that selected_frame
3197 has been deleted in the course of x_connection_closed.
3198
12949a7f
EZ
31992001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3200
7b2654b5
SM
3201 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3202 Fix the change from 2001-04-30.
12949a7f 3203
2fa2f461
GM
32042001-05-03 Gerd Moellmann <gerd@gnu.org>
3205
a779d213
GM
3206 * xfns.c (file_dialog_unmap_cb): New function.
3207 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3208 where a dialog is closed via the window manager.
3209
7b2654b5 3210 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3211 the window start or all below the window end mostly rewritten.
3212 (redisplay_window): Move the tests if try_window_id is
3213 applicable to try_window_id.
3214 (GIVE_UP): New macro.
3215
3356df63
GM
32162001-05-02 Gerd Moellmann <gerd@gnu.org>
3217
a39202f6 3218 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3219 currently being updated, mark the frame garbaged.
3220 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3221 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3222
3356df63
GM
3223 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3224 again if it has already been drawn.
3225
a9d2fd1d
SM
32262001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3227
3228 * syntax.c (update_syntax_table): Check that oldi has the same
3229 properties as old_prop before deciding not to invalidate.
3230
c95fc5f1
GM
32312001-04-30 Gerd Moellmann <gerd@gnu.org>
3232
a9793e45
GM
3233 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3234 read-only text that is so because of text properties.
3235
c95fc5f1 3236 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3237 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3238 windows that are components of a Lucid menu bar.
3239
5a5d9185
GM
32402001-04-27 Gerd Moellmann <gerd@gnu.org>
3241
3242 * term.c (turn_on_face): Fix reverse video handling on terminals
3243 that don't support colors.
3244
ba973f7a
GM
32452001-04-26 Gerd Moellmann <gerd@gnu.org>
3246
3247 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3248 a non-buffer.
3249
8c56a983
GM
32502001-04-25 Gerd Moellmann <gerd@gnu.org>
3251
a728644c
GM
3252 * term.c (toggle_highlight): New function.
3253 (turn_on_face): Change handling of reverse video.
3254
7b2654b5
SM
3255 * process.c (wait_reading_process_input):
3256 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3257
bfd8410f
GM
3258 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3259 of the number of overlays to check.
3260
be2488ca
GM
3261 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3262
8c56a983
GM
3263 * xdisp.c (try_window_id): Fix a case where window_end_pos
3264 and window_end_bytepos were not adjusted.
3265
522d42f7
GM
32662001-04-23 Gerd Moellmann <gerd@gnu.org>
3267
3268 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3269 zero instead of -1.
3270
78c1afb6
EZ
32712001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3272
a9d2fd1d
SM
3273 * process.c (wait_reading_process_input) [!subprocesses]:
3274 Don't reference waiting_for_user_input_p, it's not defined in the
3275 branch without async subprocesses support.
78c1afb6 3276
a2fab450
GM
32772001-04-19 Gerd Moellmann <gerd@gnu.org>
3278
a122a38e
GM
3279 * keyboard.c (delete_kboard): Prevent a dangling reference
3280 from current_kboard to KB, which is freed.
3281
a9d2fd1d
SM
3282 * process.c (wait_reading_process_input):
3283 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3284 read_key_sequence aware of buffer changes from under it.
3285
0f8d6dc7
GM
32862001-04-18 Gerd Moellmann <gerd@gnu.org>
3287
eeffb293
GM
3288 * xfaces.c (Qscalable_fonts_allowed): New variable.
3289 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3290 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3291 removed.
eeffb293 3292 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3293 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3294 for scalable-fonts-allowed to t.
eeffb293 3295
0f8d6dc7
GM
3296 * fileio.c (Finsert_file_contents): If the file size returned from
3297 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3298 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3299
eec2d1de
EZ
33002001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3301
3302 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3303 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3304 (__memalign_hook): Make the two prototypes consistent.
3305
f4f480bd
GM
33062001-04-17 Gerd Moellmann <gerd@gnu.org>
3307
3308 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3309 matrix of mini-windows.
3310
52283633
SM
33112001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3312
3313 * intervals.c (find_interval): Don't rebalance during signal handling.
3314
ec2423c9
GM
33152001-04-11 Gerd Moellmann <gerd@gnu.org>
3316
30cb0001 3317 * fns.c: Include blockinput.h.
52283633 3318
ec2423c9
GM
3319 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3320
719d83ad
GM
33212001-04-10 Gerd Moellmann <gerd@gnu.org>
3322
60f8d735
GM
3323 * fns.c (Fcompare_strings): Fix return values.
3324
afffeb57
GM
3325 * window.c (window_scroll): Change the meaning of N to mean
3326 N screen-fulls or N lines.
3327 (window_scroll_pixel_based, window_scroll_line_based)
3328 (scroll_command, Fscroll_other_window): Change accordingly.
3329
52283633
SM
3330 * window.c (window_scroll_pixel_based, Frecenter):
3331 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3332 height of the window.
3333
3334 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3335 instead of using it.last_visible_y for the height of the window.
52283633 3336
719d83ad 3337 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3338 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3339
3340 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3341 able to write to hidden and system files. From Dan Holmsand
3342 <dan@eyebee.com>.
719d83ad 3343
8ddf3ee1
GM
3344 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3345 Holmsand <dan@eyebee.com>.
719d83ad 3346
522ed7fb
GM
33472001-04-09 Gerd Moellmann <gerd@gnu.org>
3348
9170e5d4
GM
3349 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3350
522ed7fb
GM
3351 * window.c (window_internal_height): Return 1 less if the
3352 window has a header line.
3353
3354 * xdisp.c (try_window_id): When scrolling on a terminal, take
3355 the change of window_internal_height into account.
3356
ceeb3d7d
EZ
33572001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3358
3359 * gmalloc.c (align): If the argument SIZE would overflow
3360 __malloc_ptrdiff_t, fail right away.
3361
63685b9d
GM
33622001-04-06 Gerd Moellmann <gerd@gnu.org>
3363
3364 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3365 Make sure the tooltip is completely visible.
3366 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3367
3368 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3369
3370 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3371
3ffb33bb
DL
33722001-04-06 Dave Love <fx@gnu.org>
3373
52283633
SM
3374 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3375 Fix test of `from'.
3ffb33bb 3376
869fb12c
GM
33772001-04-06 Gerd Moellmann <gerd@gnu.org>
3378
52283633 3379 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3380
869fb12c
GM
3381 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3382
441bf856
GM
33832001-04-05 Gerd Moellmann <gerd@gnu.org>
3384
4d664b04
GM
3385 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3386
52283633 3387 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3388
30ca89f5
GM
3389 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3390 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3391
3392 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3393 shell widget's position only if it is non-null.
3394
52283633
SM
3395 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3396 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3397
81a81c0f
GM
3398 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3399 FILENAME to bring it in synch with the documentation.
3400
441bf856
GM
3401 * xfaces.c (realizing_basic_faces_p): Renamed from
3402 realize_default_face_p.
3403 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3404 (realize_default_face): Don't set the flag.
3405
702a1e8e
GM
34062001-04-04 Gerd Moellmann <gerd@gnu.org>
3407
1013f4e3
GM
3408 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3409
52283633
SM
3410 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3411
1013f4e3
GM
3412 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3413 the buffer that was used for echoing.
3414
702a1e8e
GM
3415 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3416 (first_font_matching): Removed unused function.
3417 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3418 (may_use_scalable_font_p): Remove parameter FONT; rename
3419 parameter NAME to FONT.
3420 (x_face_list_fonts): Fix missing bounds check.
3421 (realizing_default_face_p): New variable.
3422 (realize_default_face): Set and clear that flag.
3423 (x_face_list_fonts): When called during the realization of the
3424 default face, and no matching fonts are found when ignoring
3425 scalable fonts and fonts matching a regexp from
3426 face-ignored-fonts, try without ignoring fonts.
3427
f9dbcda4
GM
34282001-04-03 Gerd Moellmann <gerd@gnu.org>
3429
ad18ffb1
GM
3430 * xfns.c (postprocess_image): New function.
3431 (lookup_image): Call it for all image types except PostScript.
3432 (x_kill_gs_process): Call postprocess_image.
3433
f9dbcda4
GM
3434 * xterm.c (x_use_underline_position_properties): New variable.
3435 (x_draw_glyph_string): Use it.
3436 (syms_of_xterm): DEFVAR_BOOL it.
3437
651f03b6
GM
34382001-04-02 Gerd Moellmann <gerd@gnu.org>
3439
3440 * xterm.c (x_alloc_nearest_color_1): New function.
3441 (x_alloc_nearest_color): Use it.
3442 (x_color_cells): Take a Display as argument, instead of a frame.
3443 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3444 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3445 (x_initialize): Register cvt_string_to_pixel as resource converter
3446 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3447
73d75a62
GM
34482001-03-30 Gerd Moellmann <gerd@gnu.org>
3449
b2046df8
GM
3450 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3451 (set_iterator_to_next): If a string from a display property ends,
3452 consider the case that this might also be the end of an
3453 overlay string having the display property.
3454
52283633 3455 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3456
87d8eba4
GM
3457 * xdisp.c (reseat_to_string): Undo last change.
3458
73d75a62
GM
3459 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3460 matrix of a window when the header line changes, when
3461 new rows are allocated, or when the width changes.
3462
911a2406
EZ
34632001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3464
52283633 3465 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3466
aea51abe
EZ
34672001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3468
3469 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3470 deprecated.
3471
176bc847
GM
34722001-03-29 Gerd Moellmann <gerd@gnu.org>
3473
ed31fabf
GM
3474 * data.c (Fsubr_interactive_form): New function.
3475 (syms_of_data): Defsubr it.
3476
176bc847
GM
3477 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3478 (live_float_p, live_misc_p): Return 1 only if the offset of the
3479 pointer in its block is >= 0.
3480
e59d0e9d
GM
34812001-03-28 Paul Eggert <eggert@twinsun.com>
3482
3483 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3484 microseconds calcuation. Avoid double-rounding problem.
3485 In doc string, warn that the result is approximate.
3486
f827b862
GM
34872001-03-28 Gerd Moellmann <gerd@gnu.org>
3488
30a3f61c
GM
3489 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3490 bind `inhibit-eval-during-redisplay' to t.
3491
3492 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3493
3494 * xdisp.c (inhibit_eval_during_redisplay)
3495 (Qinhibit_eval_during_redisplay): New variables.
3496 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3497 don't eval, return nil instead.
3498 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3499 Initialize Qinhibit_eval_during_redisplay.
3500
e719f5ae
GM
3501 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3502 the iterator's multibyte_p flag.
3503
deb2613a
GM
3504 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3505 instead of setting it to zero; it's incremented for each frame
3506 where the menu face is changed.
3507
52283633
SM
3508 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3509 change bottom shadow accordingly.
3510
3511 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3512 intersections here.
3513 (expose_window): Do it here instead.
52283633 3514 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3515
f827b862
GM
3516 * bytecode.c (BYTE_CODE_QUIT): New macro.
3517 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3518
4bde0ebb
GM
35192001-03-27 Gerd Moellmann <gerd@gnu.org>
3520
607ec83c
GM
3521 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3522 Give up if matrix starts in an ellipsis.
3523 (init_from_display_pos): Do nothing if POS doesn't specify
3524 a dpvec_index but the iterator has such a position.
3525
0245398f
GM
3526 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3527
aba25348
GM
3528 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3529 x/y position is (0, 0) after destroying the menu bar, restore
3530 its original position.
3531
4bde0ebb
GM
3532 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3533 (init_from_display_pos): Use it.
3534 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3535
8cdb267e
GM
35362001-03-26 Gerd Moellmann <gerd@gnu.org>
3537
3538 * xdisp.c (try_window_id): Undo last change.
3539
9948db79
EZ
35402001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3541
3542 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3543
3544 * buffer.c (syms_of_buffer): Doc fix.
3545
2eddf899
GM
35462001-03-26 Gerd Moellmann <gerd@gnu.org>
3547
3548 * xfaces.c (x_update_menu_appearance): Use local variable
3549 popup_path for setting font resources.
3550
6c145d35
EZ
35512001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3552
6a65b1b5
EZ
3553 * frame.c (Fframe_list): Don't reference tip_frame if
3554 HAVE_WINDOW_SYSTEM is not defined.
3555
6c145d35
EZ
3556 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3557 <wl@gnu.org>.
3558
d74c1900
GM
35592001-03-25 Gerd Moellmann <gerd@gnu.org>
3560
20fbd925
GM
3561 * xdisp.c (init_from_display_pos): Test invisible property
3562 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3563
927c5b3b
GM
3564 * xdisp.c (redisplay_internal) <update one window>: Make sure
3565 last_arrow_position and last_arrow_string are set.
3566
d74c1900
GM
3567 * frame.c (Fframe_list): Don't return a tooltip frame.
3568
091f8878
GM
35692001-03-23 Gerd Moellmann <gerd@gnu.org>
3570
52283633
SM
3571 * xdisp.c (mark_window_display_accurate_1): New function,
3572 extracted from mark_window_display_accurate.
3573 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3574 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3575 (mark_window_display_accurate): Use it.
3576 (redisplay_internal): Use it for the selected window.
3577 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3578 for the selected frame.
3579
ac90c44f
GM
3580 * xdisp.c Use make_number, for readability.
3581 (try_window_id): Disable rows below the window end.
3582 (try_window_reusing_current_matrix): Use cursor_row_p.
3583 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3584 of rows.
3585 (init_from_display_pos): If POS specifies a position in a display
3586 vector, maybe get the iterator set up for that ellipsis.
43c09969 3587
091f8878
GM
3588 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3589
991786dd
EZ
35902001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3591
3592 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3593
6c29b43c
GM
35942001-03-23 Gerd Moellmann <gerd@gnu.org>
3595
3596 * xfaces.c (x_update_menu_appearance): Use a different path
3597 for Lucid popup menus.
3598
d8731202
SM
35992001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3600
3601 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3602
3603 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3604 (string_buffer_position): Use `make_number'.
3605
f61a541b
GM
36062001-03-22 Gerd Moellmann <gerd@gnu.org>
3607
3c9e997b
GM
3608 * xfaces.c (x_update_menu_appearance): Renamed from
3609 x_set_menu_face_resources. Use different resources for popups.
3610
3611 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3612 (GC_CHECK_STRING_BYTES): Don't define.
3613
364cd450
GM
3614 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3615 Removed, together with subroutines.
3616 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3617 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3618
d8731202
SM
3619 * dispextern.h (x_set_menu_resources_from_menu_face):
3620 Remove prototype.
364cd450 3621
d8731202 3622 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3623 Remove calls to x_set_menu_resources_from_menu_face.
3624
d8731202
SM
3625 * xfaces.c (xm_set_menu_resources_from_menu_face):
3626 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3627
3628 * xmenu.c: Include widget.h.
3629 (single_submenu): Return int. Some cleanup.
3630 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3631
140330de
GM
36322001-03-21 Gerd Moellmann <gerd@gnu.org>
3633
3634 * xterm.c (x_update_window_end): Handle overwritten mouse face
3635 also for tool bar windows.
3636 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3637 DRAW is DRAW_IMAGE_RAISED.
3638
1741905c
GM
36392001-03-20 Gerd Moellmann <gerd@gnu.org>
3640
fa88947e
GM
3641 * print.c (syms_of_print): Doc fixes.
3642
1741905c
GM
3643 * fns.c (Fmd5): Doc fix.
3644
ade0bee1
GM
36452001-03-19 Gerd Moellmann <gerd@gnu.org>
3646
357e7376
GM
3647 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3648 Clear area of the frame not occupied by the scroll bar.
3649
c2c097cc
GM
3650 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3651 tip frame's root window buffer to *tip* right after creating
3652 the frame.
3653
ade0bee1
GM
3654 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3655 is an integer don't have to be for space characters.
3656
88c6e37e
GM
36572001-03-16 Gerd Moellmann <gerd@gnu.org>
3658
52283633
SM
3659 * indent.c (current_column, current_column_1, Fmove_to_column)
3660 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3661
c62eed76
KH
36622001-03-15 Kenichi Handa <handa@etl.go.jp>
3663
3664 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3665 drawing glyph string.
3666
c899e7e6
GM
36672001-03-15 Gerd Moellmann <gerd@gnu.org>
3668
d0bbfc99
GM
3669 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3670 (command_loop_1): Undo last change.
3671
03d1a189
GM
3672 * xterm.c (fast_find_position): Return the correct vpos.
3673
c899e7e6 3674 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3675 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3676 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3677 Call store_symval_forwarding with BUF null.
3678 (set_internal): Call store_symval_forwarding with the BUF
3679 parameter passed to set_internal. Formerly, the value was always
3680 set in the current buffer; the buffer recorded in specbind for
3681 this case wasn't used.
3682 (arith_driver): Reindent.
3683
52283633
SM
3684 * buffer.c (swap_out_buffer_local_variables):
3685 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3686
3687 * lisp.h (store_symval_forwarding): Change prototype.
3688
3689 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3690
57ac7c81
GM
36912001-03-14 Gerd Moellmann <gerd@gnu.org>
3692
697617d9
GM
3693 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3694 FOR_DELETION. Avoid resizing the mini-window of the selected
3695 frame if FOR_DELETION is set.
3696 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3697 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3698 signature.
3699
3700 * window.c (Fset_window_configuration): Change call to
3701 do_switch_frame to new format.
3702
3703 * keyboard.c (quit_throw_to_read_char): Change call to
3704 do_switch_frame to new format.
3705
3706 * lisp.h (do_switch_frame): Change prototype.
3707
819dce0f
GM
3708 * frame.c (Fframe_parameters): In the `buffer-list' frame
3709 parameter, store the buffer list of FRAME, not the list of the
3710 selected frame.
3711
57ac7c81
GM
3712 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3713 box just because the glyph row's full_width_p flag is set.
3714
65008712
GM
37152001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3716
3717 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3718 skip the padding blanks inserted in extend_face_to_end_of_line,
3719 before checking for trailing whitespace.
3720
159cf431
GM
37212001-03-13 Gerd Moellmann <gerd@gnu.org>
3722
52283633 3723 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3724 Remove special handling for LessTif/Motif.
3725 (toplevel): Don't include Xm/Xm.h.
3726
52283633
SM
3727 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3728 Remove workaround code for LessTif; it doesn't work anymore.
3729
2564ea1b 3730 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3731 Xm/ScrollBarP.h.
afcdc0a1 3732
52283633
SM
3733 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3734 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3735 contemporary LessTif.
3736
52283633
SM
3737 * xfaces.c (xm_set_menu_resources_from_menu_face):
3738 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3739
159cf431
GM
3740 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3741 removing button grabs.
3742
c6f7429a
KH
37432001-03-13 Kenichi Handa <handa@etl.go.jp>
3744
cb82d767
KH
3745 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3746 and clip-large-size-font as obsolete.
3747
c6f7429a
KH
3748 * lread.c (read_multibyte): Check the validity of multibyte
3749 sequence. If invalid, return the first byte.
3750
760cefb5
GM
37512001-03-12 Gerd Moellmann <gerd@gnu.org>
3752
3753 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3754 before running the command; timer functions or process
3755 filters may have set it.
3756
5141f9d0
EZ
37572001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3758
3759 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3760 Doc fix.
3761
b6a15240
GM
37622001-03-12 Gerd Moellmann <gerd@gnu.org>
3763
3764 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3765 to sprintf.
3766
95522746
GM
37672001-03-09 Gerd Moellmann <gerd@gnu.org>
3768
db14cfc5
GM
3769 * dispextern.h (string_buffer_position): Add prototype.
3770
52283633 3771 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3772 (single_display_prop_string_p): New functions.
3773
3774 * xterm.c (note_mouse_highlight): If there's no help-echo on
3775 a string, look at the buffer text ``under'' it.
3776
3777 * keyboard.c (make_lispy_event): Add string info to the event,
3778 analogous to what's done on mode lines.
3779 (read_key_sequence): For a click on a string, consider `local-map'
3780 and `keymap' of that string.
3781
52283633
SM
3782 * keyboard.c (make_lispy_event, make_lispy_movement):
3783 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3784
3785 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3786
3787 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3788 POS; return void.
3789
95522746
GM
3790 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3791 flags argument to emacs_open; it seems to conflict with O_EXCL.
3792
898a399d
KH
37932001-03-09 Kenichi Handa <handa@etl.go.jp>
3794
28cd4910
KH
3795 * composite.h (struct composition): Change types of members;
3796 glyph_len to unsigned, width to unsigned short.
898a399d 3797
4cdf6a6c
AI
37982001-03-08 Andrew Innes <andrewi@gnu.org>
3799
3800 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3801 menu titles.
3802
129004d3
GM
38032001-03-08 Gerd Moellmann <gerd@gnu.org>
3804
221dd3e7
GM
3805 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3806 instead of nil.
3807
52283633 3808 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3809 help-echo in strings.
3810 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3811 (fast_find_string_pos): New function.
3812
52283633
SM
3813 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3814 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3815
3816 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3817 Handle `mouse-face'.
3818
3819 * dispextern.h (face_at_string_position): Change prototype.
3820
52283633 3821 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3822
129004d3
GM
3823 * keyboard.c (make_lispy_event): Avoid generating drag events
3824 if the mouse hasn't actually moved to another buffer position.
52283633 3825
80c8ab8c
DL
38262001-03-08 Dave Love <fx@gnu.org>
3827
129004d3 3828 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3829
989521fd
GM
38302001-03-08 Gerd Moellmann <gerd@gnu.org>
3831
3832 * process.c (Fset_process_window_size): Fix a typo.
3833
bb5c338d
KH
38342001-03-08 Kenichi Handa <handa@etl.go.jp>
3835
3836 * coding.c (detect_coding_sjis): Do more rigid check.
3837 (detect_coding_big5): Likewise.
3838 (decode_coding_sjis_big5): Likewise.
3839 (Fdetect_coding_region): Call detect_coding_system with tailing
3840 anchor byte `\0' for more rigid detection.
52283633 3841 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3842 (Fdetect_coding_string): Likewise.
3843
8b8f9197
SM
38442001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3845
3846 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3847 a string before extracting its data.
3848
3bdf2660
GM
38492001-03-07 Gerd Moellmann <gerd@gnu.org>
3850
3851 * window.c (Frecenter): Rewrite code handling negative values
3852 of ARG on graphical frames.
3853
38542001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3855
3856 * window.c (displayed_window_lines): If W->start is outside the
3857 accessible portion of the buffer, call start_display with BEGV or
3858 ZV instead of W->start.
3859
471f86b9
GM
38602001-03-07 Gerd Moellmann <gerd@gnu.org>
3861
2ab62c6c
GM
3862 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3863
471f86b9
GM
3864 * process.c (Fset_process_filter): Don't crash if the input
3865 file descriptor of PROCESS is closed.
3866 (Fset_process_window_size): Likewise.
3867
101922c3
GM
38682001-03-06 Kenichi Handa <handa@etl.go.jp>
3869
3870 * xterm.c (XTflash): Make the timeout of select shorter, and call
3871 select repeatedly until the desired time expires.
3872
45d051a7
GM
38732001-03-06 Gerd Moellmann <gerd@gnu.org>
3874
3875 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3876
3877 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3878
3879 * lisp.h (Vwindow_list): Declare extern.
3880
8f372c46
EZ
38812001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3882
3883 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3884
f16a7aa5
GM
38852001-03-06 Gerd Moellmann <gerd@gnu.org>
3886
157ae273
GM
3887 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3888 to detect a case where we have to highlight a different region
3889 despite not having left the currently highlighted region.
3890 Set mouse_face_overlay in the x_display_info.
45d051a7 3891 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3892
3893 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3894
3895 * buffer.c (mouse_face_overlay_overlaps): New function.
3896
3897 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3898 (Qmouse_face): Declare extern.
3899
f16a7aa5
GM
3900 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3901 if face_change_count is non-zero.
3902
827afcac
KH
39032001-03-06 Kenichi Handa <handa@etl.go.jp>
3904
3905 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3906 that the source is unibyte.
3907
14c7242e
DL
39082001-03-05 Dave Love <fx@gnu.org>
3909
827afcac 3910 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3911
c28b847b
GM
39122001-03-05 Gerd Moellmann <gerd@gnu.org>
3913
3914 * minibuf.c (read_minibuf): Clean up the binding stack if
3915 called noninteractively.
3916
b86644f2
KH
39172001-03-05 Kenichi Handa <handa@etl.go.jp>
3918
3919 * coding.c (syms_of_coding): Docstring modified.
3920
203682cc 39212001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3922
3923 * charset.c (char_to_string): If a single byte char has modifier
3924 bits that can't be reflected to the character code, ignore them
45d051a7 3925 instead of signaling an error.
b86644f2 3926
e30bd7b7
EZ
39272001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3928
3929 * s/msdos.h: Update copyright notice.
3930
3931 * dosfns.h: Update copyright notice.
3932
3933 * dosfns.c: Update copyright notice.
3934
3935 * msdos.c: Update copyright notice.
3936
b52b65bd
GM
39372001-03-02 Gerd Moellmann <gerd@gnu.org>
3938
3939 * xterm.c (glyph_rect): New function.
3940 (XTmouse_position): Use it to raise the threshold for mouse
3941 movement event generation.
3942
53c4b1e6
EZ
39432001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3944
3945 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3946 specifies (reverse . t), reverse the initial screen colors.
3947 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3948 but we are reversing the colors, set bg_set, not fg_set.
3949 Likewise for setting background-color and reversing: set fg_set.
3950 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3951 in effect.
3952
3953 * xfaces.c (Finternal_set_lisp_face_attribute)
3954 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3955 parameters alist.
3956
f964b4d7
GM
39572001-03-02 Gerd Moellmann <gerd@gnu.org>
3958
ef53d75e
GM
3959 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3960 to a single slash in the middle of file names.
3961
52283633 3962 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3963 Accept only alphanumeric time zone names.
3964
f964b4d7
GM
3965 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3966 or width area.
3967 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3968 a widget to zero height.
52283633 3969
c3c45f65
GM
39702001-03-01 Gerd Moellmann <gerd@gnu.org>
3971
3972 * window.c (Fwindow_end): Call move_it_past_eol only if
3973 ending up on a partially visible line.
3974
028d739a
DL
39752001-03-01 Dave Love <fx@gnu.org>
3976
3977 * ccl.c (Fccl_execute): Doc fix.
3978
57c5889c
GM
39792001-03-01 Gerd Moellmann <gerd@gnu.org>
3980
35f59f6b
GM
3981 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3982 of the tool bar before calling x_figure_window_size.
3983
f84ff02c
GM
3984 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3985 NULL after destroying it, otherwise XTread_socket can access a
3986 destroyed widget when input is unblocked.
3987
8b8f9197 3988 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3989
57c5889c
GM
3990 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3991 same name as before, although there was a change in fontsets.
3992
224227d1
KR
39932001-02-28 Ken Raeburn <raeburn@gnu.org>
3994
4560730a
KR
3995 * lisp.h (Fframe_parameter): Declare.
3996
224227d1 3997 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3998 Lisp_Object.
224227d1 3999
ece93c02
GM
40002001-02-28 Gerd Moellmann <gerd@gnu.org>
4001
11ef99b9
GM
4002 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4003 NULL instead.
4004
4005 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4006 NULL instead.
4007
ece93c02
GM
4008 * alloc.c (toplevel): Include process.h.
4009 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4010 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4011 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4012 (allocate_vector, allocate_hash_table, allocate_window)
4013 (allocate_frame, allocate_process, allocate_other_vector):
4014 New functions.
ece93c02
GM
4015 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4016 (mark_maybe_pointer): New function.
52283633 4017 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4018 remain and not Lisp_Objects.
4019 (min_heap_address, max_heap_address): New variables.
4020 (mem_find): Return MEM_NIL if START is below min_heap_address or
4021 above max_heap_address.
4022 (mem_insert): Compute min_heap_address and max_heap_address.
4023
4024 * process.c (make_process): Use allocate_process.
4025
4026 * frame.c (make_frame): Use allocate_frame.
4027
4028 * window.c (make_window, make_dummy_parent): Use allocate_window.
4029 (Fcurrent_window_configuration): Use allocate_other_vector.
4030
4031 * lisp.h (allocate_vectorlike): Remove prototype.
4032 (allocate_vector, allocate_other_vector, allocate_frame)
4033 (allocate_window, allocate_process, allocate_hash_table):
4034 Add prototypes.
4035
4036 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4037 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4038
063af457
KH
40392001-02-27 Kenichi Handa <handa@etl.go.jp>
4040
4041 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4042 treat the produced bytes as a valid multibyte sequence.
4043
4044 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4045 (ccl_driver) <CCL_WriteMultibyteChar2>:
4046 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4047 <ccl_finish>: Set ccl->eight_bit_control properly.
4048
4049 * ccl.h (struct ccl_program): New member eight_bit_control.
4050
f58c6494
SM
40512001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4052
4053 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4054 accessible_keymaps_char_table.
4055 (accessible_keymaps_char_table): Obey `is_metized'.
4056 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4057 Lisp_Object.
4058
c596c392
GM
40592001-02-26 Gerd Moellmann <gerd@gnu.org>
4060
4061 * dispnew.c: Check HAVE_TERM_H before including term.h.
4062
425de386
AI
40632001-02-24 Andrew Innes <andrewi@gnu.org>
4064
4065 * makefile.w32-in: Update copyright notice.
4066
2ba11bbd
SM
40672001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4068
4069 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4070
66c56ed1
KH
40712001-02-24 Kenichi Handa <handa@etl.go.jp>
4072
4c1593ce
KH
4073 * Makefile.in (lisp): Add international/utf-8.elc.
4074
66c56ed1
KH
4075 * fontset.c (Fnew_fontset): Fix handling of the case that an
4076 element of FONTLIST is a cons of family and registry.
4077
796ead7e
JR
40782001-02-23 Jason Rumney <jasonr@gnu.org>
4079
4080 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4081 to height unconditionally.
4082
4083 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4084 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4085 (x_insert_glyphs): Call window_box_left to obtain the left
4086 x-coordinate of the area to shift.
4087
4088 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4089 safe_run_hooks.
4090
f6839838
AI
40912001-02-22 Andrew Innes <andrewi@gnu.org>
4092
52283633 4093 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4094 ($(BLD)\dispnew.obj):
4095 ($(BLD)\editfns.obj):
4096 ($(BLD)\fileio.obj):
4097 ($(BLD)\filelock.obj):
4098 ($(BLD)\keyboard.obj):
4099 ($(BLD)\w32proc.obj):
4100 ($(BLD)\process.obj):
4101 ($(BLD)\sysdep.obj): Ditto.
4102
4103 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4104 header files.
52283633
SM
4105 ($(BLD)/dispnew.$(O)):
4106 ($(BLD)/editfns.$(O)):
4107 ($(BLD)/fileio.$(O)):
4108 ($(BLD)/filelock.$(O)):
4109 ($(BLD)/keyboard.$(O)):
4110 ($(BLD)/w32proc.$(O)):
4111 ($(BLD)/process.$(O)):
f6839838
AI
4112 ($(BLD)/sysdep.$(O)): Ditto.
4113
c224f70b
GM
41142001-02-22 Gerd Moellmann <gerd@gnu.org>
4115
51695746
GM
4116 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4117 at the start of the function, check that the \n in it->c is
4118 from the iterator's current position.
52283633 4119
a61b7058
GM
4120 * xdisp.c (handle_single_display_prop): Add parameter
4121 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4122 properties which replace the display of text with something else.
4123 (handle_display_prop): Call handle_single_display_prop with
4124 additional argument saying if we already replaced text display
4125 with something else. Use AREF.
52283633 4126 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4127 (decode_mode_spec_coding): Use AREF and ASIZE.
4128
3473f362
GM
4129 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4130 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4131 * vmstime.h: Files removed.
52283633 4132
2bb58df3
GM
4133 * unexencap.c, unexfx2800.c: Files removed.
4134
c224f70b
GM
4135 * dispnew.c (direct_output_for_insert): Give up if we are showing
4136 a message or just cleared the message because we might need to
4137 resize the echo area window or display an empty echo area.
4138
ffc9ff0c
GM
41392001-02-21 Gerd Moellmann <gerd@gnu.org>
4140
0528abe1
GM
4141 * xdisp.c (redisplay_internal): Do the
4142 mark_window_display_accurate after all windows have been
4143 redisplayed because this call resets flags in buffers which are
4144 needed for proper redisplay.
4145
52283633
SM
4146 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4147 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4148 the old names.
4149
52283633
SM
4150 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4151 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4152
4153 * msdos.h (struct x_output): Rename busy_window to
4154 hourglass_window, busy_p to hourglass_p.
4155
52283633
SM
4156 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4157 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4158
4159 * xfns.c: Rename everything containing *busy_cursor* and similar
4160 to *hourglass*.
4161 (syms_of_w32fns): Rename x-busy-pointer-shape to
4162 x-hourglass-pointer-shape, display-busy-cursor to
4163 display-hourglass, busy-cursor-delay to hourglass-delay.
4164
4165 * w32fns.c: Rename everything containing *busy_cursor* and similar
4166 to *hourglass*.
4167 (syms_of_w32fns): Rename x-busy-pointer-shape to
4168 x-hourglass-pointer-shape, display-busy-cursor to
4169 display-hourglass, busy-cursor-delay to hourglass-delay.
4170
4171 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4172 of its busy_p flag.
4173
4174 * dispextern.h (start_hourglass, cancel_hourglass)
4175 (display_hourglass_p): Renamed from *busy_cursor*.
4176
ab2c5f0a
GM
41772001-02-20 Gerd Moellmann <gerd@gnu.org>
4178
d17e49a8
GM
4179 * keyboard.c (read_char): When an event from unread-command-events
4180 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4181
fa97adf6
GM
4182 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4183 equal to the current buffer.
4184
ab2c5f0a
GM
4185 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4186 nil, otherwise we're left with truncate_lines t when a message
4187 is printed with message-truncate-lines bound to t.
4188
aeac019e
GM
41892001-02-19 Gerd Moellmann <gerd@gnu.org>
4190
c8bc6f65
GM
4191 * window.c (Fmove_to_window_line): Undo last change.
4192 (displayed_window_lines): Call line_bottom_y to determine
4193 the line's bottom position.
4194
4195 * dispextern.h (line_bottom_y): Add prototype.
4196
52283633 4197 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4198 (pos_visible_p): Use it.
4199
980a2d69
GM
4200 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4201 set redisplaying_p to 0 here instead of in Frecursive_edit.
4202 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4203 set redisplaying_p.
4204
52283633 4205 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4206 New variables.
4207 (syms_of_xdisp): Initialize new variables.
4208 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4209 Specbind `inhibit-menubar-update' when updating the menu bar.
4210
65048e97
GM
4211 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4212 safe_run_hooks.
4213
4214 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4215 safe_run_hooks.
4216
a57c4026
GM
4217 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4218 is null.
4219
aeac019e
GM
4220 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4221 to the start of the file.
4222
76846b31
GM
42232001-02-16 Gerd Moellmann <gerd@gnu.org>
4224
f3f053f3 4225 * window.c (set_window_buffer): Fix last change.
52283633 4226
f3f053f3
GM
4227 * window.c (set_window_buffer): Set window's vscroll to 0.
4228
dad75588
GM
4229 * window.c (coordinates_in_window): Increase width of area
4230 where the vertical line can be dragged.
4231
c220b753
GM
4232 * xterm.c (x_set_glyph_string_background_width): Extend the
4233 background face to the end of the drawing area in the text
4234 area, only.
4235
c56b1c1b
GM
4236 * xdisp.c (handle_single_display_prop): Set iterator's position
4237 to where the `display' property starts, like for images.
4238 (dump_glyph): New function.
4239 (dump_glyph_row): Use it. Dump info about marginal areas.
4240
4241 * dispnew.c (direct_output_for_insert): Recognize more cases where
4242 glyphs can be written instead of being inserted.
4243
4244 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4245 the left x-coordinate of the area to shift.
4246
76846b31
GM
4247 * dired.c (directory_files_internal): Set result list to nil
4248 before retrying.
4249
0fc71a77
KH
42502001-02-15 Kenichi Handa <handa@etl.go.jp>
4251
4252 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4253 invalid multibyte sequence, treat *SRC as a character of
4254 eight-bit-graphic.
4255
25078b54
EZ
42562001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4257
4258 * textprop.c (Fset_text_properties): Doc fix.
4259
8399f8a0
GM
42602001-02-15 Gerd Moellmann <gerd@gnu.org>
4261
4262 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4263
9a2a6f73
DL
42642001-02-14 Dave Love <fx@gnu.org>
4265
4266 * coding.c: Doc and message fixes.
4267
bf853fee
AI
42682001-02-14 Andrew Innes <andrewi@gnu.org>
4269
4270 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4271 Emacs frame above the screen size.
4272
78c663d8
GM
42732001-02-14 Gerd Moellmann <gerd@gnu.org>
4274
4275 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4276
7cc9f69f
GM
42772001-02-13 Gerd Moellmann <gerd@gnu.org>
4278
0a411995
GM
4279 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4280 case that TO ends up beyond ZV after running before-change-functions.
4281
5ddc1b75
GM
4282 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4283 the selected window if it is showing the buffer in question.
4284
7cc9f69f
GM
4285 * dired.c (directory_files_internal): Initialize errno.
4286 (toplevel): Include errno.h.
4287
2e6621ca
GM
42882001-02-13 Kenichi Handa <handa@etl.go.jp>
4289
4290 * xfaces.c (best_matching_font): New parameter width_ratio.
4291 Multiply avgwidth by width_ratio.
4292 (choose_face_font): Call best_matching_font with width_ratio
4293 calculated from the column width of C.
4294
60222d69
AI
42952001-02-12 Andrew Innes <andrewi@gnu.org>
4296
4297 The following changes are to draw box lines inside characters area
4298 if line-width is negative.
52283633 4299
60222d69
AI
4300 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4301 face->box_line_width is negative.
4302 (x_produce_stretch_glyph): Likewise.
4303 (x_produce_glyphs): Likewise.
4304 (x_estimate_mode_line_height): Likewise.
4305 (x_draw_glyph_string_background): Likewise.
4306 (x_draw_glyph_string_foreground): Likewise.
4307 (x_draw_composite_glyph_string_foreground): Likewise.
4308 (x_draw_glyph_string_box): Likewise.
4309 (x_draw_image_foreground): Likewise.
4310 (x_draw_image_relief): Likewise.
4311 (x_draw_image_foreground_1): Likewise.
4312 (x_draw_image_glyph_string): Likewise.
4313
9804b846
KH
43142001-02-09 Kenichi Handa <handa@etl.go.jp>
4315
4316 The following changes are to draw box lines inside characters area
4317 if line-width is negative.
52283633 4318
9804b846
KH
4319 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4320 face->box_line_width is negative.
4321 (x_produce_stretch_glyph): Likewise.
4322 (x_produce_glyphs): Likewise.
4323 (x_estimate_mode_line_height): Likewise.
4324 (x_draw_glyph_string_background): Likewise.
4325 (x_draw_glyph_string_foreground): Likewise.
4326 (x_draw_composite_glyph_string_foreground): Likewise.
4327 (x_draw_glyph_string_box): Likewise.
4328 (x_draw_image_foreground): Likewise.
4329 (x_draw_image_relief): Likewise.
4330 (x_draw_image_foreground_1): Likewise.
4331 (x_draw_image_glyph_string): Likewise.
4332
4333 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4334 and :line-width can be negative.
52283633 4335 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4336
49be9f70
JR
43372001-02-09 Jason Rumney <jasonr@gnu.org>
4338
4339 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4340 characters the same as ASCII and latin-1.
4341 (x_display_and_set_cursor): Check for the focus frame's selected
4342 window instead of selected_window.
4343 (x_after_update_window_line): Don't clear if frame's internal
4344 border width is zero.
4345 (x_new_font): Don't change a tooltip's size.
4346 (w32_initialize): Set char_ins_del_ok to 1.
4347
4348 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4349 (x_set_font): If font hasn't changed, avoid recomputing
4350 faces and other things.
52283633
SM
4351 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4352 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4353 (x_create_tip_frame): Prevent changing the tooltip's
4354 background color by specifying a color for the default font
4355 in .Xdefaults.
4356 (Qcancel_timer): New variable.
4357 (syms_of_w32fns): Initialize and staticpro it.
4358 (Fx_hide_tip, Fx_show_tip): Use it.
4359 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4360 the timer.
4361 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4362
4363 * w32.c (init_environment): Duplicate local string before putenv.
4364
555e35d2
SZ
43652001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4366
4367 * charset.c (Fstring): A typo.
4368
19c92c94
KH
43692001-02-09 Kenichi Handa <handa@etl.go.jp>
4370
e47a1c33
KH
4371 * charset.c (Fstring): If all arguments are less than 256, return
4372 a unibyte string.
4373
4374 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4375 return a unibyte string.
4376
19c92c94
KH
4377 * coding.c (code_convert_region): After detecting a coding, if
4378 nothing found, set coding->composing to COMPOSITION_NO.
4379 (decode_coding_string): Likewise.
4380
d8e675f5
SM
43812001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4382
4383 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4384 to avoid overflow.
4385
bd503487
KH
43862001-02-07 Kenichi Handa <handa@etl.go.jp>
4387
4388 * charset.c (parse_str_to_multibyte): New function.
4389
4390 * charset.h (parse_str_to_multibyte): Extern it.
4391
4392 * print.c (print_string): If we are going to print a unibyte
4393 string into a multibyte buffer, convert the string to multibyte by
4394 str_to_multibyte.
4395
a8370d72
AI
43962001-02-06 Andrew Innes <andrewi@gnu.org>
4397
4398 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4399 been created. It seems we can get sent window messages such as
4400 WM_ERASEBKGND before we properly update a frame.
4401
c363a1d6
GM
44022001-02-06 Gerd Moellmann <gerd@gnu.org>
4403
4404 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4405 Avoid some unnecessary cursor positioning.
4406
a08332c0
GM
44072001-02-05 Gerd Moellmann <gerd@gnu.org>
4408
52283633 4409 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4410 (LFACE_AVGWIDTH): New macro.
4411 (LFACEP): Use AREF.
4412 (check_lface_attrs): Check LFACE_AVGWIDTH.
4413 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4414 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4415 (merge_face_vectors): Check LFACE_AVGWIDTH.
4416 (Finternal_make_lisp_face): Use AREF.
4417 (xm_set_menu_resources_from_menu_face)
4418 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4419 (Finternal_lisp_face_empty_p): Use AREF.
4420 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4421 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4422 Compare average widths..
4423 (best_matching_font): Arrange for comparing average widths.
4424
52283633
SM
4425 * dispextern.h (enum lface_attribute_index):
4426 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4427
5cb3c8d4
DL
44282001-02-05 Dave Love <fx@gnu.org>
4429
4430 * puresize.h: Revert last change following loadup.el change.
4431
193fba87
AI
44322001-02-05 Andrew Innes <andrewi@gnu.org>
4433
4434 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4435 invocation of temacs, to work with Windows 2000.
4436 (bootstrap-emacs): Ditto.
4437
e16f52ce
GM
44382001-02-05 Gerd Moellmann <gerd@gnu.org>
4439
7a58ab59
GM
4440 * xterm.c (x_display_and_set_cursor): Check for the focus
4441 frame's selected window instead of selected_window.
4442
e89aaabd
GM
4443 * xdisp.c (try_scrolling): If point is in the line below the
4444 window, make sure to move the iterator at least a canonical
4445 char height down.
4446
52283633 4447 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4448
789ce875
KH
44492001-02-05 Kenichi Handa <handa@etl.go.jp>
4450
52283633
SM
4451 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4452 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4453 (ccl_driver): If the CCL program is terminated because of
4454 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4455 destination instead of throwing them away.
4456
20b28f82
GM
44572001-02-02 Gerd Moellmann <gerd@gnu.org>
4458
79fb38c0
GM
4459 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4460 faces and other things.
4461
20b28f82
GM
4462 * xdisp.c (get_next_display_element): Fix case of empty
4463 display table entry.
4464
5a72551e
EZ
44652001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4466
eb24d0bf
EZ
4467 * editfns.c (Fconstrain_to_field): Doc fix.
4468
6a3f48c7
EZ
4469 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4470 into `thoroughly', to make it consistent with the doc string.
4471
5a72551e
EZ
4472 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4473
01acdb05
GM
44742001-02-01 Gerd Moellmann <gerd@gnu.org>
4475
0353b28f
GM
4476 * search.c (search_buffer): Call set_search_regs with a byte
4477 position, not a character position.
4478
01acdb05
GM
4479 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4480 minibuffer-only,
4481
e86b5133
EZ
44822001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4483
4484 * frame.c (Fmodify_frame_parameters): Doc fix.
4485
7442878f
GM
44862001-01-31 Gerd Moellmann <gerd@gnu.org>
4487
01acdb05
GM
4488 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4489 identifier which is not reserved by Standard C.
52283633 4490
7442878f
GM
4491 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4492
4493 * window.c (enum window_part): New enumeration.
4494 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4495 Qright_bitmap_area.
4496 (coordinates_in_window): Return an enumerator from enum
4497 window_part. Fix handling of right scroll bar.
4498 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4499 `right-fringe' instead of `left-bitmap-area' and
4500 `right-bitmap-area'. Use enumerators from enum window_part
4501 instead of hard-coded integers.
52283633
SM
4502 (check_window_containing, window_from_coordinates):
4503 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4504 (syms_of_window): Replace Qleft_bitmap_area and
4505 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4506
7c132cba
EZ
45072001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4508
4509 * editfns.c (Fformat_time_string): Doc fix.
4510
c359dd9e
SM
45112001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4512
4513 * keymap.c (Fwhere_is_internal): Use the first valid binding
4514 if no ascii binding is found (when firstonly is t).
4515
ce070307
GM
45162001-01-31 Gerd Moellmann <gerd@gnu.org>
4517
b4f30ec5
GM
4518 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4519 instead of Finteractive_p.
4520
4521 * lisp.h (interactive_p): Add prototype.
4522
4523 * eval.c (interactive_p): New function.
4524 (Finteractive_p): Use it.
4525
ce070307
GM
4526 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4527
f57b6e64
DL
45282001-01-31 Dave Love <fx@gnu.org>
4529
d61c7afe
DL
4530 * .gdbinit (hook-run): Define to run xreload.
4531
f57b6e64
DL
4532 * textprop.c (Fset_text_properties): Fix newline in doc string.
4533
eef93f99
GM
45342001-01-30 Gerd Moellmann <gerd@gnu.org>
4535
52283633
SM
4536 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4537 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4538
4539 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4540 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4541 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4542
4543 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4544 height.
4545
d9c1f6f9
DL
45462001-01-30 Dave Love <fx@gnu.org>
4547
4548 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4549 AFTER_POTENTIAL_GC.
4550
e8f044a0
GM
45512001-01-29 Gerd Moellmann <gerd@gnu.org>
4552
52283633
SM
4553 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4554 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4555
8e1db7b3
EZ
45562001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4557
4558 * textprop.c (Fset_text_properties): Doc fix.
4559
4eefd9d2
GM
45602001-01-29 Gerd Moellmann <gerd@gnu.org>
4561
4562 * xdisp.c (forward_to_next_line_start): Remove xassert.
4563
fccb8288
EZ
45642001-01-29 Jason Rumney <jasonr@gnu.org>
4565
4eefd9d2 4566 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4567 returning without releasing it.
4568
76581eab
KH
45692001-01-29 Kenichi Handa <handa@etl.go.jp>
4570
4571 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4572 for '^', '$', and '\0'.
4573
83a96b4d
AC
45742001-01-28 Andrew Choi <akochoi@i-cable.com>
4575
5604ec34
AC
4576 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4577 regex for '^', '$', and '\0'.
4578
83a96b4d
AC
4579 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4580 only if current_sblock has been initialized.
4581
4582 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4583 terminal frame even if it is the only visible frame.
4584
c09a6440
KH
45852001-01-28 Kenichi Handa <handa@etl.go.jp>
4586
4587 * fontset.c (font_family_registry): Even if FONTNAME conform to
4588 XLFD, if it specifies other fields than family and registry,
52283633 4589 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4590 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4591 a signle byte character. Don't set FAMILY part to nil here.
4592 It is handled by the caller choose_face_font.
c09a6440
KH
4593 (Fnew_fontset): Call font_family_registry with FORCE 0.
4594 (Fset_fontset_font): Likewise.
4595
4dcd74e6
GM
45962001-01-27 Gerd Moellmann <gerd@gnu.org>
4597
4598 * xdisp.c (display_line): Don't treat a newline as fitting
4599 on the line.
4600
d2906bf8
GM
46012001-01-26 Gerd Moellmann <gerd@gnu.org>
4602
0130fe1a
GM
4603 * window.c (size_window): Set the window's orig_top to nil when
4604 changing heights, so that a future shrink_mini_window won't
4605 restore a bogus height.
4606
550f0e6a
GM
4607 * frame.c (do_switch_frame): If selected frame has a mini-window,
4608 resize that to exact size.
4609
b7b20fbd
GM
4610 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4611
a47b7816
GM
4612 * xdisp.c (display_line): Simplify check for glyphs fitting
4613 entirely in the line.
4614
d2906bf8
GM
4615 * xfns.c (xic_style): New variable.
4616 (create_frame_xic): Move static variable to global scope for
550f0e6a 4617 the case that `static' gets defined away.
d2906bf8 4618
73df2b1e
KH
46192001-01-26 Kenichi Handa <handa@etl.go.jp>
4620
4621 * coding.c (decode_coding): Set a flag for inhibiting
4622 inconsistent eol.
4623 (code_convert_region): Always set saved_coding_symbol.
4624 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4625 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4626
6613cfc4
GM
46272001-01-25 Gerd Moellmann <gerd@gnu.org>
4628
c5e6e06b
GM
4629 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4630 XClearArea.
4631
4632 * xterm.c (x_after_update_window_line): Don't clear if frame's
4633 internal border width is zero.
4634 (x_clear_area): New function.
4635 (x_after_update_window_line, x_clear_end_of_line)
4636 (x_scroll_bar_create, x_scroll_bar_set_handle)
4637 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4638 instead of XClearArea.
4639
4640 * xterm.h (x_clear_area): Add prototype.
4641
6613cfc4
GM
4642 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4643 which doesn't seem necessary anymore with Lesstif 0.92.
4644
650cc6cc
DL
46452001-01-25 Dave Love <fx@gnu.org>
4646
34ac3367
DL
4647 * puresize.h (BASE_PURESIZE): Up to 720000.
4648
650cc6cc
DL
4649 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4650
5e37dc22
GM
46512001-01-25 Gerd Moellmann <gerd@gnu.org>
4652
e1e441f9
GM
4653 * xdisp.c (echo_area_display): Don't call redisplay_internal
4654 when Emacs is shutting down. We can't run hooks etc. that
4655 would be necessary to do a redisplay.
4656
5e37dc22
GM
4657 * lread.c (read_integer): Use type EMACS_INT instead of int.
4658
0fb94c7f
EZ
46592001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4660
4661 * ccl.c (ccl_driver): Fix last change.
4662
e3778624
KH
46632001-01-25 Kenichi Handa <handa@etl.go.jp>
4664
4665 * ccl.h (sturct ccl_program): New member suppress_error.
4666
bb264518 4667 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4668 insert error message to the output.
4669 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4670
4671 * coding.h (struct coding_system): New member suppress_error.
4672
4673 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4674 (Fset_terminal_coding_system_internal): Set the member
4675 suppress_error to 1.
4676 (Fset_safe_terminal_coding_system_internal): Likewise.
4677
245ed2b1
SM
46782001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4679
4680 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4681 as if it was a `charset'.
4682
f9aaedb6
GM
46832001-01-24 Gerd Moellmann <gerd@gnu.org>
4684
4685 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4686 value in where_is_cache; the next lookup in the cache returns
4687 something bogus if we do.
4688
c3902c3e
EZ
46892001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4690
4691 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4692 if HAVE_WINDOW_SYSTEM isn't defined.
4693
3497f73e
GM
46942001-01-24 Gerd Moellmann <gerd@gnu.org>
4695
e7e41584
GM
4696 * fns.c (sweep_weak_table): Fix code taking items out of
4697 the hash collision chain. Some cleanup.
4698
3497f73e
GM
4699 * xterm.c (x_new_font): Don't change a tooltip's size.
4700
4701 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4702 background color by specifying a color for the default font
4703 in .Xdefaults.
4704
3d48e687
KH
47052001-01-24 Kenichi Handa <handa@etl.go.jp>
4706
96531b20
KH
4707 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4708 a workaround for SunOS 4's cc.
4709 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4710 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4711 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4712 statement.
3d48e687 4713
a30629d2
GM
47142001-01-23 Gerd Moellmann <gerd@gnu.org>
4715
4716 * xterm.c (x_set_window_size_1): New function extracted from
4717 x_set_window_size.
4718 (x_set_window_size): Use it.
4719 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4720 doesn't have a widget, like tooltips.
4721
5a43decf
EZ
47222001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4723
52283633 4724 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4725
b0e98867
KH
47262001-01-23 Kenichi Handa <handa@etl.go.jp>
4727
4728 * fns.c (Fset_char_table_default): Fix to make sub char-table
4729 correctly.
4730
50606b4c
GM
47312001-01-22 Gerd Moellmann <gerd@gnu.org>
4732
cb2ddc53 4733 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4734 a desired tool bar string, even if there are no tool bar items.
4735
57c28064
GM
4736 * xdisp.c (Ftool_bar_lines_needed): New function.
4737 (syms_of_xdisp): Defsubr it.
4738
50606b4c
GM
4739 * editfns.c (Fformat): Don't extend text properties from arguments
4740 to padding chars in the result.
4741
2f169c38
EZ
47422001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4743
4744 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4745
0f32f023
AI
47462001-01-20 Andrew Innes <andrewi@gnu.org>
4747
52283633 4748 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4749 (w32_initialize): Don't set term hooks that aren't actually needed
4750 in windowed mode.
4751
4752 * xfaces.c (realize_default_face):
4753 (realize_face):
4754 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4755
4756 * xdisp.c (handle_single_display_prop): Remove references to
4757 FRAME_W32_CONSOLE_P.
4758
52283633 4759 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4760
4761 * frame.h (output_method): Remove output_w32_console method.
4762 (FRAME_W32_CONSOLE_P): Remove macro.
4763
4764 * frame.c (Qw32_console): Remove variable.
4765 (Fframep): Remove references to it.
4766 (syms_of_frame): Ditto.
4767 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4768
4769 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4770 redefinition.
4771
7173eada
KH
47722001-01-20 Kenichi Handa <handa@etl.go.jp>
4773
4774 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4775
755b45ce
AI
47762001-01-19 Andrew Innes <andrewi@gnu.org>
4777
4778 * w32.c (init_environment): Add a version-independent site-lisp
4779 directory to EMACSLOADPATH, after the version dependent one.
4780
0a949811
GM
47812001-01-19 Gerd Moellmann <gerd@gnu.org>
4782
8501998a
GM
4783 * editfns.c (Fbuffer_substring): Doc fix.
4784
52283633
SM
4785 * xdisp.c (message_dolog, message2, message2_nolog):
4786 Rename parameter LEN to NBYTES.
0a949811 4787
e6ebcbbe
KH
47882001-01-19 Kenichi Handa <handa@etl.go.jp>
4789
200ecca2
KH
4790 * charset.c (strwidth): Use c_string_width.
4791 (c_string_width): New function.
4792 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4793 Caller changed.
4794
4795 * charset.h (c_string_width, lisp_string_width): Extern them.
4796
52283633 4797 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4798
e6ebcbbe
KH
4799 * indent.c (check_composition): Check validity of composition.
4800
200ecca2
KH
4801 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4802 characters by calling c_string_width.
4803 (x_consider_frame_title): Get byte length of frame tile string
4804 correctly.
4805 (display_mode_element): Pay attention to width of non-ASCII
4806 characters by calling strwidth.
4807
8692ca92
GM
48082001-01-18 Gerd Moellmann <gerd@gnu.org>
4809
8962e303
GM
4810 * xfns.c (Qcancel_timer): New variable.
4811 (syms_of_xfns): Initialize and staticpro it.
4812 (Fx_hide_tip, Fx_show_tip): Use it.
4813 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4814 the timer.
4815 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4816
91523be9
GM
4817 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4818
4819 * window.h (WINDOW_LIVE_P): New macro.
4820
b0b7ed0e
GM
4821 * window.c (window_size_fixed): New variable.
4822 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4823 the doc string.
4824
06bccf8e
GM
4825 * eval.c (specbind): If binding a per-buffer variable which
4826 doesn't have a buffer-local value in the current buffer, change
4827 the global value by changing the value of the symbol bound in all
4828 buffers not having their own value, to make it consistent with
4829 what happens with other buffer-local variables.
4830
8692ca92
GM
4831 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4832
4833 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4834 when searching for a newline.
4835
bb3a3b50
KH
48362001-01-18 Kenichi Handa <handa@etl.go.jp>
4837
4838 * xdisp.c (display_string): Fix previous change.
4839
c2cc16fa
JR
48402001-01-18 Jason Rumney <jasonr@gnu.org>
4841
4842 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4843 GLYPH_DEBUG is defined.
4844 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4845 true for images with `:ascent 100'.
4846 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4847 meantime, use face MOUSE_FACE_ID.
4848 If first glyph isn't a character glyph, use the ASCII NUL
4849 character to determine the face.
4850 (expose_area): Do not treat left margin specially.
4851 (note_mode_line_highlight): If no local_map, check global keymap.
4852 (note_mouse_highlight): Initialize overlay.
52283633 4853 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4854 (show_scroll_bars): Remove unused function.
4855 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4856 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4857 Clip to row.
52283633 4858 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4859 (x_free_frame_resources): Unload relief colors.
4860
9c11f79e
GM
48612001-01-17 Gerd Moellmann <gerd@gnu.org>
4862
3aec8722 4863 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4864 get_next_display_element when the newline is already found.
4865 This may change the iterator's position, when its current position is
3aec8722
GM
4866 equal to the iterator's stop_charpos.
4867
f3ffc2c3
GM
4868 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4869 zero, use this method only at the end of a line.
4870
52283633 4871 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4872 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4873 if SCALABLE_FONTS_P is set.
52283633 4874
d26d6fd9
GM
4875 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4876 so that scalable fonts are included.
4877
9c11f79e
GM
4878 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4879 In the cache, use a key containing the information if scalable
4880 fonts are included.
4881 (x_load_font): Adapt to change of keys in the font cache.
4882
48832001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4884
d26d6fd9
GM
4885 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4886 XListFonts to take advantage of font caching.
4887
9c11f79e
GM
4888 * xterm.c (x_list_fonts): Ensure caching font information when
4889 called for a null frame, which is the case frequently when Emacs
4890 starts.
4891
51446987
GM
48922001-01-17 Gerd Moellmann <gerd@gnu.org>
4893
f864120f
GM
4894 * xfns.c (QCconversion): Replaces QCalgorithm.
4895
4896 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4897
4898 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4899 of :algorithm.
52283633 4900
e37d1417
GM
4901 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4902 not everything could be displayed.
4903
51446987
GM
4904 * line.h, x-list-font.c: Files removed because unused.
4905
9ad4f3e5
AI
49062001-01-17 Andrew Innes <andrewi@gnu.org>
4907
4908 * dired.c (directory_files_internal): Convert result from readdir
4909 to a unibyte string initially, to avoid possible misinterpretation
4910 of some bytes as the internal form of Emacs characters.
4911
2eda09b5
KH
49122001-01-17 Kenichi Handa <handa@etl.go.jp>
4913
4914 * fns.c (concat): Be sure to avoid putting the same `composition'
4915 property on the adjacent regions.
4916
826f3788
GM
49172001-01-16 Gerd Moellmann <gerd@gnu.org>
4918
52283633 4919 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4920 (Fscroll_right, Fscroll_left): Set it here instead, if called
4921 interactively.
4922
d57b83b3
GM
4923 * buffer.c (Fset_buffer_modified_p): Set buffer's
4924 prevent_redisplay_optimizations_p flag.
4925
826f3788 4926 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4927 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4928 with additional arg.
4929
4930 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4931 Change prototype.
826f3788 4932
826f3788
GM
4933 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4934 FROM_WHERE, for debugging.
4935
261d788b
KH
49362001-01-16 Kenichi Handa <handa@etl.go.jp>
4937
4938 * ccl.c (Fregister_ccl_program): Handle the return value of
4939 resolve_symbol_ccl_program correctly.
52283633 4940 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4941
bccee4f2
GM
49422001-01-15 Gerd Moellmann <gerd@gnu.org>
4943
e4ded23c
GM
4944 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4945 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4946
4947 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4948 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4949 the display; we didn't open it.
4950
bccee4f2
GM
4951 * dispnew.c (save_or_restore_current_matrices): Function removed.
4952 (save_current_matrix, restore_current_matrix): New functions.
4953 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4954 restore the frame's current matrix. Due to the glyph pointer
4955 setup done in adjust_glyph_matrix, there is no easy way to make
4956 saving the current matrix in the desired matrix generally correct,
4957 so don't try it.
4958
ebeccffa
KH
49592001-01-15 Kenichi Handa <handa@etl.go.jp>
4960
4961 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4962 truncation glyphs.
4963 (display_line): Optimize for wide characters.
e4ded23c 4964 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4965 partially. On ttys, produce more than one truncation glyph for
4966 multi-column characters that don't fit on the line.
4967
64388126
KH
49682001-01-13 Kenichi Handa <handa@etl.go.jp>
4969
52283633
SM
4970 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4971 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4972
8edb0a6f
JR
49732001-01-13 Jason Rumney <jasonr@gnu.org>
4974
4975 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4976 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4977 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4978 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4979
52283633
SM
4980 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4981 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4982 (x_draw_image_glyph_string): Adapt to change of image margins.
4983
4984 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4985 variables.
4986
4987 * w32bdf.c (search_file_line, get_cached_font_char)
4988 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4989
4990 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4991
4992 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4993 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4994 (Fw32_send_sys_command): Remove unused variables.
4995 (w32_msg_pump): Add parentheses.
4996
4997 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4998 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4999 Add parentheses.
5000
4956d1ef
GM
50012001-01-12 Gerd Moellmann <gerd@gnu.org>
5002
b30623be
GM
5003 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5004 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5005 being a pair of margins.
5006 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5007 to DEFVAR_LISP. Extend doc.
5008
5009 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5010 margins.
5011 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5012 pair of integers `(X . Y)', use X for the horizontal and Y for the
5013 vertical margin.
5014 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5015 (parse_image_spec): Check it.
52283633
SM
5016 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5017 (tiff_format, gif_format, gs_format):
5018 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5019
52283633
SM
5020 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5021 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5022 (x_draw_image_glyph_string): Adapt to the change of image margins.
5023
5024 * dispextern.h (struct image): Replace member `margin' with
5025 `hmargin' and `vmargin'.
5026
4554cc79
GM
5027 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5028 and GLYPHS.
5029
5030 * dispnew.c (update_text_area): Put code which decrements the
5031 stop position when the row's face extends to the end of the
3bffc665 5032 line in #if 0.
4554cc79 5033
3cccce8d
GM
5034 * xfns.c (x_set_mouse_color): Fix color allocation.
5035
4956d1ef
GM
5036 * keyboard.c: Call get_local_map with new argument list.
5037
5038 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5039
5040 * intervals.h (enum map_property): Removed.
5041 (get_local_map): Change prototype.
5042
5043 * keymap.c: Call get_local_map with new argument list.
5044 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5045
2c2ff7f2
GM
50462001-01-11 Gerd Moellmann <gerd@gnu.org>
5047
a23887b9
GM
5048 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5049 of the size needed for the tool bar string. For the last image,
5050 use a `display' property that reaches to the end of the string.
5051
a7ee2d2e
GM
5052 * xselect.c (selection_request_dpyinfo): New variable.
5053 (x_handle_selection_request): Set it.
5054 (x_selection_request_lisp_error): Don't call
5055 x_decline_selection_request if selection request's display has
5056 been closed.
5057
52283633
SM
5058 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5059 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5060
457b792c
GM
50612001-01-10 Dave Love <fx@gnu.org>
5062
5063 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5064 ${SOME_MACHINE_LISP}, not ${lisp}.
5065
c1efd260
GM
50662001-01-10 Gerd Moellmann <gerd@gnu.org>
5067
52283633
SM
5068 * xdisp.c (display_line): On ttys, produce more than one truncation
5069 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5070
ac95a621
GM
5071 * xselect.c (x_reply_selection_request): Add a comment.
5072
c1efd260
GM
5073 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5074 XkbGetNames instead of XkbGetKeyboard.
5075
1bfb1345
DL
50762001-01-10 Dave Love <fx@gnu.org>
5077
5078 * sysdep.c (random): Revert the declaration.
5079
38119822
GM
50802001-01-09 Gerd Moellmann <gerd@gnu.org>
5081
52283633
SM
5082 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5083 Call function string_bytes.
35f464a7
GM
5084 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5085
5086 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5087 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5088 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5089 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5090 the current sblock.
5091 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5092 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5093 after sweeping strings, and at the end.
5094 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5095
38119822
GM
5096 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5097 ensure that pop_message is called.
5098
5099 * keyboard.c (Fexecute_extended_command): Use a
5100 record_unwind_protect to ensure that pop_message is called.
5101
5102 * lisp.h (push_message_unwind): Add prototype.
5103
5104 * xdisp.c (push_message_unwind): New function.
5105
5106 * fileio.c (do_auto_save_unwind): Do the pop_message here
5107 instead of in Fdo_auto_save.
5108 (Fdo_auto_save): Don't call pop_message.
5109
f47a9ec4
KR
51102001-01-08 Ken Raeburn <raeburn@gnu.org>
5111
5112 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5113 in inner block.
5114
a758f97d
GM
51152001-01-08 Gerd Moellmann <gerd@gnu.org>
5116
6d0afc03
GM
5117 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5118 when increasing window's vscroll.
5119
a758f97d
GM
5120 * macros.c (Qkbd_macro_termination_hook): New variable.
5121 (syms_of_macros): Initialize and staticpro it.
5122 (pop_kbd_macro): Run kbd-macro-termination-hook.
5123
5124 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5125
1bfb1345 51262001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5127
5128 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5129 arglist, for documentation's sake.
5130
0dac6924
AI
51312001-01-06 Andrew Innes <andrewi@gnu.org>
5132
5133 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5134 of *.pdb.
5135
8182406a
AI
51362001-01-05 Andrew Innes <andrewi@gnu.org>
5137
5138 * term.c (update_end): Don't check updating_frame; for some reason
5139 this can be 0 sometimes, such as after dismissing a popup menu,
5140 and isn't necessary given the explicit frame argument.
5141
3828218c
GM
51422001-01-05 Gerd Moellmann <gerd@gnu.org>
5143
5144 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5145 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5146
2f5ded21
GM
51472001-01-04 Gerd Moellmann <gerd@gnu.org>
5148
52283633 5149 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5150
5151 * xfns.c (x_create_tip_frame): Preserve the value of
5152 face_change_count around the creation of the tip frame.
52283633 5153
2f5ded21
GM
5154 * xfns.c (last_show_tip_args): New variable.
5155 (compute_tip_xy): New function.
5156 (Fx_show_tip): Reuse an existing tip frame, if possible.
5157 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5158
dfad65fa
DL
51592001-01-04 Dave Love <fx@gnu.org>
5160
64d4ec0f
DL
5161 * editfns.c (Fformat): Doc fix.
5162
dfad65fa
DL
5163 * systime.h (set_file_times): Prototype.
5164
5165 * widget.h (EmacsFrameSetCharSize_): Prototype.
5166
5167 * sysdep.c (random, srandom): Declare explicitly.
5168
5169 * dispextern.h (move_it_vertically_backward): Declare.
5170
85fe3b5e
GM
51712001-01-04 Gerd Moellmann <gerd@gnu.org>
5172
0f2ac578
GM
5173 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5174 like in Fx_create_frame.
5175
482cca61
GM
5176 * xfaces.c (set_font_frame_param): Don't do anything for
5177 non-graphical frames.
5178
85fe3b5e
GM
5179 * window.c (Fdelete_other_windows): Set window's window_end_valid
5180 to nil when changing the window's start. Don't change the
5181 window's start when its top position hasn't changed. If we do,
5182 this will set the window's optional_new_start, which act's like a
5183 force_start during redisplay with C-x 1 M-> under particular
5184 circumstances (see report from Per Starback to emacs-pretest-bug
5185 from 2000-12-13.).
5186
3e99d3b4
GM
51872001-01-03 Gerd Moellmann <gerd@gnu.org>
5188
a77dc1ec
GM
5189 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5190 short cut at the start of the function. Add an assertion.
5191 (reseat_at_next_visible_line_start): Add an assertion.
5192
2f3cad6c
GM
5193 * window.c (Frecenter): When changing the window start, set the
5194 window's window_end_valid to nil.
5195 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5196
5197 * dispextern.h (move_it_past_eol): Add prototype.
5198
5199 * xdisp.c (move_it_past_eol): New function.
5200
3e99d3b4
GM
5201 * window.c (Fwindow_end): Doc fix.
5202
52032001-01-03 Dave Love <fx@gnu.org>
5204
52283633 5205 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5206
bafb434c
GM
52072001-01-03 Gerd Moellmann <gerd@gnu.org>
5208
5209 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5210 the enabled_p flag of the glyph row at window_end_vpos to 0.
5211 (handle_single_display_prop): Fix last change.
5212
5297fb00
RS
52132001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5214
5215 * window.c (Frecenter): Doc fix.
5216
13d6a61c
AI
52172001-01-02 Andrew Innes <andrewi@gnu.org>
5218
5219 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5220
5221 * frame.h (output_method): Add output_w32_console method.
5222 (FRAME_W32_CONSOLE_P): New macro.
5223
5224 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5225 use output_w32_console method.
5226 (Qw32_console): New Lisp_Object.
5227 (Fframep): Return it.
5228 (syms_of_frame): Init it.
52283633 5229 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5230
5231 * xfaces.c (realize_default_face): Set face foreground and
5232 background to unspecified for w32_console frames.
5233 (realize_face): Realize face cache for w32_console frames.
5234 (realize_tty_face): Accept w32_console frames.
5235
52283633 5236 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5237 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5238 necessary, even if running interactively.
5239
5240 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5241 w32_console frames.
5242
52283633
SM
5243 * w32term.c (x_update_begin):
5244 (x_update_end):
5245 (x_clear_frame):
5246 (x_ins_del_lines):
5247 (x_change_line_highlight):
5248 (x_delete_glyphs):
5249 (w32_ring_bell):
5250 (x_update_begin):
5251 (x_update_end):
5252 (w32_reassert_line_highlight):
5253 (w32_frame_rehighlight):
13d6a61c
AI
5254 (w32_frame_raise_lower): Do nothing if not w32 frame.
5255
5256 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5257
5258 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5259 system doesn't tell us directly.
5260 (Fx_display_visual_class): Implement properly.
5261
d6bb0c0d
GM
52622001-01-02 Gerd Moellmann <gerd@gnu.org>
5263
5264 * window.c (Frecenter): Handle centering in graphical frames
5265 specially. Centering on the basis of line counts doesn't work
5266 reliably with variable-height lines.
52283633 5267
315f5865
EZ
52682001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5269
5270 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5271 and al[].
5272
52283633 5273 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5274 (update_compositions): Remove unused variable `hook'.
5275
5276 * intervals.c (get_local_map): Remove unused variable `tem'.
5277
5278 * doprnt.c (doprnt1): Remove unused variable `size'.
5279
5280 * fns.c (Flength): Remove unused variable `tail'.
5281 (Fdelete): Remove unused variable `size'.
5282
5283 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5284 and `gcpro2'.
5285
52283633 5286 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5287
5288 * data.c (find_symbol_value): Remove extra 3rd argument in the
5289 call to swap_in_symval_forwarding.
5290
52283633 5291 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5292
5293 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5294 (trivial_regexp_p): Remove unused variable `c'.
5295 (boyer_moore): Remove unused variable `k'.
5296
5297 * indent.c (current_column): Remove unused variable `stopchar'.
5298 (Fcompute_motion): Remove unused variable `contin'.
5299
5300 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5301
5302 * dired.c (directory_files_internal): Fix a typo in a comment.
5303 Remove an unused variable `handler'.
52283633 5304 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5305 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5306 on BSD4_2.
5307
52283633 5308 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5309
5310 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5311 and `buf'.
5312 (Fmarker_insertion_type): Remove unused variable `buf'.
5313
5314 * insdel.c (make_gap): Remove unused variable `result'.
5315
52283633 5316 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5317 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5318 (menu_bar_items): Remove unused function-scope variable `tem'.
5319
5320 * fontset.c (fontset_ref): Remove unused variable `i'.
5321 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5322 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5323 (make_fontset_for_ascii_face): Remove unused variable `name'.
5324 (fs_load_font): Remove unused variable `font_idx'.
52283633 5325 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5326 (list_fontsets): Remove unused variable `tail'.
5327 (Fnew_fontset): Remove unused variables `family' and `registry'.
5328 (accumulate_font_info): Remove unused variable `tmp'.
5329 (Ffontset_font): Remove unused variable `id'.
5330 (syms_of_fontset): Remove unused variable `i'.
5331
5332 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5333 to x_term_init.
5334 (lookup_image): Remove unused variable `file'.
5335 (xbm_load): Remove unused variables `bitmap_data', `height', and
5336 `width'. Remove function-local variable `i', leave the
5337 block-local one.
5338 (gif_load): Remove unused variable `inc'.
5339
52283633 5340 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5341 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5342 leave only the one in the inner block.
5343
5344 * xfaces.c (face_fontset, realize_default_face): Remove unused
5345 variable `fontset'.
5346 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5347
5348 * term.c (encode_terminal_code): Remove unused variable `c'.
5349
5350 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5351 char *' instead of `char *'.
5352
5353 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5354 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5355 (Fchar_category_set): Remove unused variables `val', `charset',
5356 `c1' and `c2'.
5357
52283633
SM
5358 * coding.c (detect_coding_iso2022, setup_coding_system):
5359 Remove unused variable `i'.
315f5865
EZ
5360 (detect_coding_mask): Remove unused variable `idx'.
5361 (detect_coding): Remove unused variable `i'.
5362 (ccl_coding_driver): Remove unused variable `result'.
5363 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5364 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5365 (encode_coding_string): Remove unused variables `gcpro1' and
5366 `saved_coding_symbol'.
5367 (Ffind_coding_systems_region_internal): Remove function-local
5368 variable args[], leave only the block-local one.
5369 (code_convert_region1): Remove unused variable `len'.
5370
5371 * charset.c (char_printable_p): Remove unused variable `chars'.
5372 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5373 (str_to_multibyte): Remove unused variable `c'.
5374
5375 * window.c (size_window): Remove block-local variable `min_size'.
5376
5377 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5378 `header_line_height'.
5379 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5380 enum display_element_type.
5381
1a8a9daf
GM
53822001-01-02 Gerd Moellmann <gerd@gnu.org>
5383
6dde6abc 5384 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5385 statements that call X. Save away the error message in a local copy.
5386
1883b2c6
GM
5387 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5388 the start.
5389
a13be207
GM
5390 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5391 in or at the start of invisible text.
5392
1a8a9daf
GM
5393 * dispnew.c (update_window): Don't check_current_matrix_flags.
5394
3608c0f9
JR
53952001-01-01 Jason Rumney <jasonr@gnu.org>
5396
5397 * w32fns.c (x_figure_window_size): Do not allow new_height and
5398 new_width of frame to override specified values.
5399
abb1acc4
KH
54002000-12-30 Kenichi Handa <handa@etl.go.jp>
5401
52283633 5402 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5403
762a68ec
GM
54042000-12-29 Gerd Moellmann <gerd@gnu.org>
5405
52283633 5406 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5407 (update_window) [GLYPH_DEBUG]: Call it.
5408 (scrolling_window): Prevent including current rows which are below
5409 what's displayed in the window.
5410
5411 * xdisp.c (try_window_reusing_current_matrix)
5412 <new start <= old start>: Disable rows in the current matrix
5413 which are below the window after scrolling.
52283633 5414
762a68ec
GM
5415 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5416 is zero. It's not worth the complexity.
5417 (invisible_text_between_p): Put in #if 0 because unused.
5418
2d5912c1
GM
54192000-12-28 Gerd Moellmann <gerd@gnu.org>
5420
46f6a258
GM
5421 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5422 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5423
89f93679
GM
5424 * keyboard.c (echo_char): If C is an integer, always call
5425 push_key_description. Former code could signal an invalid
5426 character error.
5427
5428 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5429 If set, print multibyte text.
5430 (Fsingle_key_description): Call push_key_description with
5431 FORCE_MULTIBYTE set.
5432 (describe_buffer_bindings): Likewise.
5433
5434 * lisp.h (push_key_description): Add prototype.
5435
c06017fb
GM
5436 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5437 around the call to redisplay_internal.
5438
f1d2ce7f
GM
5439 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5440
2d5912c1
GM
5441 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5442
9371f831
KH
54432000-12-28 Kenichi Handa <handa@etl.go.jp>
5444
5445 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5446 (ccl_driver): New local variable `extra_bytes'.
5447
5448 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5449
52283633
SM
5450 * coding.c (setup_coding_system):
5451 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5452 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5453
0c80628a
KH
54542000-12-28 Kenichi Handa <handa@etl.go.jp>
5455
5456 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5457 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5458 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5459 (decode_composition_emacs_mule): New function.
5460 (decode_coding_emacs_mule): Decode composition sequence by calling
5461 decode_composition_emacs_mule.
5462 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5463 (encode_coding_emacs_mule): Changed from macro to function.
5464 If a text contains compositions, encode them correctly.
0c80628a
KH
5465 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5466 that decoding and encoding are required.
5467
3e32cc27
GM
54682000-12-27 Gerd Moellmann <gerd@gnu.org>
5469
5e25feee
GM
5470 * xfaces.c (PT_PER_INCH): New macro.
5471 (xlfd_point_size): Compute real point size from font's pixel size.
5472 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5473 instead of 72.
5474
892d8fcd
GM
5475 * .gdbinit: Comment out the line pointing to the Lesstif source
5476 directory.
5477
12c8b416
GM
5478 * window.c (Frecenter): Use displayed_window_lines instead
5479 of window_internal_height.
5480
6061fbf0
GM
5481 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5482 instead of x-toolkit-scroll-bars-p.
5483 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5484
5485 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5486 instead of x-toolkit-scroll-bars-p.
5487 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5488
3e32cc27
GM
5489 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5490 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5491 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5492 New variables.
5493 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5494 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5495 (build_frame_matrix_from_leaf_window): Remove unused code.
5496 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5497 redisplay history.
5498 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5499 (update_window) [GLYPH_DEBUG]: Likewise.
5500 (syms_of_display): Defsubr dump-redisplay-history.
5501
31798cfe
GM
55022000-12-23 Gerd Moellmann <gerd@gnu.org>
5503
f717c2ba
GM
5504 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5505 the end of the prompt. Set echo_after_prompt to the offset
5506 of echoptr in echobuf.
5507
aeb2b8fc
GM
5508 * xdisp.c (init_from_display_pos): Pop until the iterator's
5509 stack is empty; there may be frames for stretch or images
5510 on the stack.
5511
31798cfe
GM
5512 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5513 (save_or_restore_current_matrix): New function for the same
5514 purpose, but more efficient.
5515 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5516
f8156156
EZ
55172000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5518
5519 * xdisp.c (syms_of_xdisp): Fix last change.
5520
bdd6d4e8
GM
55212000-12-23 Gerd Moellmann <gerd@gnu.org>
5522
5523 * xdisp.c (syms_of_xdisp): Doc fix.
5524
5525 * xdisp.c (redisplay_window): Remove label restore_buffers;
5526 use finish_scroll_bars instead to make sure that scroll bars
5527 are redeemed. If we don't do this, flickering can result from
5528 scroll bars being destroyed and recreated.
5529
9436cdf9
JR
55302000-12-22 Jason Rumney <jasonr@gnu.org>
5531
5532 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5533 in the wrong colors when the foreground is not black.
5534 (expose_window): Don't redraw the window that's currently being
5535 updated.
5536
951f9df5
GM
55372000-12-22 Gerd Moellmann <gerd@gnu.org>
5538
856ff7a7
GM
5539 * window.c (size_window): When setting the window's too_small_ok
5540 flag, compare old size with minimum size depending on WIDTH_P,
5541 don't compare with window_min_width.
52283633 5542
951f9df5
GM
5543 * window.c (delete_window): Simplify somewhat.
5544 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5545 freeing window matrices. The flag windows_or_buffers_changed is
5546 set, so the next redisplay will consider all windows; this should
5547 suffice.
5548
886bc933
KH
55492000-12-22 Kenichi Handa <handa@etl.go.jp>
5550
5551 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5552
5553 * ccl.h (struct ccl_program): New member cr_consumed.
5554
5555 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5556 (CCL_READ_CHAR): Handle EOL conversion here.
5557 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5558
177f4e88
GM
55592000-12-21 Gerd Moellmann <gerd@gnu.org>
5560
52283633 5561 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5562
5563 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5564 otherwise tabs of different size compare equal.
5565
5566 * callint.c (Fcall_interactively): Prevent a compiler warning.
5567
5568 * print.c (print_unwind): Return nil.
5569 (PRINTDECLARE): Initialize all local variables.
5570 (print_preprocess): Add a default case.
5571
8e15274f
GM
5572 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5573
5574 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5575
52283633 5576 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5577 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5578
5579 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5580
5581 * dispnew.c (ensure_frame_matrix): Removed.
5582 (save_frame_matrix, restore_frame_matrix): New functions.
5583 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5584
5585 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5586 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5587
99012074
AI
55882000-12-21 Andrew Innes <andrewi@gnu.org>
5589
5590 * w32term.c (x_update_begin): Regenerate the palette here, rather
5591 than for each window.
5592
5593 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5594 palette is NULL, since this corrupts memory! Also get
5595 display_info reference from frame.
5596
29ef7d2d
JR
55972000-12-21 Jason Rumney <jasonr@gnu.org>
5598
5599 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5600
5601 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5602 to avoid returning without releasing it.
3e27fa1f 5603
3f9d67a6
KH
56042000-12-21 Kenichi Handa <handa@etl.go.jp>
5605
587fc3f9
KH
5606 * keymap.c (push_key_description): Don't convert eight-bit-control
5607 and eight-bit-graphic to multibyte character.
5608
3f9d67a6
KH
5609 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5610 generic character and CODE1 is nil, return the smallest character
5611 in CHARSET.
5612
774ba8c9
DL
56132000-12-20 Dave Love <fx@gnu.org>
5614
5615 * s/osf5-0.h (NSIG): Don't redefine.
5616
88416888
SM
56172000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5618
5619 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5620 excluding menu-bar and tool-bar.
5621 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5622 (menu_item_p): Remove.
5623 (where_is_internal_1): Don't ignore menu-items.
5624
a6426c6f
GM
56252000-12-20 Gerd Moellmann <gerd@gnu.org>
5626
03ff8aab
GM
5627 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5628 into account.
5629
5630 * window.c (make_window): Initialize window's min_hscroll.
5631 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5632 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5633 to zero.
5634 (struct saved_window): New member min_hscroll.
5635 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5636 (Fset_window_configuration): Set window's min_hscroll.
5637 (save_window_save): Save window's min_hscroll.
5638 (compare_window_configurations): Compare min_hscroll values.
5639
5640 * window.h (struct window): New member min_hscroll.
5641
5642 * keyboard.c (echo_prompt): Prevent a compiler warning.
5643
8de4aaf8
GM
5644 * xdisp.c (try_cursor_movement): Fix last change. The real
5645 condition is that PT is at the end of the row, and should
5646 be displayed at the start of the next row.
52283633 5647
3f7e3031
GM
5648 * xdisp.c (try_cursor_movement): If we end on a partially
5649 visible line, end we already decided to scroll, return -1.
5650
a6426c6f
GM
5651 * dispextern.h (ensure_frame_matrix): Add prototype.
5652
5653 * window.c (delete_window, Fsplit_window)
5654 (Fset_window_configuration): Call ensure_frame_matrix.
5655
52283633
SM
5656 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5657 New functions.
a6426c6f
GM
5658 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5659 completed, call fake_current_matrices instead of marking frame
5660 garbaged.
5661
57fa2774
JR
56622000-12-20 Jason Rumney <jasonr@gnu.org>
5663
5664 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5665
d925df90
EZ
56662000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5667
5668 * fns.c (Frequire): Doc fix.
5669
7b93a85b
GM
56702000-12-19 Gerd Moellmann <gerd@gnu.org>
5671
52283633 5672 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5673
c74e645b
GM
5674 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5675 currently displaying a message.
5676
7b93a85b
GM
5677 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5678 xterm.h.
5679 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5680
90d97e64
AI
56812000-12-18 Andrew Innes <andrewi@gnu.org>
5682
5683 * w32.c (w32_strerror): New function.
5684
5685 * w32.h (w32_strerror): New extern.
5686
5687 * w32fns.c (Fw32_shell_execute): Use it.
5688
91c9e6ce
GM
56892000-12-18 Gerd Moellmann <gerd@gnu.org>
5690
5691 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5692
6f4745e2
EZ
56932000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5694
5695 * msdos.c (IT_set_face): Obey inverse_video.
5696
c9e088ce
KH
56972000-12-18 Kenichi Handa <handa@etl.go.jp>
5698
5699 * dired.c (directory_files_internal): Always return decoded filenames.
5700
c3695f5f
GM
57012000-12-18 Gerd Moellmann <gerd@gnu.org>
5702
52d8e4ff
GM
5703 * xterm.c (x_connection_closed): Prevent being called recursively
5704 because of an error condition in XtCloseDisplay.
52283633 5705
62be9979
GM
5706 * xdisp.c (init_iterator): If noninteractive, and the frame's
5707 face cache is null, make one.
5708
52283633 5709 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5710
c3695f5f
GM
5711 * process.c (wait_reading_process_input): Check for pending
5712 input when running timers.
5713
78555fbe
EZ
57142000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5715
52283633 5716 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5717
b2b36264
KH
57182000-12-18 Kenichi Handa <handa@etl.go.jp>
5719
5720 * process.c (read_process_output): Don't run a filter if the code
5721 decoder produces nothing but carryover.
5722
9c543fbf
AI
57232000-12-17 Andrew Innes <andrewi@gnu.org>
5724
5725 * w32.c (sys_rename): Only check errno against EEXIST, and not
5726 EACCES, when determining whether rename failed because the target
5727 exists. This was resulting in indefinite looping on Windows 9x if
5728 the source file was locked by another process.
5729
5730 * w32fns.c (Ffile_system_info): New function.
5731 (syms_of_w32fns): Defsubr it.
5732
10c2b5a8
GM
57332000-12-17 Gerd Moellmann <gerd@gnu.org>
5734
b0228ace
GM
5735 * window.c (coordinates_in_window): Fix computation for
5736 position on vertical line between mode lines.
5737
10c2b5a8
GM
5738 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5739 Don't alter tip_frame or tip_window.
5740 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5741 was deleted.
5742
c844a81a
GM
5743 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5744 Don't alter tip_frame or tip_window.
5745 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5746 was deleted.
5747
6c825f8e
EZ
57482000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5749
5750 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5751 be consistent with the doc string. Reported by NAKAJIMA Mikio
5752 <minakaji@osaka.email.ne.jp>.
5753
af4bb4c8
KH
57542000-12-16 Kenichi Handa <handa@etl.go.jp>
5755
5756 * xfaces.c (Vface_ignored_fonts): New variable.
5757 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5758 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5759
8062e53a
GM
57602000-12-15 Gerd Moellmann <gerd@gnu.org>
5761
e87b8809
GM
5762 * dispnew.c (update_window): Detect pending input every nth line
5763 updated, i.e. do it depending on real work done, and not on the
5764 vpos of the line.
5765
5766 * xterm.c (expose_window): Don't redraw the window that's
5767 currently being updated.
5768
a6768cc5
GM
5769 * window.c (Fset_window_point): Remove test for
5770 cursor_in_non_selected_windows.
5771
4ea7fdca
GM
5772 * lread.c (read1): Recognize end of file after `\\'.
5773
8062e53a
GM
5774 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5775 not unwind_create_frame.
5776
bb7959c1
GM
57772000-12-15 Dave Love <fx@gnu.org>
5778
5779 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5780 bcopy & al.
5781
5782 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5783
ced04c42
KH
57842000-12-15 Kenichi Handa <handa@etl.go.jp>
5785
c5443913
KH
5786 * coding.c (setup_coding_system): Clear all members of the struct
5787 coding_system at first.
bc137305
KH
5788 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5789 argument.
5790 (code_convert_region): Don't override coding->src_multibyte and
5791 coding->dst_multibyte.
c5443913 5792
ced04c42
KH
5793 * fns.c (Fmd5): Docstring improved.
5794
c2d7f289
MB
57952000-12-15 Miles Bader <miles@gnu.org>
5796
5797 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5798 are actually marked as mode-lines; otherwise use
5799 estimate_mode_line_height.
5800
9d7d9263
GM
58012000-12-14 Gerd Moellmann <gerd@gnu.org>
5802
5803 * editfns.c (Fformat): Prevent a buffer overrun when the format
5804 specifies a precision.
5805
7cf0153a
EZ
58062000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5807
5808 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5809 argument is outside the range [2..3].
5810
1de0f662
AI
58112000-12-14 Andrew Innes <andrewi@gnu.org>
5812
5813 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5814 nothing to do. Bind inhibit-quit.
5815 (tip_frame): Make it a Lisp_Object.
5816 (x_create_tip_frame): Set tip_frame after it has been added to
5817 Vframe_list.
5818 (Fx_show_tip): Don't set tip_frame here.
52283633 5819 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5820 (unwind_create_frame, unwind_create_tip_frame): New functions.
5821 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5822 while a frame is only partially constructed.
5823
5824 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5825 (x_free_frame_resources): New function.
5826 (x_destroy_window): Use it.
5827
02387dcc
GM
58282000-12-14 Gerd Moellmann <gerd@gnu.org>
5829
5830 * xfns.c (Fx_backspace_delete_keys_p): New function.
5831 (syms_of_xfns): Defsubr it.
5832
5833 * config.in (HAVE_XKBGETKEYBOARD): Add.
5834
0544ef49
KH
58352000-12-14 Kenichi Handa <handa@etl.go.jp>
5836
98d62747
KH
5837 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5838 Always store string in multibyte representation in echobuf.
5839 (echo_char): Always store string in multibyte representation in
5840 echobuf.
5841 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5842 (read_key_sequence): Adjusted for the change of echo_prompt.
5843
a20193cd
KH
5844 * fns.c (Fmd5): Docstring improved.
5845
191b83b6
KH
5846 * lisp.h (detect_coding_system): Prototype adjusted.
5847
0544ef49
KH
5848 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5849 (detect_coding_emacs_mule, detect_coding_iso2022,)
5850 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5851 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5852 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5853 (detect_coding_mask, detect_coding_system): New argument
5854 MULTIBYTEP. Callers changed.
1da1bb05
KH
5855 (decode_coding_string): Set coding->src_multibyte and
5856 coding->dst_multibyte before calling detect_coding and detect_eol.
5857 Update them after some coding system is detected.
52283633 5858
d5b3eb1b
SM
58592000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5860
5861 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5862
5863 * keyboard.c (menu_bar_items, tool_bar_items):
5864 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5865
f7f8bb69
GM
58662000-12-13 Gerd Moellmann <gerd@gnu.org>
5867
52283633 5868 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5869 New variables.
5870 (unwind_create_frame, unwind_create_tip_frame): New functions.
5871 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5872 while a frame is only partially constructed.
5873
5874 * xterm.h (x_free_frame_resources): Declare.
5875
5876 * xterm.c (x_free_frame_resources): New function.
5877 (x_destroy_window): Use it.
5878
e10da507
GM
5879 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5880 don't interrupt the update for pending input initially, i.e.
5881 update at least some lines.
5882
5883 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5884
d5b3eb1b 5885 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5886
5887 * xfns.c (gray_bitmap_bits): Declare `char *'.
5888
90aa2856
GM
58892000-12-12 Gerd Moellmann <gerd@gnu.org>
5890
5891 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5892 lines start with a relief line.
5893
a308c9cd
DL
58942000-12-12 Dave Love <fx@gnu.org>
5895
5896 * window.c (Fdisplay_buffer): Doc fix.
5897 (Fwindow_list): Remove unused var.
5898
5899 * buffer.h (mmap_set_vars): Declare.
5900
5901 * window.h (Fset_window_point): Declare.
5902
d575011f
EZ
59032000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5904
bf6282d2 5905 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5906 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5907 variable `area'. When looking for a row under (X,Y), give up if some
5908 of the previous rows is not enabled.
d575011f 5909
ecf4d726
GM
59102000-12-12 Gerd Moellmann <gerd@gnu.org>
5911
2ebf6139
GM
5912 * window.c (Fset_window_point): If displaying cursors in windows
5913 other than the selected window, make sure redisplay updates
5914 other windows to show the new value of point in the window.
5915
5916 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5917
bfdb75ee
GM
5918 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5919 the buffer is the sole visible buffer when in the mini-buffer.
5920
52283633 5921 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5922 Bind `inhibit-read-only' to t.
5923 (unwind_with_echo_area_buffer): Use AREF.
5924
c0006262
GM
5925 * xfns.c (Fx_hide_tip): Simplified.
5926
52283633
SM
5927 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5928 instead of `1'.
e9a59cad 5929
ecf4d726
GM
5930 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5931
e5959a9a
GM
59322000-12-11 Gerd Moellmann <gerd@gnu.org>
5933
a3642e49 5934 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5935
44b5a125
GM
5936 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5937 nothing to do. Bind inhibit-quit.
5938 (tip_frame): Make it a Lisp_Object.
5939 (x_create_tip_frame): Set tip_frame after it has been added to
5940 Vframe_list.
5941 (Fx_show_tip): Don't set tip_frame here.
5942
5943 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5944
5945 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5946 Lisp_Object.
5947
5948 * dispextern.h: Change external declaration of tip_frame.
5949
d990421f
GM
5950 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5951 return an empty string.
5952
4db87380
GM
5953 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5954 of the window's update_mode_line flag, since the former is set by
5955 force-mode-line-update, not the latter. This makes
5956 column-number-mode slightly faster.
52283633 5957
e5959a9a
GM
5958 * xdisp.c (try_window_id) <all changes above window start>:
5959 Set the cursor.
5960
169fe44e
GM
59612000-12-11 Paul Eggert <eggert@twinsun.com>
5962
5963 * config.in (HAVE_FTELLO): Remove.
5964 (HAVE_FSEEKO): Add.
5965 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5966 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5967 HAVE_FTELLO.
5968 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5969 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5970
59ec59ae
MB
59712000-12-11 Miles Bader <miles@gnu.org>
5972
5973 * window.c (displayed_window_lines): Don't round up when
5974 converting empty space at bottom to lines.
ff904dd6
MB
5975 Handle non-newline-terminated final lines properly.
5976 (Fwindow_text_height): New function (used to be in lisp).
5977 (syms_of_window): Initialize it.
59ec59ae 5978
42ebfa31
SM
59792000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5980
5981 * syntax.c (scan_lists): Check that the right quote char has the
5982 right Sstring syntax when jumping over strings.
5983 (init_syntax_once): Use Smax rather than 13.
5984
5cdb3cf3
MB
59852000-12-09 Miles Bader <miles@gnu.org>
5986
5987 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5988 with PARTIALLY, inverting the sense.
5989 (window_scroll_pixel_based): Scroll partially visible lines into
5990 place if we hit the beginning or end of the buffer.
a12167c5
MB
5991 (displayed_window_lines): Don't include partially visible lines.
5992 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5993
842b2a94
GM
59942000-12-08 Gerd Moellmann <gerd@gnu.org>
5995
5996 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5997
5998 * tparam.c (tparam1): Change the way buffers are reallocated to be
5999 portable and less obfuscated.
6000
6001 * termcap.c (tgetent): Change the way buffers are reallocated to
6002 be portable and less obfuscated.
6003
6004 * macros.c (store_kbd_macro_char): Change the way buffers are
6005 reallocated to be portable and less obfuscated.
6006
6007 * lread.c (read1): Change the way buffers are reallocated to be
6008 portable and less obfuscated.
6009
6010 * doc.c (Fsubstitute_command_keys): Change the way buffers
6011 are reallocated so that it is portable.
6012
137cad7c
EZ
60132000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6014
6015 * dosfns.c (Ffile_system_info): New function.
6016 (syms_of_dosfns): Defsubr it.
6017
5c7f629c
SM
60182000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6019
6020 * alloc.c (gc_sweep): Add comment.
6021
959e647d
GM
60222000-12-07 Gerd Moellmann <gerd@gnu.org>
6023
52283633
SM
6024 * sound.c (vox_configure): Change order of ioctls.
6025 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6026 Ignore errors when changing volume.
6027 (vox_close): Don't reset the device.
6028
926b7e5e
GM
6029 * process.c (read_process_output): Make sure the process marker's
6030 position is valid when the process buffer is changed in
6031 after-change functions. W3 does that.
52283633 6032
959e647d
GM
6033 * xfns.c (x_free_gcs): New function.
6034
6035 * xterm.h (x_free_gcs): Add prototype.
6036
6037 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6038 freeing GCs here.
6039
6040 * xterm.c (x_destroy_window): Call x_free_gcs so that
6041 resources of non-toolkit X windows will be freed.
6042
478ea067
AI
60432000-12-07 Andrew Innes <andrewi@gnu.org>
6044
6045 * w32fns.c (xlfd_charset_of_font): Fix last change.
6046
fbee3231
DL
60472000-12-06 Dave Love <fx@gnu.org>
6048
67292061
DL
6049 * md5.h (__P): Don't define -- it comes from config.h.
6050
fbee3231
DL
6051 * strftime.c: Change some #if foo to #ifdef foo.
6052
4ee87dbb
AI
60532000-12-06 Andrew Innes <andrewi@gnu.org>
6054
6055 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6056
52283633 6057 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6058 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6059 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6060
9765b4a4
GM
60612000-12-06 Gerd Moellmann <gerd@gnu.org>
6062
d285b373
GM
6063 * alloc.c (gc_sweep): Prevent symbols read during loadup
6064 from being freed.
6065
384333ee
GM
6066 * xdisp.c (underlying_face_id): New function.
6067 (handle_face_prop, face_before_or_after_it_pos): Use it
6068 to determine the face ``under'' a string. Let strings inherit
6069 the face of the buffer under them.
6070
6071 * xfaces.c (face_at_string_position): Update function comment.
52283633 6072
d4b72d58
GM
6073 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6074 matrix if the window's left position has changed; we need to
6075 redraw it in this case.
6076
6077 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6078
e1d05387
GM
6079 * window.c (coordinates_in_window): Check mouse on mode-line or
6080 header-line first.
6081
eb1b0c74
GM
6082 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6083 advertized by the function documentation.
6084
d94d636f
GM
6085 * window.c (syms_of_window): Doc fix.
6086
3887b449
GM
6087 * sound.c (vox_configure): Set volume for left and right channel.
6088 (sound_cleanup): Return nil.
6089
efc8f57a
GM
6090 * xdisp.c (move_it_by_lines): Fix paren typo.
6091
9765b4a4
GM
6092 * xterm.c (x_load_font): Don't use the font's max_bounds for
6093 computing the height of the font. If max_bounds' ascent or
6094 descent are greater than the font's ascent or descent, this means
6095 glyphs overlap, which should be handled now by redisplay.
6096
6529ed87
GM
6097 * window.c (Veven_window_heights): New variable.
6098 (syms_of_window): DEFVAR_LISP it.
6099 (Fdisplay_buffer): Check Veven_window_heights before evening the
6100 window heights.
52283633 6101
0eb2ecde
MB
61022000-12-06 Miles Bader <miles@gnu.org>
6103
6104 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6105 update `default-frame-alist' instead of setting no frame parameters.
6106
03d7a167
KH
61072000-12-06 Kenichi Handa <handa@etl.go.jp>
6108
6109 * composite.c (update_compositions): Fix typo (use the correct
6110 variable).
6111
5f8803c2
JR
61122000-12-05 Jason Rumney <jasonr@gnu.org>
6113
6114 * md5.h: Remove underscores from function declarations.
6115 (__attribute__, __alignof__) [!__GNUC__]: Define.
6116
6117 * md5.c: Delay include of md5.h until after namespace cleaning.
6118
c28a075b
JR
6119 * makefile.w32-in (fns.o): Depend on md5.h
6120 (md5.o): New target.
6121 (sunfns.o): Remove.
6122
6123 * makefile.nt: Likewise.
6124
ff3c7056
JR
61252000-12-05 Jason Rumney <jasonr@altavista.net>
6126
6127 * w32term.c (expose_area): Complete last change.
6128
0c21eeeb
KR
61292000-12-05 Ken Raeburn <raeburn@gnu.org>
6130
6131 * minibuf.c: Include intervals.h.
6132
f201d732
JR
61332000-12-05 Jason Rumney <jasonr@gnu.org>
6134
6135 * w32term.c (x_produce_glyphs): If a font for a component of
6136 a composition is not found, use 1 pixel dot ascent and 0 dot
6137 descent value to avoid displaying terribly tall empty boxes.
6138 (expose_area): Pass x-coordinate relative to the exposed
6139 area to x_draw_glyphs instead of a window-relative coordinate.
6140
21999ab9
GM
61412000-12-05 Gerd Moellmann <gerd@gnu.org>
6142
4d2036e4
GM
6143 * xdisp.c (next_element_from_ellipsis): Save face before selective
6144 display in saved_face_id, and set face_before_selective_p.
6145 (reseat_1): Reset face_before_selective_p.
6146 (append_space, extend_face_to_end_of_line): If iterator's
6147 face_before_selective_p is set, use the face from saved_face_id.
6148 (extend_face_to_end_of_line): For tty frames, make sure to
6149 use the right face id when producing spaces at the end of
6150 the line.
6151
6152 * dispextern.h (struct it): Add face_before_selective_p.
6153
52be17cc
GM
6154 * keyboard.c (record_char): Don't record identical help-echo
6155 events in recent_keys.
6156
8a4f36cc
GM
6157 * xterm.c [USE_X_TOOLKIT]: Close the display.
6158 (xim_close_dpy): Handle case that the display has been closed.
6159
57d6e381
GM
6160 * xterm.c (x_destroy_window): Reset the frame's X window after
6161 destroying it.
6162
21999ab9
GM
6163 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6164 variable window_width.
6165 (line_draw_cost): Fix code skipping over spaces at the end of the
6166 line when must_write_spaces is not set.
6167 (scrolling_window): Fix code inserting runs in list of all runs.
6168
91372bb7
KH
61692000-12-05 Kenichi Handa <handa@etl.go.jp>
6170
6171 * coding.c (setup_coding_system): Be sure to initialize
6172 coding->category_idx.
6173
6c083b4c
GM
61742000-12-04 Gerd Moellmann <gerd@gnu.org>
6175
0c68ce6f 6176 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6177
6452929e
GM
6178 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6179 area to x_draw_glyphs instead of a window-relative coordinate.
6180
d7f31e22
GM
6181 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6182 error in the message.
6183
ae18aa3b
GM
6184 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6185 timer after having read a key. It's not good for code reading
6186 several keys in a loop, like an input method.
6187
caa15ef7
GM
6188 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6189 record undo information for format-decode.
6190
6191 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6192 current buffer is read-only, not if it isn't.
6193
6c083b4c
GM
6194 * keyboard.c (record_char): Record `help-echo' input events
6195 in recent_keys only if they display some help. Don't record
6196 `help-echo' events as macro char.
6197
caa15ef7
GM
61982000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6199
6200 * editfns.c (save_excursion_restore): Don't move point
6201 in another window if it is showing the wrong buffer.
6202 Avoid the call to Fwindow_live_p, for speed.
6203
5a13529b
KH
62042000-12-04 Kenichi Handa <handa@etl.go.jp>
6205
e225faa7
KH
6206 * xfaces.c (struct font_name): New member registry_priority.
6207 (split_font_name): Initialize the above member to zero.
6208 (concat_font_list): New function.
6209 (font_list): Include fonts of all alternative registries.
6210 (FONT_POINT_SIZE_QUANTUM): New macro.
6211 (better_font_p): Ignore point size difference less than
6212 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6213
e89648b4
KH
6214 * xterm.c (x_produce_glyphs): If a font for a component of
6215 a composition is not found, use 1 pixel dot ascent and 0 dot
6216 descent value to avoid displaying terribly tall empty boxes.
6217
5a13529b
KH
6218 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6219
d7935eb6
KR
62202000-12-03 Ken Raeburn <raeburn@gnu.org>
6221
6222 * coding.h (code_convert_string1): Declare.
6223
6224 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6225
52283633 6226 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6227
0dd5e255
JR
62282000-12-02 Jason Rumney <jasonr@gnu.org>
6229
6230 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6231 correctly for single byte character case.
6232 (w32_per_char_metric): Do not try to make any assumptions about
6233 the metrics of BDF fonts.
250cfece 6234 (x_estimate_mode_line_height): If `mode-line' face
52283633 6235 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6236 (note_mouse_highlight): Change the cursor shape on the vertical
6237 border between windows [not enabled].
6238
6239 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6240
6241 * w32fns.c (Fx_create_frame): Reintroduce the call to
6242 face-set-after-frame-defaults.
6243 (Vx_window_horizontal_drag_shape): New variable.
6244 (syms_of_xfns): DEFVAR_LISP it.
6245 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6246 enabled].
0dd5e255 6247
b5d8d2ca
GM
62482000-12-02 Simon Josefsson <simon@josefsson.org>
6249
6250 * fns.c (Fmd5): Use a different logic to decide the coding system
6251 to use.
6252
6253 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6254
fbb87147
EZ
62552000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6256
52283633 6257 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6258
447e9da0
GM
62592000-12-01 Gerd Moellmann <gerd@gnu.org>
6260
7708ced0
GM
6261 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6262 height for YNegative.
6263 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6264 height; also see comment there.
6265
447e9da0
GM
6266 * window.c (coordinates_in_window): Handle computations for
6267 positions on the vertical bar and fringes differently for
6268 window-system frames. Consider some pixels near the vertical bar
6269 as on the bar if the frame doesn't have vertical scroll bars.
6270 Associate positions between mode or header lines with the
6271 right window, the left one.
6272
86d1db20
JR
62732000-12-01 Jason Rumney <jasonr@gnu.org>
6274
6275 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6276
6277 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6278 invalid frame.
6279
a1d58e5b
GM
62802000-12-01 Gerd Moellmann <gerd@gnu.org>
6281
52283633 6282 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6283 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6284 (save_window_save, Fset_window_configuration): Save/restore
6285 window's orig_top and orig_height.
6286
89c609af
JR
62872000-12-01 Jason Rumney <jasonr@gnu.org>
6288
4d177746 6289 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6290
89c609af
JR
6291 * w32fns.c (x_set_cursor_color): Fix last change.
6292
eccc05db
GM
62932000-11-30 Gerd Moellmann <gerd@gnu.org>
6294
31b6671b
GM
6295 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6296 sure that the next redisplay displays the minibuffer, so that
6297 the cursor will be replaced with what the minibuffer wants.
6298
eccc05db
GM
6299 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6300 #ifndef instead of using #if.
6301 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6302 USE_TOOLKIT_SCROLL_BARS is defined.
6303
162de750
JR
63042000-11-30 Jason Rumney <jasonr@gnu.org>
6305
6306 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6307 x_display_cursor.
6308
693c4692
GM
63092000-11-30 Gerd Moellmann <gerd@gnu.org>
6310
6311 * fns.c (Fmd5): Doc fix.
6312
b5d8d2ca 63132000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6314
6315 * fns.c (Fmd5): New function.
6316 (syms_of_fns): Defsubr md5.
6317
6318 * Makefile.in (obj): Add md5.o
6319
b02cd40b
GM
63202000-11-30 Gerd Moellmann <gerd@gnu.org>
6321
edfb795e
GM
6322 * md5.h, md5.c: New files, taken from glibc.
6323
df3aedcf
GM
6324 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6325
b02cd40b 6326 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6327 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6328
8b5176cd
SM
63292000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6330
6331 * eval.c (Frun_hooks): Allow 0 arguments.
6332
346598f1
GM
63332000-11-29 Gerd Moellmann <gerd@gnu.org>
6334
f9396e03
GM
6335 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6336 is over the menu bar widget, say it's not on the frame.
6337
4a967a9b
GM
6338 * xfns.c (Fx_create_frame): Reintroduce the call to
6339 face-set-after-frame-defaults.
6340
346598f1
GM
6341 * eval.c (Fsignal): Reset handling_signal.
6342
222456a1
JR
63432000-11-28 Jason Rumney <jasonr@gnu.org>
6344
6345 * w32menu.c (add_menu_item): Reset menu item text when changing
6346 type to radio button.
6347
8049ddc0
GM
63482000-11-28 Gerd Moellmann <gerd@gnu.org>
6349
346598f1 6350 * xselect.c: Update copyright.
f4f4ee4d 6351
bebe4a2c
GM
6352 * window.c (coordinates_in_window): If on a mode or header line,
6353 but sufficiently close to its start, return ``on vertical
6354 border''. This gives us a way to drag windows horizontally when
6355 using toolkit scroll bars.
6356
6357 * xterm.c (note_mouse_highlight): Change the cursor shape
6358 on the vertical border between windows.
6359
6360 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6361
6362 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6363 (syms_of_xfns): DEFVAR_LISP it.
6364 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6365
8d2c2642
GM
6366 * textprop.c (text_read_only): New function.
6367 (verify_interval_modification): Use it instead of signaling
6368 `text-read-only'. This makes it easier to catch this error
52283633 6369 with a breakpoint.:
8d2c2642 6370
52283633 6371 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6372 not end of line, which includes CR.
6373
5a2bae6c
KH
63742000-11-28 Kenichi Handa <handa@etl.go.jp>
6375
6376 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6377 include no-conversion.
6378
ae31f84d
JR
63792000-11-27 Jason Rumney <jasonr@gnu.org>
6380
6381 * w32fns.c (w32_load_system_font): Always mark font as double byte
6382 if codepage is unicode.
6383
67f1cf4c
GM
63842000-11-27 Gerd Moellmann <gerd@gnu.org>
6385
4a74d071 6386 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6387 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6388
902ae620
GM
6389 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6390 `vertical-line', `mode-line' and `header-line' events.
6391
6392 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6393 of a character, a TAB for instance. This is easier than to set
6394 up the iterator exactly, and it's not a frequent case, so the
6395 additional effort wouldn't really pay off.
6396
c1e279c2
AC
63972000-11-26 Andrew Choi <akochoi@i-cable.com>
6398
67f1cf4c 6399 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6400 init_window_once.
6401
a609568a
JR
64022000-11-25 Jason Rumney <jasonr@gnu.org>
6403
52283633
SM
6404 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6405 Args to window_from_coordinates should be pixel coordinates.
48b21762 6406
a609568a
JR
6407 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6408 redisplay handles them properly.
6409
a658d039
MB
64102000-11-25 Miles Bader <miles@gnu.org>
6411
6412 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6413
d3416cca
JR
64142000-11-24 Jason Rumney <jasonr@gnu.org>
6415
6416 * w32.c (init_environment): Set LANG environment variable based on
6417 locale settings, if not set.
6418
6419 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6420 making tool bar smaller. When clearing the frame, also
6421 clear current matrices. Clear frame when tool bar disappears.
6422 Don't use more lines for the tool-bar than is available.
6423 (x_change_window_heights): New function.
6424
ba193890
GM
64252000-11-24 Gerd Moellmann <gerd@gnu.org>
6426
2be8f184
GM
6427 * xdisp.c (init_from_display_pos): If POS says we're already after
6428 an overlay string ending at POS, make sure to pop the iterator
6429 because it will be in front of that overlay string. When POS is
6430 ZV, we've thereby also ``processed'' overlay strings at ZV.
6431
ba193890
GM
6432 * xfaces.c (lface_from_face_name): Function comment fix.
6433
1862a24e
MB
64342000-11-24 Miles Bader <miles@gnu.org>
6435
6436 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6437 apply `mode-line-inverse-video' -- zero means force display using
6438 the default face, non-zero means display using the specialized face.
6439 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6440
f07fa1b8
KH
64412000-11-23 Kenichi Handa <handa@etl.go.jp>
6442
6443 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6444 hard coded `4'.
6445
2bcdf662
EZ
64462000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6447
6448 * coding.c (decode_coding_emacs_mule): Fix the case of
6449 CODING_EOL_LF, which used uninitialized value of c.
6450
ba8299ff
SM
64512000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6452
6453 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6454
f4117c4d
GM
64552000-11-22 Gerd Moellmann <gerd@gnu.org>
6456
03e757c1
GM
6457 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6458 buffer object.
6459
f4117c4d
GM
6460 * frame.h (struct frame): Replace desired_tool_bar_items,
6461 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6462 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6463
6464 * frame.c (make_frame): Change initialization of tool bar
6465 items accordingly.
6466
6467 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6468 Change references to members deleted from struct frame to use the
f4117c4d
GM
6469 new ones.
6470
6471 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6472 references to members deleted from struct frame to use the new ones.
f4117c4d 6473
52283633 6474 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6475
6476 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6477
6478 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6479 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6480 from struct frame to use the new ones.
6481
f8e2f3f2
MB
64822000-11-23 Miles Bader <miles@gnu.org>
6483
6484 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6485 the face's inverse-video attribute, rather than overriding it.
6486
60e8e0a5
GM
64872000-11-22 Gerd Moellmann <gerd@gnu.org>
6488
6489 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6490 making tool bar smaller.
6491
92dd1b29
DL
64922000-11-22 Dave Love <fx@gnu.org>
6493
6494 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6495
e672fdce
MB
64962000-11-22 Miles Bader <miles@gnu.org>
6497
3a17d6cc
MB
6498 * keyboard.c (Vminibuffer_message_timeout): New variable.
6499 (command_loop_1): Use it to determine message timeout.
6500 (syms_of_keyboard): Initialize it.
6501
60e8e0a5 6502 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6503
e9655d81
KH
65042000-11-22 Kenichi Handa <handa@etl.go.jp>
6505
6506 * sysdep.c: Move the code for declaring h_errno after #include
6507 <netdb.h>.
6508
77270fac
GM
65092000-11-21 Gerd Moellmann <gerd@gnu.org>
6510
cd913aae
GM
6511 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6512 the menu bar when the tooltip is unmapped.
6513
77270fac
GM
6514 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6515 sole visible buffer when we're currently in the mini-buffer, and
6516 give up if so.
52283633 6517
556635d6
JR
65182000-11-21 Jason Rumney <jasonr@gnu.org>
6519
6520 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6521 put on the clipboard.
6522 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6523 copy of what Emacs last put there. If they are the same, do not
52283633 6524 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6525
5b7bde64
MB
65262000-11-22 Miles Bader <miles@gnu.org>
6527
6528 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6529 (syms_of_minibuf): Initialize it.
6530 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6531 to prompt, don't make read-only.
6532
ff23e1dd
GM
65332000-11-21 Gerd Moellmann <gerd@gnu.org>
6534
52283633
SM
6535 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6536 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6537
7aaf4388
GM
6538 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6539
f5f47add 6540 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6541
ff23e1dd
GM
6542 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6543
37c35586
KH
65442000-11-21 Kenichi Handa <handa@etl.go.jp>
6545
6546 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6547 ... #endif scope.
6548
ff9ab414
GM
65492000-11-20 Gerd Moellmann <gerd@gnu.org>
6550
52283633 6551 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6552 screen supports it.
6553
29a01b72
GM
6554 * s/gnu-linux.h: Don't use `#cpu'.
6555
09dfdf85
GM
6556 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6557 not defined in mman.h.
6558
52283633 6559 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6560 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6561 and store an index in the XClientMessageEvent. Storing a
6562 Lisp_Object or pointer can fail on a 64 bit system, since X only
6563 transfers 32 bits.
52283633
SM
6564 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6565
81459ac9
DL
65662000-11-20 Dave Love <fx@gnu.org>
6567
6568 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6569
56c13ae6
GM
65702000-11-20 Gerd Moellmann <gerd@gnu.org>
6571
6572 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6573
495a6df3
KH
65742000-11-20 Kenichi Handa <handa@etl.go.jp>
6575
2bcf3714
KH
6576 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6577 by WIDTH.
6578
495a6df3
KH
6579 * alloc.c (make_string): Fix previous change. Be sure to make
6580 unibyte string correctly.
6581
6d950f4c
GM
65822000-11-19 Gerd Moellmann <gerd@gnu.org>
6583
39b39373
GM
6584 * window.c (Fwindow_list): Change parameter list to be XEmacs
6585 compatible.
6586 (window_list_1): New function.
6587 (window_loop): Use it instead of Fwindow_list.
6588
b95b34e5
GM
6589 * sysdep.c (emacs_ospeed): New variable.
6590 (toplevel): Don't declare ospeed extern.
6591 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6592
6593 * termcap.c (ospeed): Remove.
6594 (tputs) [!emacs]: Remove unused code.
6595 (tgetent): Avoid a compiler warning.
6596
e83dc917
GM
6597 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6598 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6599 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6600
6601 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6602 removed.
6603 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6604 Take the X display as additional argument.
6605 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6606 `Widget' is a pointer type that's not easily stored in Lisp_Object
6607 form in a portable way.
52283633 6608
6d950f4c
GM
6609 * dispnew.c (update_text_area): Fix last change.
6610
e47306e6
GM
66112000-11-18 Gerd Moellmann <gerd@gnu.org>
6612
fb3cd89b
GM
6613 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6614
6615 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6616 clear current matrices.
6617
edaa9aed
GM
6618 * buffer.c (mmap_enlarge): Don't print a message on stderr
6619 if mapping new memory at the end of the existing region fails.
6620
e47306e6
GM
6621 * dispnew.c (update_text_area): Don't skip over equal glyphs
6622 when the last current glyph overlaps the glyph to its right.
6623
509633e3
MB
66242000-11-18 Miles Bader <miles@gnu.org>
6625
6626 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6627 lines that *end* with "..." too (that's the most common case!).
6628
d392e9c5
GM
66292000-11-18 Gerd Moellmann <gerd@gnu.org>
6630
67988445
GM
6631 * xdisp.c (resize_mini_window): Temporarily change to the
6632 mini-window's buffer if necessary.
1bfdbe43 6633
d392e9c5
GM
6634 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6635 the tooltip obscures less text under it.
6636
66372000-11-17 Gerd Moellmann <gerd@gnu.org>
6638
6639 * puresize.h (BASE_PURESIZE): Increase to 700000.
6640
92bb977f
JR
66412000-11-18 Jason Rumney <jasonr@gnu.org>
6642
6643 * w32term.c (w32_draw_bitmap): Use face to set colors.
6644
26fbf20b
DL
66452000-11-17 Dave Love <fx@gnu.org>
6646
6647 * lread.c (Fload): Fix #ifdef for pcc.
6648
100b593b
GM
66492000-11-17 Gerd Moellmann <gerd@gnu.org>
6650
6651 * xdisp.c (pos_visible_p): Compute the default character height
6652 differently.
6653
a288d0d1
GM
66542000-11-16 Gerd Moellmann <gerd@gnu.org>
6655
cac94de6 6656 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6657 knowing the line's height; use the default font's height in that case.
cac94de6 6658
a288d0d1
GM
6659 * xfaces.c (weight_table): Add `demi' with the same meaning as
6660 `demibold'.
6661
981fb6f6
KH
66622000-11-16 Kenichi Handa <handa@etl.go.jp>
6663
2cca872d 6664 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6665 (clear_glyph_row): Delete local static variable null_row.
6666
e5fa381b
JR
66672000-11-15 Jason Rumney <jasonr@gnu.org>
6668
6669 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6670 (w32_alloc_lighter_color): Use new brightness calculations from
6671 xterm.c. Scale delta to be in the range expected by W32.
6672 (w32_draw_relief_rect): Use frame relief colors.
6673
8e42f043
GM
66742000-11-15 Gerd Moellmann <gerd@gnu.org>
6675
6d133d1f
GM
6676 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6677 (Qinhibit_default_face_x_resources): New variable.
6678 (syms_of_frame): Initialize it.
6679 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6680
6681 * xdisp.c (pos_visible_p): Improve function comment.
6682
6683 * lisp.h (BINDING_STACK_SIZE): New macro.
6684
8e42f043
GM
6685 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6686 reading the directory if readdir returns null and errno is EAGAIN
6687 or EINTR.
6688
e8c87124
SM
66892000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6690
6691 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6692 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6693 Set amount_to_scroll to max of dx and scroll_step so that
6694 scroll-conservatively doesn't defeat scroll-step>1.
6695 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6696 scroll-conservatively for line-at-a-time scrolling.
6697
5f0c971d
GM
66982000-11-14 Gerd Moellmann <gerd@gnu.org>
6699
6700 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6701 extra argument.
6702
6703 * xdisp.c (current_mode_line_height, current_header_line_height):
6704 New variables.
6705 (init_xdisp): Initialize them.
6706 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6707 and use exact mode line heights if it is set.
6708
6709 * lisp.h (pos_visible_p): Change prototype.
6710
6711 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6712 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6713 and current_header_line_height first.
52283633
SM
6714 (current_mode_line_height, current_header_line_height):
6715 Declare extern.
5f0c971d 6716
d7361edf
MB
67172000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6718
6719 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6720 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6721 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6722
ee5e440a
MB
67232000-11-14 Miles Bader <miles@gnu.org>
6724
6725 * xterm.c (x_alloc_lighter_color): Include an additive component
6726 too for dark colors, because FACTOR isn't enough.
6727 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6728 New macros.
6729
5ca020fc
GM
67302000-11-13 Gerd Moellmann <gerd@gnu.org>
6731
6732 * keyboard.c (show_help_echo): Call message3_nolog with number of
6733 bytes in the help string as 2nd parameter, instead of the number
6734 of characters.
6735
9d348294
MB
67362000-11-13 Miles Bader <miles@gnu.org>
6737
6738 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6739 (Fload): Use new openp return protocol.
6740 Don't try to use Vload_source_file_function to load .elc files.
6741 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6742 openp return protocol.
6743 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6744
1729bb9a
KH
67452000-11-11 Kenichi Handa <handa@etl.go.jp>
6746
4e677396
KH
6747 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6748
6749 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6750 Defined these macros.
6751 (NLIST_STRUCT): Avoid re-defining it.
6752
1729bb9a
KH
6753 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6754 -I/usr/contrib/X11R6/include.
6755 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6756
a82fe213
JR
67572000-11-10 Jason Rumney <jasonr@gnu.org>
6758
6759 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6760
6761 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6762 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6763
6764 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6765 (Qw32_charset_vietnamese): New symbol.
6766 (xlfd_charset_of_font): New function.
6767 (w32_load_system_font): Use it.
6768 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6769 when Vw32_charset_info_alist is nil to ensure default face always
6770 has font. Use Fcar and Fcdr for safety.
6771 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6772 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6773 pseudo-codepages for special cases.
6774 (w32_to_x_font): New parameter to allow charset portion to be
6775 specified where there is many to one mapping. Callers changed.
6776 (w32_list_fonts): Avoid listing fonts that won't display.
6777
52d89894
GM
67782000-11-10 Gerd Moellmann <gerd@gnu.org>
6779
6780 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6781 (font_list_1): Renamed from font_list.
6782 (font_list): New function, trying alternative registries from
6783 Vface_alternative_font_registry_alist.
6784 (Finternal_set_alternative_font_registry_alist): New function.
6785 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6786 Vface_alternative_font_registry_alist.
6787 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6788
651cd3da
KR
67892000-11-09 Ken Raeburn <raeburn@gnu.org>
6790
6791 * lisp.h (Flooking_at): Declare.
6792
388ac098
GM
67932000-11-09 Gerd Moellmann <gerd@gnu.org>
6794
778fbc46 6795 * dired.c (directory_files_internal): Fix a braino.
52283633 6796
388ac098
GM
6797 * dired.c (directory_files_internal): Add missing GCPRO's.
6798 Some cleanup.
6799
ecaedde1
GM
68002000-11-08 Gerd Moellmann <gerd@gnu.org>
6801
f7eb32aa
GM
6802 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6803 (resize_mini_window): Return quickly if Vresize_mini_window is
6804 nil. Don't return if Vmax_mini_window_height is nil.
6805
6806 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6807 (syms_of_xdisp): Initialize them.
6808 (resize_mini_window): Act according to the setting of
6809 Vresize_mini_window.
6810 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6811
ecaedde1
GM
6812 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6813 scroll bar widget after configuring it, so that it will appear at
6814 the right position from the start.
6815 (XTredeem_scroll_bar): Cleaned up.
6816
3747ef2c
KH
68172000-11-08 Kenichi Handa <handa@etl.go.jp>
6818
6819 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6820 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6821 division by two.
6822
6823 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6824
03391420
DL
68252000-11-07 Dave Love <fx@gnu.org>
6826
7758f1c1 6827 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6828
6829 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6830
b5de343d
GM
68312000-11-07 Gerd Moellmann <gerd@gnu.org>
6832
acad3c0b
GM
6833 * window.c (Fset_window_configuration): Don't try to preserve
6834 point in the current buffer, if that buffer is displayed in more
6835 than one window.
6836
b5de343d
GM
6837 * xfaces.c (lookup_named_face): If default face isn't realized,
6838 try to realize it. Return -1 if not successful.
6839 (Fx_list_fonts): Handle case that face cannot be determined.
6840 (Fface_font): Likewise.
6841
cdb1fe49
GM
68422000-11-06 Gerd Moellmann <gerd@gnu.org>
6843
6844 * window.c (displayed_window_lines): Detect partially
6845 visible lines at the bottom correctly.
6846
d3a67486
SM
68472000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6848
6849 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6850 when ensuring we don't do visit in indirect buffer.
6851
ff8dd5d5
KH
68522000-11-06 Kenichi Handa <handa@etl.go.jp>
6853
6854 * composite.h (compose_chars_in_text): Add prototype.
6855
6856 * composite.c (Vcomposition_function_table): New variable.
6857 (Qcomposition_function_table): New variable.
6858 (run_composition_function): Call
6859 Vcompose_chars_after_function with three arguments.
6860 (compose_chars_in_text): New function.
6861 (syms_of_composite): Modified the doc-string of
6862 Vcompose_chars_after_function. Declare composition-function-table
6863 as a lisp variable, and initialize it.
6864
6865 * xfns.c (x_encode_text): Suppress producing escape sequences for
6866 composition.
6867
6868 * xselect.c: Include composite.h.
6869 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6870
d1145f85
AI
68712000-11-05 Andrew Innes <andrewi@gnu.org>
6872
6873 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6874
6875 * sysdep.c (read_input_waiting): Remove extraneous argument to
6876 read_socket_hook.
6877
6878 * w32fns.c (Fx_server_version): Include w32_build_number in the
6879 return list.
6880
6881 * w32heap.c (w32_build_number): New variable.
6882 (cache_system_info): Set it.
6883
6884 * w32heap.h (w32_build_number): Add extern.
6885
6886 * emacs.c (syms_of_emacs): Update docstring for
6887 system-configuration, to reflect the actual usage on MS-Windows.
6888
e85ee976
GM
68892000-10-31 Gerd Moellmann <gerd@gnu.org>
6890
26dcb81b
GM
6891 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6892 process idle timers while waiting for another event.
6893
52283633 6894 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6895 the default face are colored.
6896
e85ee976
GM
6897 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6898 window height hasn't changed.
6899
01b220b6
JR
69002000-10-31 Jason Rumney <jasonr@gnu.org>
6901
6902 * w32term.c (x_produce_glyphs): Handle composite characters.
6903 (x_draw_glyph_string_foreground)
6904 (x_draw_composite_glyph_string_foreground): Restore old font.
6905
4e6b7204
MB
69062000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6907
6908 * minibuf.c (read_minibuf): Reset the undo history just before
6909 starting the recursive-edit.
6910
d4358b37
GM
69112000-10-30 Gerd Moellmann <gerd@gnu.org>
6912
563f68f1
GM
6913 * xfaces.c (menu_face_change_count): New variable.
6914 (Finternal_set_lisp_face_attribute): Increment it for changes
6915 of the `menu' face.
6916 (realize_basic_faces): Reflect changes in the `menu' faces
6917 in menu bars.
6918
82e274d1
GM
6919 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6920 dy obtained from the iterator's y-position after moving from
6921 scroll_margin_pos to PT; see comment there.
52283633 6922
0dbf9fd2
GM
6923 * xdisp.c (safe_eval_handler): Call add_to_log.
6924
906b3b14
GM
6925 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6926 is not a symbol or string.
6927
d4358b37
GM
6928 * xdisp.c (echo_area_display): Don't perform a display update from
6929 inside redisplay. The update will happen anyway at the end of
6930 redisplay, and it can confuse redisplay (GC messages while
6931 redisplaying, for instance.)
6932
70c825df
SM
69332000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6934
cf9b4b0b
SM
6935 * xrdb.c (x_load_resources): Use the class name in the defaults.
6936
70c825df
SM
6937 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6938 (regex_compile): Catch bogus \(\1\).
6939
a1d34b1e
GM
69402000-10-30 Gerd Moellmann <gerd@gnu.org>
6941
cae71efe
GM
6942 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6943 RGB values.
52283633 6944
35efe0a1
GM
6945 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6946 we have a color cache, check that the cached color equals the
6947 allocated color. If not, clear the color cache.
6948
1d3baf74
GM
6949 * window.c (displayed_window_lines): Change buffers if necessary.
6950 Fix computation of displayed lines.
6951
a1d34b1e
GM
6952 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6953 update_menu_bindings to DEFVAR_BOOL.
6954
70737ea9
KH
69552000-10-30 Kenichi Handa <handa@etl.go.jp>
6956
70c825df 6957 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6958
fa0cb51d
KH
6959 * puresize.h (BASE_PURESIZE): Increase to 680000.
6960
70737ea9
KH
6961 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6962
0e4c08e8
JR
69632000-10-29 Jason Rumney <jasonr@gnu.org>
6964
6965 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6966
6967 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6968 (w32_cache_char_metrics): Handle possibility that 'x' does not
6969 exist in a BDF font.
6970 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6971
6972 * w32bdf.h (bdffont): Add nchars.
6973
6974 * w32bdf.c (set_bdf_font_info): Set it.
6975 (w32_BDF_TextOut): Swap byte order of double byte characters.
6976 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6977
45b84006
EZ
69782000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6979
6980 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6981 don't override the colors in frame's param_alist, unless they are
6982 unspecified.
6983
6984 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6985 reverse the effect of the highlight flag.
6986
caf9deee
KR
69872000-10-27 Ken Raeburn <raeburn@gnu.org>
6988
6989 * window.h (Fwindow_live_p): Declare.
6990
ae0b9b46
KR
6991 * undo.c (record_delete): Check that last_undo_buffer is really a
6992 buffer before applying XBUFFER to it.
6993
6994 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6995 Faref.
6996
02067692
SM
69972000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6998
6999 * lisp.h (KEYMAPP): New macro.
7000 (get_keymap): Remove.
7001 (get_keymap_1): Rename get_keymap.
7002
7003 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7004
7005 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7006
7007 * xmenu.c (single_submenu): Use KEYMAPP.
7008 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7009 Use KEYMAPP rather than Fkeymapp.
7010
7011 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7012
7013 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7014 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7015 Use KEYMAPP rather than Fkeymapp.
7016 (single_submenu): Use KEYMAPP.
7017 (w32_menu_show, w32_dialog_show): Use TRUE.
7018
7019 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7020
7021 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7022 (Fkeymapp): Use KEYMAPP.
7023 (get_keymap): Rename from get_keymap_1. Remove old def.
7024 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7025 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7026 (Fminor_mode_key_binding): Don't raise an error if the binding
7027 is not a keymap.
7028 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7029 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7030
7031 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7032 Allow Vspecial_event_map to be autoloaded.
7033 (menu_bar_items): Fetch the keymap rather than using keymapp.
7034 (menu_bar_one_keymap): No need to follow func-indirect any more.
7035 (parse_menu_item): get_keymap_1 -> get_keymap.
7036 (tool_bar_items): Fetch the keymap rather than using keymapp.
7037 (read_key_sequence): Use KEYMAPP.
7038
7039 * intervals.c (get_local_map): Use get_keymap rather than following
7040 function-indirections explicitly.
7041
7042 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7043
f9d80af3
JR
70442000-10-27 Jason Rumney <jasonr@gnu.org>
7045
7046 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7047 point, as Windows has oversized fonts.
7048
7049 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7050
a3ba27da
GM
70512000-10-27 Gerd Moellmann <gerd@gnu.org>
7052
7053 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7054 (freehook, reallochook): Handle null pointer arguments.
7055 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7056
aa3b80cc
SM
70572000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7058
7059 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7060 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7061 Giving in to popular pressure to shut up the compiler with casts.
7062
e24e84cc
GM
70632000-10-27 Gerd Moellmann <gerd@gnu.org>
7064
7065 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7066 signed value, and use a default value computed from the font's
7067 maximum descent.
7068
05ea7ef2
MB
70692000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7070
7071 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7072 that specify a negative underline position can still use underlines.
7073
7074 * window.c (Fpos_visible_in_window_p): Make POS default to
7075 WINDOW's point, not the current buffer's point.
7076
0b95284b
DL
70772000-10-26 Dave Love <fx@gnu.org>
7078
7079 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7080 when it's necessary.
7081
6c5b90af
GM
70822000-10-26 Gerd Moellmann <gerd@gnu.org>
7083
8b6d9dc9
GM
7084 * window.c (size_window): Compute size difference from sum of old
7085 child window sizes instead of from parent's size.
7086
6bc92b2e
GM
7087 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7088 Handle obscured lines at the top of the window.
7089
7090 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7091 down after the last error condition check.
7092
6c5b90af
GM
7093 * frame.c (Fdelete_frame): Run delete-frame-hook.
7094
42f92d4d
KH
70952000-10-26 Kenichi Handa <handa@etl.go.jp>
7096
7097 * coding.c (decode_coding): Fix previous change (check also
7098 CODING_MODE_LAST_BLOCK).
7099
d97151cb
SM
71002000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7101
e7efc503
SM
7102 * regex.c: More `unsigned char' -> `re_char' changes.
7103 Also change several `int' into `re_wchar_t'.
7104 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7105 (PUSH_FAILURE_POINTER): Don't cast any more.
7106 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7107 We want GCC to complain, since this piece of code makes
7108 re_match non-reentrant, which *should* be fixed.
7109 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7110 (EXTEND_BUFFER): Use RETALLOC.
7111 (SET_LIST_BIT): Don't cast.
7112 (re_wchar_t): New type.
7113 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7114 that those two functions will always properly return.
7115 (IMMEDIATE_QUIT_CHECK): Cast to void.
7116 (analyse_first): Use recursion rather than an explicit stack.
7117 (re_compile_fastmap): Can't fail anymore.
7118 (re_search_2): Don't check re_compile_fastmap for failure.
7119 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7120 Now also sets the new value (passed in a new argument).
7121 (re_match_2_internal): Use it.
7122 Also, use a new var `reg' of type size_t when looping through regs
7123 rather than reuse the inappropriate `mcnt'.
7124
d97151cb
SM
7125 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7126 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7127 (where_is_internal): Renamed from Fwhere_is_internal.
7128 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7129 (Fwhere_is_internal): New function wrapping where_is_internal.
7130 (where_is_internal_1): Handle the case where we're filling the cache.
7131 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7132
d5789b65
MB
71332000-10-25 Miles Bader <miles@gnu.org>
7134
7135 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7136
4ecda532
GM
71372000-10-25 Gerd Moellmann <gerd@gnu.org>
7138
7139 * window.c (pos_fully_visible_p): Removed.
7140 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7141 if position is visible and/or fully visible.
7142
7143 * lisp.h (pos_visible_p): Add prototype.
7144
7145 * xdisp.c (pos_visible_p): New function.
7146
68c3a137
KH
71472000-10-25 Kenichi Handa <handa@etl.go.jp>
7148
7149 * process.c (send_process): If OBJECT is t, it means that the data
7150 is from C string, but we should encode it. Before calling
7151 setup_raw_text_coding_system, be sure to flush out data by the
7152 previous coding system.
7153
7ae1c032
MB
71542000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7155
ff4dcd4b
MB
7156 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7157 assignment of startpos to prev when startpos == pos.
7158
7ae1c032
MB
7159 * editfns.c (find_field): Set the field stickiness correctly from
7160 overlay fields. Use renamed `text_property_stickiness'.
7161 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7162 Only check text properties, not overlays.
7ae1c032
MB
7163 * textprop.c (get_char_property_and_overlay): New function.
7164 (Fget_char_property): Use it.
7165 * intervals.h (get_char_property_and_overlay): Add declaration.
7166
49801145
SM
71672000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7168
7169 * keymap.c: Use AREF, ASET and ASIZE macros.
7170 (Fmake_sparse_keymap): Docstring fix.
7171 (synkey): Remove.
7172 (shadow_lookup): Move up.
7173 Handle the case where lookup-key returns an integer.
7174 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7175 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7176 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7177 Simplify/rewrite the keymap-finding code.
7178 Add check for command shadowing, using shadow_lookup.
7179
39e776cd
SM
71802000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7181
7182 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7183 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7184 a symbol.
7185
2488aba5
AI
71862000-10-24 Andrew Innes <andrewi@gnu.org>
7187
7188 * dired.c (directory_files_internal_unwind): New function.
7189 (directory_files_internal): Use it to ensure closedir is called
7190 even if expand-file-name or file-attributes throw, eg. because of
7191 a user interrupt. Also enable immediate_quit while calling
7192 re_search, so that matching can be interrupted as well.
7193
b94fdf61
AI
71942000-10-24 Andrew Innes <andrewi@gnu.org>
7195
7196 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7197 NT-Emacs only.
7198 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7199 so that re_search functions only quit when callers expect them to.
7200
72012000-10-24 Kenichi Handa <handa@etl.go.jp>
7202
7203 * regex.c (regex_compile): Change the way of handling a range from
7204 a char less than 256 to a char not less than 256.
7205
1946f901
GM
72062000-10-24 Gerd Moellmann <gerd@gnu.org>
7207
7ae2f10f
GM
7208 * window.c (size_window): Prevent setting window's width or
7209 height to a negative value (esp. with XSETFASTINT).
7210
5dcab13e
GM
7211 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7212 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7213 (protect_malloc_state) [GC_MALLOC_CHECK &&
7214 GC_PROTECT_MALLOC_STATE]: New function.
7215 (PROTECT_MALLOC_STATE): New macro.
7216 (__malloc_initialize, morecore, _malloc_internal)
7217 (_free_internal) _realloc_internal): Use it to make _heapinfo
7218 read-only outside of gmalloc.
7219
63e1b552
GM
7220 * keymap.c: Update copyright.
7221
1946f901
GM
7222 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7223 a symbol.
7224
4fa09beb
GM
72252000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7226
7227 * filelock.c (unlock_all_files): Use unlock_file to expand each
7228 buffer's file_truename before trying remove its lock file.
7229
23afac01
EZ
72302000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7231
7232 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7233 or CRLF, decode EOLs.
7234
04448b95
KH
72352000-10-24 Kenichi Handa <handa@etl.go.jp>
7236
7237 * window.c (Fdisplay_buffer): Fix doc.
7238
3090a5a5
JR
72392000-10-23 Jason Rumney <jasonr@gnu.org>
7240
7241 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7242 ASCII font of default fontset on Windows.
7243
7244 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7245 xterm.c comment below).
7246
7247 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7248
a83fee2c
GM
72492000-10-23 Gerd Moellmann <gerd@gnu.org>
7250
7251 * xterm.c (x_connection_closed): Reset handling_signal.
7252
52283633 7253 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7254
6ffdb539
MB
72552000-10-23 Miles Bader <miles@gnu.org>
7256
7257 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7258 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7259 maintain old behavior.
7260 * minibuf.c (Fminibuffer_complete): Likewise.
7261
7f1c969b
MB
72622000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7263
7264 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7265 that when a font can't be exactly centered, it errs up rather than
7266 down.
7267
23afac01 72682000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7269
52283633 7270 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7271
1a578e9b
AC
72722000-10-23 Andrew Choi <akochoi@i-cable.com>
7273
7274 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7275
7276 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7277 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7278
7279 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7280 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7281 syms_of_search, x_term_init, and init_keyboard before calling
7282 init_window_once. Also, call syms_of_xmenu.
7283
7284 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7285 default fontset to Monaco.
7286
7287 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7288 NewMacWindow and DisposeMacWindow.
7289 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7290 instead of calling NewMacWindow and setting fields of
7291 f->output_data.mac directly. Call init_frame_faces.
7292 (Fdelete_frame) [macintosh]: Remove unused code.
7293 (Fmodify_frame_parameters) [macintosh]: Call
7294 x_set_frame_parameters instead of mac_set_frame_parameters.
7295
7296 * frame.h [macintosh]: Define menu_bar_lines field in struct
7297 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7298
7299 * keyboard.c [macintosh]: Include macterm.h.
7300 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7301 and menu_bar_activate_event type events as for X and NT.
7302 (make_lispy_event) [macintosh]: Construct lisp events of type
7303 MENU_BAR_EVENT as for X and NT.
7304
7305 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7306 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7307 (sys_subshell) [macintosh]: Remove definition entirely.
7308 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7309 Vwindow_system_version here. Remove initialization of
7310 Vx_bitmap_file_path.
7311 (read_input_waiting): Correct the number of parameters passed to
7312 read_socket_hook.
7313 Move all Macintosh functions to mac/mac.c.
7314
7315 * term.c [macintosh]: Include macterm.h.
7316
7317 * window.c [macintosh]: Include macterm.h.
7318
7319 * xdisp.c [macintosh]: Include macterm.h. Declare
7320 set_frame_menubar and pending_menu_activation.
7321 (echo_area_display) [macintosh]: Do not return if terminal frame
7322 is the selected frame.
7323 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7324 Allow only the selected frame to set menu bar.
7325 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7326 calling FRAME_EXTERNAL_MENU_BAR (f).
7327 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7328
7329 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7330 and check_x. Declare XCreateGC. Define x_create_gc and
7331 x_free_gc. Initialize font_sort_order.
7332 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7333 but call x_list_fonts instead of w32_list_fonts.
7334 (Finternal_face_x_get_resource) [macintosh]: Do not call
7335 display_x_get_resource.
7336 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7337 (realize_x_face) [macintosh]: Load the font if it is specified in
7338 ATTRS.
52283633 7339 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7340
1ffbabe3
SM
73412000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7342
7343 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7344 is nil: since we go to the end of submap anyway, we'd end up
7345 setting nil to nil.
7346 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7347 doesn't obey autoload.
7348
bed43f1d
EZ
73492000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7350
1ffbabe3 7351 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7352
ea4233a7
JR
73532000-10-21 Jason Rumney <jasonr@gnu.org>
7354
7355 * w32term.c (w32_cache_char_metrics): Double check that font is
7356 really fixed pitch before trusting tmPitchAndFamily.
7357
f3d3c491
AI
73582000-10-21 Andrew Innes <andrewi@gnu.org>
7359
7360 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7361
7362 * w32term.h: Extern decl for w32_cache_char_metrics.
7363
7364 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7365
7366 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7367 (w32_unload_font): Free per_char array if present.
7368
7369 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7370 cached information in emulated XFontStruct to handle common cases
7371 quickly. Do not allocate XCharStruct for return.
7372 (w32_native_per_char_metric): New function.
7373 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7374 allocating one.
7375 (x_produce_glyphs): Don't get an HDC. Change calls to
7376 w32_per_char_metric to match arg change above. Remove calls to
7377 free results.
7378 (w32_get_glyph_overhangs): Ditto.
7379 (w32_cache_char_metrics): New function.
7380
7381 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7382 ($(BLD)/casefiddle.$(O)): Remove compile command.
7383 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7384 ($(BLD)/dispnew.obj):
7385 ($(BLD)/keyboard.obj):
7386 ($(BLD)/w32inevt.obj):
7387 ($(BLD)/w32bdf.obj):
7388 ($(BLD)/alloc.obj):
7389 ($(BLD)/buffer.obj):
7390 ($(BLD)/editfns.obj):
7391 ($(BLD)/emacs.obj):
7392 ($(BLD)/fileio.obj):
7393 ($(BLD)/fns.obj):
7394 ($(BLD)/indent.obj):
7395 ($(BLD)/insdel.obj):
7396 ($(BLD)/intervals.obj):
7397 ($(BLD)/minibuf.obj):
7398 ($(BLD)/print.obj):
7399 ($(BLD)/scroll.obj):
7400 ($(BLD)/sysdep.obj):
7401 ($(BLD)/textprop.obj):
7402 ($(BLD)/widget.obj):
f3d3c491
AI
7403 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7404 ($(BLD)/term.obj): Add dependency on dispextern.h.
7405
52283633
SM
7406 * makefile.nt ($(BLD)\dispnew.obj):
7407 ($(BLD)\keyboard.obj):
7408 ($(BLD)\w32inevt.obj):
7409 ($(BLD)\w32bdf.obj):
7410 ($(BLD)\alloc.obj):
7411 ($(BLD)\buffer.obj):
7412 ($(BLD)\editfns.obj):
7413 ($(BLD)\emacs.obj):
7414 ($(BLD)\fileio.obj):
7415 ($(BLD)\fns.obj):
7416 ($(BLD)\indent.obj):
7417 ($(BLD)\insdel.obj):
7418 ($(BLD)\intervals.obj):
7419 ($(BLD)\minibuf.obj):
7420 ($(BLD)\print.obj):
7421 ($(BLD)\scroll.obj):
7422 ($(BLD)\sysdep.obj):
7423 ($(BLD)\textprop.obj):
7424 ($(BLD)\widget.obj):
f3d3c491
AI
7425 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7426 ($(BLD)\term.obj): Add dependency on dispextern.h
7427
18ad4821
EZ
74282000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7429
7430 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7431 with an additional argument of Qt.
7432
de54681a
MB
74332000-10-21 Miles Bader <miles@gnu.org>
7434
7435 * window.c (pos_fully_visible_in_window_p): New function.
7436 (Fpos_visible_in_window_p): Add FULLY argument.
7437 Use pos_fully_visible_in_window_p.
7438 (window_scroll_pixel_based, window_scroll_line_based): Update
7439 calls to Fpos_visible_in_window_p.
7440 * lisp.h (Fpos_visible_in_window_p): Update prototype
7441
13c844fb
GM
74422000-10-20 Gerd Moellmann <gerd@gnu.org>
7443
7444 * alloc.c (toplevel): Conditionalize compilation of mem_*
7445 functions differently.
52283633 7446
d9506268
JR
74472000-10-20 Jason Rumney <jasonr@gnu.org>
7448
7449 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7450 mem_init where it used to be. mem_z etc not defined otherwise.
7451
8094989b
GM
74522000-10-20 Gerd Moellmann <gerd@gnu.org>
7453
7454 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7455 GC_MALLOC_CHECK.
7456 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7457 structure definition and related variabled to the top of the file.
7458 Include this code when GC_MALLOC_CHECK is defined.
7459 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7460 register/unregister allocated region.
7461 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7462 which isn't allocated.
7463 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7464 something which is already in use.
7465 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7466 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7467 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7468 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7469
7470 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7471 _malloc_internal instead of malloc.
7472 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7473 of free.
7474
ea456eb4
AI
74752000-10-20 Andrew Innes <andrewi@gnu.org>
7476
7477 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7478 Windows.
7479 (my_strftime) <macro>: Don't use macro arg list when redefining as
7480 _strftime_copytm.
7481 (my_strftime) <function>: Supply 0 as ut argument.
7482
e64c3a75
JR
74832000-10-19 Jason Rumney <jasonr@altavista.net>
7484
7485 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7486 including dispextern.h, as it stops faces from working.
7487
7488 * w32fns.c (Fx_create_frame): Don't bother calling
7489 face-set-after-frame-default since the caller does it for us
7490 anyway. Clean up calls to x_get_arg to be consistent with X.
7491
7492 * w32term.c (x_produce_glyphs): Handle
7493 unibyte_display_via_language_environment correctly.
7494 (w32_draw_box_rect): Fix the calculation of width and height.
7495
7496 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7497 as it has stopped working.
7498 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7499 menu-bar.
7500
17401c97
GM
75012000-10-19 Gerd Moellmann <gerd@gnu.org>
7502
7503 * eval.c (skip_debugger): Prevent a compiler warning.
7504 (Fcondition_case): Likewise.
7505 (Fbacktrace_frame): Use a null interactive spec.
7506
773272d8
KH
75072000-10-19 Kenichi Handa <handa@etl.go.jp>
7508
7509 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7510
a42943e9
GM
75112000-10-18 Gerd Moellmann <gerd@gnu.org>
7512
e50517d9
GM
7513 * strftime.c: Sync with glibc, file version 1.78.
7514 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7515 should no longer be used according to ISO 8601.
7516
9035a35a
GM
7517 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7518 no map for meta_prefix_char, don't try to use it as a keymap.
7519 Instead, if T_OK is non-zero, look up a default binding, if any,
7520 otherwise, if T_OK is zero, return nil.
7521
a42943e9
GM
7522 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7523 (x_to_xcolors, png_load): Use x_query_color.
7524
52283633
SM
7525 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7526 New functions.
a42943e9
GM
7527 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7528 which can be slow.
7529 (x_copy_color, x_alloc_lighter_color): Likewise.
7530
7531 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7532 (x_query_color, x_query_colors): Add prototype.
7533
7534 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7535 check_string_bytes only if not noninteractive, increase count to 50.
7536
00de2987
MB
75372000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7538
7539 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7540 markers correctly.
7541
54918e2b
GM
75422000-10-17 Gerd Moellmann <gerd@gnu.org>
7543
1f0b3fd2
GM
7544 * alloc.c (pure_bytes_used): Renamed from pureptr.
7545 (ALIGN): New macro.
7546 (pure_alloc): New function.
7547 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7548 Use it.
7549 (Fpurecopy): Use PURE_POINTER_P.
7550
68c5d1db
GM
7551 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7552 PT has moved backward.
52283633 7553
9a038881
GM
7554 * xdisp.c (cursor_row_p): Take continued lines into account.
7555
361b097f
GM
7556 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7557 string's size_byte.
7558 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7559 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7560 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7561 string allocated.
7562
54918e2b
GM
7563 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7564 of selective display off while searching for the next line start.
7565
03ed0806
KH
75662000-10-17 Kenichi Handa <handa@etl.go.jp>
7567
7568 * Makefile.in (term.o): Depend on dispextern.h.
7569
7e05cdaf
SM
75702000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7571
7572 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7573
a6801fd1
GM
75742000-10-16 Gerd Moellmann <gerd@gnu.org>
7575
483de32b
GM
7576 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7577 the iterator at the beginning, so that they can be set later on,
7578 for instance in reseat_at_next_visible_line_start, without being
7579 overwritten.
7580
a6801fd1
GM
7581 * xfns.c (pbm_format): Add :foreground and :background keywords.
7582 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7583 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7584
dbf1fcc1
EZ
75852000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7586
7587 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7588
52283633 7589 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7590
7591 * msdos.c (IT_set_face): Compare highlighted face with the default
7592 face, and invert colors if these faces' colors are identical.
7593 (Fmsdos_remember_default_colors): Don't swap foreground and
7594 background colors in initial_colors[].
7595 (IT_set_frame_parameters): Don't swap frame's foreground and
7596 background pixels. If ALIST includes "(reverse . t)", swap
7597 foreground-color and background-color properties in frame's
7598 param_alist. If the original frame's param_alist doesn't specify
7599 the colors, store unspecified-fg and unspecified-bg, reversed if
7600 required.
7601
7602 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7603 the colors are unspecified and reversed, reverse fore- and back-
7604 ground in the returned value.
7605 (Fframe_parameter): Ditto.
7606
b41fe2c3 76072000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7608
3a6b59d9
GM
7609 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7610 get_last_unchanged_at_beg_row.
7611 (find_first_unchanged_at_end_row): Renamed from
7612 get_first_unchanged_at_end_row.
7613 (find_first_unchanged_at_end_row): Convert assertions to
7614 unconditional tests which abort. When looking for a row in
7615 unchanged text, don't go further back than first_text_row.
7616
b41fe2c3
GM
7617 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7618 Don't add in the last line's height when deciding if the new
7619 position is below the scroll margin.
9d1af64f 7620
b41fe2c3 76212000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7622
7623 * editfns.c (Fconstrain_to_field): Check carefully for field
7624 boundaries if either OLD_POS or NEW_POS has a non-nil field
7625 property, even if they're the same.
7626
c412cb7b
KH
76272000-10-16 Kenichi Handa <handa@etl.go.jp>
7628
7629 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7630 height for XFillRectangle.
7631
5586f3eb
SM
76322000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7633
7634 * syntax.c (Fstring_to_syntax): New function extracted from
7635 Fmodify_syntax_entry.
7636 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7637 (skip_chars, Fforward_comment): Remove unused variables.
7638 (syms_of_syntax): Add defsubr for string-to-syntax.
7639 (describe_syntax): Add code for comment and string fences.
7640
db785038
SM
76412000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7642
7643 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7644 Do the meta->esc mapping. Call get_keyelt before returning.
7645 Start scanning from the second element (the first is always `keymap')
7646 to make it easier to detect when we reach a parent map.
7647 Handle the case of inheriting from a symbol whose function is a map.
7648 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7649 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7650 (get_keyelt, Flookup_key): Update call to access_keymap.
7651 Remove the meta->esc mappings.
7652 (define_as_prefix): Delete old disabled code.
7653 (menu_item_p): New function.
7654 (where_is_internal_1): Skip over the few remaining menu items.
7655 * lisp.h (access_keymap): Update prototype.
7656 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7657 Update call to access_keymap.
7658 (follow_key, read_key_sequence): Update calls to access_keymap.
7659 Remove the meta->esc mappings.
7660
cafafe0b
GM
76612000-10-13 Gerd Moellmann <gerd@gnu.org>
7662
a2e2a7f6
GM
7663 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7664 with additional argument.
7665
cafafe0b
GM
7666 * xdisp.c (cursor_row_p): New function.
7667 (try_cursor_movement, display_line): Use it.
52283633 7668
cafafe0b
GM
7669 * xdisp.c (append_space): Also save/restore iterator's current
7670 character and its length.
7671
7672 * xdisp.c (init_from_display_pos): Add an assertion.
7673 (handle_stop): Don't set iterator's add_overlay_start.
7674 (handle_invisible_prop): Likewise.
7675 (load_overlay_strings): If text under an overlay is invisible,
7676 take both before- and after-strings into account when the iterator
7677 is positioned either at the start or at the end of the overlay.
7678 (forward_to_next_line_start): Rewritten.
7679 (reseat_at_next_visible_line_start): Rewritten.
7680 (set_iterator_to_next): Add parameter RESEAT_P.
7681
7682 * dispextern.h (struct it): Remove member add_overlay_start.
7683 (set_iterator_to_next): Change prototype.
7684
c744452b
KH
76852000-10-13 Kenichi Handa <handa@etl.go.jp>
7686
7687 * coding.c (code_convert_region): Be sure to initialize
7688 coding->category_idx.
e4a3f4e1
KH
7689 (decode_coding_string): Set coding->src_multibyte and
7690 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7691 (encode_coding_string): Set coding->src_multibyte and
7692 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7693
321fd26f
SM
76942000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7695
7696 * xfns.c (Fx_create_frame): Don't bother calling
7697 face-set-after-frame-default since the caller does it for us anyway.
7698
76832439
EZ
76992000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7700
7701 * window.c (coordinates_in_window): Fix detection of vertical line
7702 on character terminals.
7703
2483cf58
GM
77042000-10-12 Gerd Moellmann <gerd@gnu.org>
7705
7706 * editfns.c (save_excursion_save): Additionally record the
7707 selected window.
7708 (save_excursion_restore): If buffer was visible in a window, and a
7709 different window was selected, and the old selected window is
7710 still live, restore point in that window.
7711
eb991b25
KH
77122000-10-12 Kenichi Handa <handa@etl.go.jp>
7713
8a0eba09
KH
7714 * xterm.c (x_produce_glyphs): Handle
7715 unibyte_display_via_language_environment correctly.
7716
20401fcc
KH
7717 * regex.c (regex_compile): Change the way of handling a range from
7718 unibyte char to multibyte char.
7719
7720 * syntax.c (skip_chars): Change the way of handling a range from
7721 unibyte char to multibyte char.
7722
eb991b25
KH
7723 * process.c (read_process_output): Cancel previous change.
7724
365dd325
EZ
77252000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7726
c1b096cb
EZ
7727 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7728
365dd325
EZ
7729 * charset.c (Ffind_charset_string): Doc fix.
7730 (Ffind_charset_region): Doc fix.
7731
eb483c2b
KH
77322000-10-11 Kenichi Handa <handa@mule.m17n.org>
7733
7734 * process.c (read_process_output): Fix previous change. Adjust
7735 multibyteness of text to insert in a buffer by
52283633 7736 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7737
b40bfb99
AS
77382000-10-10 Andreas Schwab <schwab@suse.de>
7739
7740 * alloc.c (mark_object): Remove all workarounds installed on
7741 1993-08-08.
7742
caff31d4
KH
77432000-10-10 Kenichi Handa <handa@etl.go.jp>
7744
52283633 7745 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7746 (base64_encode_1): Make it work for a text of multibyte form.
7747 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7748 case. Don't call str_to_multibyte because base64_decode_1
7749 produces correct multibyte form for eight-bit codes.
52283633 7750 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7751 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7752 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7753 codes.
7754
7755 * charset.h (CHAR_STRING): Optimized for single byte characters.
7756
cba026ef
AS
77572000-10-09 Andreas Schwab <schwab@suse.de>
7758
7759 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7760 -1 after socket is closed, to fall through to error processing.
7761
1e21fe48
EZ
77622000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7763
7764 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7765 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7766 background-color, change also the colors of the default face for
7767 this frame.
7768
a640322e
EZ
77692000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7770
7771 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7772 them extern (they are defined on xfaces.c).
7773 (syms_of_msdos): Don't intern and don't staticpro
7774 Qbackground_color and Qforeground_color.
7775
a115794c
EZ
77762000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7777
7778 * frame.c (Fframe_parameter): For non-windowed frames, if
7779 f->param_alist says foreground or background color is unspecified,
7780 call tty_color_name to return the color name computed from the
7781 frame's current colors.
7782
f5533b63
DL
77832000-10-06 Dave Love <fx@gnu.org>
7784
7785 * terminfo.c (ospeed): Don't declare.
7786
7787 * sysdep.c: Don't include string.h.
7788 (h_errno): Declare conditional also on TRY_AGAIN.
7789
7790 * charset.c (Ffind_charset_string): Doc fix.
7791
52283633 7792 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7793 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7794 error messages.
7795
2b06561a
DL
77962000-10-05 Dave Love <fx@gnu.org>
7797
7798 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7799 position like menu-bar.
7800
ca839c85
GM
78012000-10-05 Gerd Moellmann <gerd@gnu.org>
7802
7803 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7804
7805 * xdisp.c (handle_single_display_prop): Use safe_call1.
7806 (safe_call): Renamed from call_function.
7807 (safe_call1): New function.
7808 (handle_fontified_prop): Use safe_call1 instead of call1.
7809 (safe_eval): Renamed from eval_form.
7810 (safe_eval_handler): Renamed from eval_handler.
7811 (handle_single_display_prop, display_mode_element): Use safe_eval
7812 instead of eval_form.
7813
7814 * xfaces.c (merge_face_heights): Use safe_call instead of
7815 call_function.
7816
7817 * keyboard.c (show_help_echo): Use safe_call instead of
7818 call_function; use safe_eval instead of eval_form.
7819
7820 * lisp.h (safe_call): Renamed from call_function.
7821 (safe_eval): Renamed from eval_form.
7822 (safe_call1): Add prototype.
7823
a3489ece
MB
78242000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7825
7826 * xfns.c (image_ascent): Rearrange ascent calculation for the
7827 has-a-font case.
7828
35810b6f
SM
78292000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7830
7831 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7832 (where_is_internal_1): Don't bother ignoring menu-items any more.
7833
3dc78168
GM
78342000-10-04 Gerd Moellmann <gerd@gnu.org>
7835
7836 * keyboard.c (update_menu_bindings): New variable.
7837 (parse_menu_item): Use AREF. If update_menu_bindings
7838 is 0, don't update menu bindings.
7839 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7840
1efc2bb9
EZ
78412000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7842
7843 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7844 to `mark_object'.
7845
3f679f55
SM
78462000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7847
7848 * syntax.c (forw_comment): Match nestedness of ender/starter.
7849 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7850 (prev_char_comstart_first): Remove.
7851 (back_comment): Check two-char comment markers more carefully
7852 to better handle overlapping cases like *//* or /* */* */ ...
7853 Match nestedness of ender/starter.
7854
2021ab61
DL
78552000-10-02 Dave Love <fx@gnu.org>
7856
7857 * config.in (HAVE_GAI_STRERROR): Add undef.
7858
7859 * process.c (Fopen_network_stream): Use it.
7860
7861 * m/alpha.h (NO_REMAP): Don't define.
7862
64e6cc18
GM
78632000-10-02 Gerd Moellmann <gerd@gnu.org>
7864
7865 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7866 return with a string converted to an integer or vice versa when
7867 Vmocklisp_arguments is t.
7868 (Fsignal): Likewise. The function can return for `quit'.
7869 (struct gcpro): Declare member `var' to point to a volatile
7870 Lisp_Object.
7871
7872 * eval.c (error): Prevent compiler warning.
7873
b1904cd9
SM
78742000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7875
7876 * keymap.c (keymap_memberp): New function.
7877 (Fset_keymap_parent): Use it.
7878 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7879 Use keymap_memberp to avoid creating cycles.
7880 (access_keymap): Use KEYMAPP.
7881
71c9ec51
GM
78822000-09-30 Gerd Moellmann <gerd@gnu.org>
7883
7884 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7885 gai_strerror. Make sure xerrno is set if connect fails. Improve
7886 error recovery.
71c9ec51 7887
c70c6b58
JR
78882000-09-29 Jason Rumney <jasonr@gnu.org>
7889
7890 * w32term.c (w32_char_font_type, w32_encode_char)
7891 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7892 (w32_bdf_per_char_metric): New function.
7893 (w32_per_char_metric): Use it.
7894 (x_draw_glyph_string_background): Always draw background for BDF
7895 glyphs.
7896
7897 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7898 GDI object which is a scarce resource.
7899
7900 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7901 (get_quoted_string): Fix limit on memchr search.
7902 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7903 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7904 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7905 (get_cached_font_char, cache_char_offset): Use macro
7906 BDF_CODEPOINT_RANGE_COVER_P.
7907 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7908 (clear_cached_bitmap_slots): New function.
7909 (GET_HEX_VALUE): G-Z, g-z are not hex.
7910 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7911 (get_bitmap_with_cache): Use new cache implementation.
7912 (create_offscreen_bitmap): New function.
7913 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7914
7915 * w32term.c (x_produce_glyphs): If the distance from the current
7916 position to the next tab stop is less than a canonical character
7917 width, use the tab stop after that.
7918 (x_draw_glyphs): Handle case START and END are out of bounds more
7919 carefully.
7920 (x_clear_mouse_face): Block/unblock input.
7921 (x_display_and_set_cursor): Don't show a hollow box cursor for
7922 buffers whose cursor_type is nil.
7923
fe01239f
GM
79242000-09-29 Gerd Moellmann <gerd@gnu.org>
7925
52283633 7926 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7927
7928 * dispextern.h (updating_frame): Declare extern.
7929
e7c52f1f
AS
79302000-09-29 Andreas Schwab <schwab@suse.de>
7931
7932 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7933
de6e1f7c
GM
79342000-09-29 Gerd Moellmann <gerd@gnu.org>
7935
25126faa
GM
7936 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7937 use its function definition.
7938 (tool_bar_items): Likewise.
7939
de6e1f7c 7940 * lisp.h (fatal): Declare NO_RETURN.
52283633 7941
454ee39b
KH
79422000-09-29 Kenichi Handa <handa@etl.go.jp>
7943
7944 * keymap.c: Remove the line "#undef NULL".
7945
96301c5f
GM
79462000-09-28 Gerd Moellmann <gerd@gnu.org>
7947
52283633 7948 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7949
efffeeb4
DL
79502000-09-28 Dave Love <fx@gnu.org>
7951
ecb8b666
DL
7952 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7953
dc3cd20f
DL
7954 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7955
7956 * .gdbinit (xreload): Note its need on GNU/Linux.
7957
efffeeb4
DL
7958 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7959 r_alloc, r_alloc_free.
7960
8610d903
KH
79612000-09-28 Kenichi Handa <handa@etl.go.jp>
7962
7963 * syntax.c (skip_chars): Handle negation correctly.
7964
8901d1ac
GM
79652000-09-27 Gerd Moellmann <gerd@gnu.org>
7966
6f22f1ad
GM
7967 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7968 with non-zero FORCE_P argument.
7969
52283633 7970 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7971 Add assertions.
7972
7973 * xdisp.c (window_box_height): Add an assertion.
7974
7975 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7976 tool-bar than is available.
7977 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7978
36f1966f
DL
79792000-09-27 Dave Love <fx@gnu.org>
7980
efffeeb4 7981 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7982
31d929e5
GM
79832000-09-26 Gerd Moellmann <gerd@gnu.org>
7984
c98863bf
GM
7985 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7986 instead of BITS_PER_INT.
7987 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7988 EMACS_UINT, respectively.
7989 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7990
7991 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7992
7993 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7994
77072ab1
GM
7995 * window.c (freeze_window_starts): Construct last argument for
7996 foreach_window differently.
7997
7998 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7999
8000 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8001 EMACS_UINT instead of `int' and `unsigned int'.
8002 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8003
8004 * frame.h (struct frame): Make the `nothing' member of union
8005 output_data an EMACS_INT.
8006
52283633 8007 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8008 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8009 size in the sdata structure.
8010 (SDATA_NBYTES, SDATA_DATA): New macros.
8011 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8012 differently for the different layout of the sdata structure.
8013 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8014 in sdata.
8015 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8016 Check that size recorded in the string size and size recorded in
8017 the sdata structure agree.
8018
3e60b029
DL
80192000-09-25 Dave Love <fx@gnu.org>
8020
8021 * buffer.c: Include stdio.h.
8022
8023 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8024
3e60b029
DL
8025 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8026
8027 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8028 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8029 (__malloc_extra_blocks): Declare as __malloc_size_t.
8030
8ff16b4e
GM
80312000-09-25 Gerd Moellmann <gerd@gnu.org>
8032
755a2ccd
GM
8033 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8034
d8b4516f
GM
8035 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8036 (read_char): If help-echo is showing, preserve the echo area
8037 when redisplaying.
8038
8039 * xdisp.c (help_echo_showing_p): New variable.
8040 (set_message): Reset it to 0.
8041 (init_xdisp): Initialize help_echo_showing_p.
8042
8043 * dispextern.h (help_echo_showing_p): Declare extern.
8044
8045 * config.in: Fix typo in __GNUC_MINOR__.
8046
8047 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8048
b11af2dd
GM
8049 * s/freebsd.h (POSIX_SIGNALS): Define.
8050
8ff16b4e
GM
8051 * xterm.c (x_clear_mouse_face): Block/unblock input.
8052
844eb643
DL
80532000-09-24 Dave Love <fx@gnu.org>
8054
8055 * fns.c (base64_encode_1): Fix last change.
8056
b30ab1b3
GM
80572000-09-22 Gerd Moellmann <gerd@gnu.org>
8058
8059 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8060
8061 * xdisp.c (try_window_reusing_current_matrix): More fixes
8062 for the case window has a header-line.
8063
c6cbe5f0
DL
80642000-09-22 Dave Love <fx@gnu.org>
8065
4c7c1f3f
DL
8066 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8067 a doc string.
8068
8069 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8070
c6cbe5f0
DL
8071 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8072
550a625e
GM
80732000-09-21 Gerd Moellmann <gerd@gnu.org>
8074
4c7c1f3f 8075 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8076 for GCC >= 2.5.
8077
52283633
SM
8078 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8079 Declare NO_RETURN.
fca99116 8080
80d26f99
GM
8081 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8082 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8083 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8084 warnings.
52283633 8085
80d26f99
GM
8086 * marker.c (byte_char_debug_check): Return void.
8087
623a0aae
GM
8088 * xfns.c (Fx_create_frame): Set default frame parameter value
8089 for tool-bar-lines to 1.
8090
8091 * dispnew.c (scrolling_window): Compare y-positions of rows
8092 equal at the start. Some simplification.
8093
8094 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8095 reused rows' y-position in the case window has a header-line, and
8096 new window start is greater than old window start.
8097
42ac0ae5
GM
8098 * process.c (process_sent_to): New variable.
8099 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8100 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8101 Declare more parameters volatile.
8102
550a625e
GM
8103 * lread.c (Vrecursive_load_depth_limit): New variable.
8104 (Fload): Check recursive loads whose recursion depth exceeds
8105 Vrecursive_load_depth_limit.
8106 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8107
8320414c
GM
81082000-09-20 Gerd Moellmann <gerd@gnu.org>
8109
f46c275e
GM
8110 * fileio.c (Fread_file_name): Doc fix.
8111
8112 * editfns.c (Fmessage_or_box): Doc fix.
8113
8114 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8115
b7e11c5b 8116 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8117
8320414c
GM
8118 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8119 symbols are specified, add color translations to the cache.
52283633 8120 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8121 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8122 xpm_cache_color.
8123 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8124 structures to xpm_init_color_cache.
8125
da1608d9
GM
81262000-09-19 Gerd Moellmann <gerd@gnu.org>
8127
52283633 8128 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8129
6badfa25
AI
81302000-09-19 Andrew Innes <andrewi@gnu.org>
8131
8132 * makefile.nt (bootstrap-emacs): Don't change directory.
8133
3a5f42bb
KH
81342000-09-19 Kenichi Handa <handa@etl.go.jp>
8135
1b7649bd
KH
8136 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8137
3a5f42bb
KH
8138 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8139 If output buffer is too small, signal an appropriated error.
8140
9f83cf0b
DL
81412000-09-18 Dave Love <fx@gnu.org>
8142
52283633 8143 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8144 (current_active_maps): Remove redundant get_local_map call.
8145
28c7826c
GM
81462000-09-18 Gerd Moellmann <gerd@gnu.org>
8147
5cefa566
GM
8148 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8149 cursor for buffers whose cursor_type is nil.
52283633 8150
6fed3546
GM
8151 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8152 a feature to implement that is already implemented.
8153 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8154 warnings.
8155
8156 * xfns.c (x_clear_image_1): New function.
8157 (x_clear_image): Use it.
52283633 8158 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8159
05b1f851
GM
8160 * dispnew.c (update_window): Move test for invisible lines
8161 at the top to update_window_line.
8162 (update_window_line): Handle invisible lines here.
8163
f4779de9
GM
8164 * xfns.c (clear_image_cache): Clear current matrices of all
8165 frames sharing an image cache. Block input while freeing
8166 images. Fix timestamp comparison.
8167 (x_clear_image): Also free the mask.
8168
28c7826c
GM
8169 * xfns.c (lookup_image): Block input while loading the image so
8170 that we won't get interrupted in a state where the image isn't yet
8171 set up completely.
8172 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8173 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8174 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8175 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8176
b7412313
GM
81772000-09-16 Gerd Moellmann <gerd@gnu.org>
8178
8179 * dispnew.c (update_window): Make sure to make desired rows
8180 current even if they are completely invisible at the top
8181 of a window.
8182
47e351a3
GM
81832000-09-15 Gerd Moellmann <gerd@gnu.org>
8184
7f8f1edc
GM
8185 * xfns.c (lookup_image): Build mask before applying an algorithm.
8186 Recognize algorithm `disabled'.
8187 (cross_disabled_images): New variable.
8188 (COLOR_INTENSITY): New macro.
8189 (x_detect_edges): Use COLOR_INTENSITY.
8190 (x_disable_image): New function.
8191 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8192
8193 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8194 disabled state, don't apply an image transformation algorithm if
8195 the user specified an image for the disabled state. Use
28c7826c 8196 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8197 user hasn't specified an image.
8198
ebb8f116
GM
8199 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8200 allocation functions with the XPM lib.
8201 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8202 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8203 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8204 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8205 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8206 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8207 functions, if possible, because these handle color allocation
8208 failure more gracefully.
8209 (Fimage_mask_p): New function.
8210
47e351a3
GM
8211 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8212 (Qedge_detection, Qheuristic): New symbols.
8213 (syms_of_xfns): Initialize new symbols.
8214 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8215 `algorithm (edge-detection ...)'.
8216 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8217 (tiff_format, gif_format, gs_format): Add `:mask'.
8218 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8219 (GIF_MASK, GS_MASK): New enumerators.
8220 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8221 (emboss_matrix, laplace_matrix): New variables.
8222 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8223 (x_edge_detection): New functions.
8224 (x_laplace): Rewritten in terms of x_detect_edges.
8225 (x_build_heuristic_mask): If image has a mask, free it.
8226
fe83b953
AI
82272000-09-14 Andrew Innes <andrewi@gnu.org>
8228
8229 * makefile.w32-in: Revert to Unix line endings.
8230
3021e816
AI
82312000-09-14 Andrew Innes <andrewi@gnu.org>
8232
8233 * makefile.w32-in: Standardize indentation somewhat.
8234 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8235 cater for differences between shells.
8236
8237 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8238
2a32b5ea
GM
82392000-09-14 Gerd Moellmann <gerd@gnu.org>
8240
8241 * xterm.c (x_produce_glyphs): If the distance from the current
8242 position to the next tab stop is less than a canonical character
8243 width, use the tab stop after that.
8244
b4331e96
DL
82452000-09-14 Dave Love <fx@gnu.org>
8246
8247 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8248
ef9e4345
GM
82492000-09-14 Gerd Moellmann <gerd@gnu.org>
8250
085536c2
GM
8251 * xdisp.c (handle_fontified_prop): While running fontification
8252 functions, bind `fontification-functions' and
8253 `after-change-functions' to nil.
8254
ef9e4345
GM
8255 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8256 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8257
8258 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8259
8260 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8261 USE_MMAP_FOR_BUFFERS.
8262
8263 * insdel.c (make_gap): Use enlarge_buffer_text.
8264
8265 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8266 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8267 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8268 from former r_alloc_* functions in ralloc.c.
52283633 8269 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8270 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8271 (mmap_init) [REL_ALLOC_MMAP]: New function.
8272 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8273 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8274 BUFFER_FREE.
8275
8276 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8277 (enlarge_buffer_text): Add prototype.
8278
8279 * ralloc.c: Remove everything having to do with the use of mmap.
8280
f8608968
GM
82812000-09-13 Gerd Moellmann <gerd@gnu.org>
8282
2a494b2d
GM
8283 * sound.c (Fplay_sound): Doc fix.
8284
8c907a56
GM
8285 * keyboard.c: Avoid some more compiler warnings.
8286 (parse_tool_bar_item): Ignore cached key bindings.
8287
f8608968
GM
8288 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8289 and allocation of Lisp data.
8290
6ab70e9a
GM
82912000-09-12 Gerd Moellmann <gerd@gnu.org>
8292
d12d0a9b
GM
8293 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8294 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8295 defaults first.
8296
6ab70e9a
GM
8297 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8298
63c36c3c
KH
82992000-09-12 Miyashita Hisashi <himi@meadowy.org>
8300
8301 * ccl.c: Comment fixed.
8302 (MAX_MAP_SET_LEVEL): Increased to 30.
8303 (PUSH_MAPPING_STACK): Enclose with do-while block.
8304 (POP_MAPPING_STACK): Likewise.
8305 (stack_idx_of_map_multiple): New variable.
8306 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8307 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8308 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8309 (ccl_driver) <CCL_MapSingle>: Likewise.
8310 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8311 with the case where looking up process reaches to the end of
8312 map-set, and call CCL programs as the above change.
8313
7ee3bd7b
GM
83142000-09-11 Gerd Moellmann <gerd@gnu.org>
8315
8ec8a5ec
GM
8316 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8317 that might be clobbered by longjmp.
8318 (check_x_display_info, x_decode_color, create_frame_xic)
8319 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8320 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8321
f74b0705
GM
8322 * lread.c (init_lread): Set Vloads_in_progress to nil.
8323 (Fload): Show list of recursively loaded files, when signaling an
8324 error.
8325
7ee3bd7b
GM
8326 * lread.c (Vloads_in_progress): New variable.
8327 (record_load_unwind): New function.
8328 (Fload): Check for recursive loads.
8329 (syms_of_lread): Initialize Vloads_in_progress.
8330 (read_integer, read1): Avoid some compiler warnings.
8331
8332 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8333 compiler warnings.
8334
974e1e5b
MB
83352000-09-11 Miles Bader <miles@gnu.org>
8336
8337 * editfns.c (Fbuffer_string): Doc fix.
8338
9824c4e3
GM
83392000-09-10 Gerd Moellmann <gerd@gnu.org>
8340
8341 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8342
6a72fdd1
KR
83432000-09-09 Ken Raeburn <raeburn@gnu.org>
8344
8345 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8346 whether to include other header files.
8347
28e6fb66
GM
83482000-09-09 Gerd Moellmann <gerd@gnu.org>
8349
52283633 8350 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8351 by Fmemq as a boolean.
28e6fb66 8352
7f8b6551
SM
83532000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8354
8355 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8356
a8710abf
GM
83572000-09-08 Gerd Moellmann <gerd@gnu.org>
8358
d1a02881
GM
8359 * ralloc.c (mmap_fd): Remove initializer which can make it
8360 read-only in a dumped Emacs.
8361 (mmap_fd_1): New variable.
8362 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8363 restore it from there.
8364 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8365 unconditionally so that mmap_fd can be initialized there.
8366 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8367 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8368 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8369
c454aac1
GM
8370 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8371
8372 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8373 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8374
fc653ef2
GM
8375 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8376
3015eec0
GM
8377 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8378 inheritance.
8379
bfe0ee88
GM
8380 * xdisp.c (try_window_id): When trying to locate cursor in
8381 unchanged rows at the top, handle the case that we can't find it.
8382
a8710abf
GM
8383 * xterm.c (x_draw_glyphs): Handle case START and END are out
8384 of bounds more carefully.
8385
6b7d4ae4
DL
83862000-09-08 Dave Love <fx@gnu.org>
8387
423193c5
DL
8388 * s/sol2.h (REL_ALLOC_MMAP): Define.
8389 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8390
8391 * ralloc.c: Don't include string.h (redundant).
8392 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8393 [!MAP_ANON]: Include fcntl.h.
8394 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8395 (r_alloc, r_re_alloc, r_alloc_free)
8396 (mmap_enlarge, mmap_set_vars): Use it.
8397 (r_alloc_init_fd): New function.
8398 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8399 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8400 malloc type.
8401
8402 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8403 Remove vm-limit.o.
8404
6b7d4ae4
DL
8405 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8406 change to __NetBSD__.
8407
44d31981
KH
84082000-09-08 Kenichi Handa <handa@etl.go.jp>
8409
8410 * search.c (compile_pattern): Check the multibyteness of cached
8411 string and PATTERN.
8412
aad40737
MB
84132000-09-08 Miles Bader <miles@gnu.org>
8414
8415 * xfaces.c (default_face_vector): Function removed.
8416 (Finternal_merge_in_global_face): Restore old global/local
8417 attribute override order. Use inline loop instead of calling
8418 default_face_vector.
8419
91a211b5
GM
84202000-09-07 Gerd Moellmann <gerd@gnu.org>
8421
8422 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8423 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8424 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8425 where necessary, in case POINTER_TYPE is `void'.
8426
03419440
EZ
84272000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8428
8429 * frame.c (make_terminal_frame): Initialize frame foreground and
8430 background colors to unspecified, for the initial instance of an
8431 MSDOS frame.
8432
f46f845b
GM
84332000-09-07 Gerd Moellmann <gerd@gnu.org>
8434
24f76fbf
GM
8435 * ralloc.c (mmap_find): Fix overlap computation.
8436 (mmap_enlarge): Compute nbytes before trying to find an
8437 overlapping region.
8438
f46f845b
GM
8439 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8440 instead of `!='.
8441
8442 * lread.c (syms_of_lread): Change value of regexp
8443 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8444
8445 * xmenu.c (xdialog_show): When looking up the selection in
8446 menu_items, take `quote' boundaries into account; this corresponds
8447 to a nil ITEM in x-popup-dialog.
8448
3c014385
KH
84492000-09-07 Kenichi Handa <handa@etl.go.jp>
8450
fd6f711b
KH
8451 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8452 not 0x81.
8453 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8454
3c014385 8455 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8456 encoding, not decoding. Fix the handling of latin-jisx0201.
8457 Check for the charset katakana-jisx0201 too.
3c014385 8458 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8459 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8460
0da3ecef
GM
84612000-09-07 Gerd Moellmann <gerd@gnu.org>
8462
ab0ee409
GM
8463 * xfaces.c (Vparam_value_alist): New variable.
8464 (syms_of_xfaces): Initialize it.
8465 (Finternal_set_lisp_face_attribute): Avoid more consing.
8466
8467 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8468 specially.
8469 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8470 (Qbackground_mode): New variable.
8471 (syms_of_frame_1): Initialize Qbackground_mode.
8472
8473 * lisp.h (Qdisplay): Declare extern.
1091dd67 8474
0da3ecef
GM
8475 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8476 change face on all frames, and change the default for new frames.
8477
b14654b9
DL
84782000-09-07 Dave Love <fx@gnu.org>
8479
8480 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8481
d24fd56f
KH
84822000-09-07 Kenichi Handa <handa@etl.go.jp>
8483
794f3670
KH
8484 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8485
0fddd0dc
KH
8486 * charset.c: Include composite.h
8487 (lisp_string_width): New function.
8488 (Fstring_width): Call lisp_string_width instead of strwidth.
8489
8490 * Makefile.in (charset.o): Depends on composite.h.
8491
d24fd56f
KH
8492 * process.c (read_process_output): Before inserting the decoded
8493 text in the buffer, adjust the multibyteness.
8494
fa0b693c
GM
84952000-09-06 Gerd Moellmann <gerd@gnu.org>
8496
52283633 8497 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8498 buffer's text buffer is null, map new memory.
8499
0a58f946
GM
8500 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8501 POINTER_TYPE and size_t.
8502 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8503 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8504 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8505 [REL_ALLOC_MMAP]: New macros.
8506 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8507 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8508 [REL_ALLOC_MMAP]: New functions.
8509
8510 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8511 before and after unexec.
8512
8513 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8514 text buffers if necessary.
8515
8516 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8517 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8518 in prototypes.
8519
fa0b693c
GM
8520 * config.in (HAVE_MMAP): Add #undef.
8521
877055f6
GM
85222000-09-05 Gerd Moellmann <gerd@gnu.org>
8523
08ba3862
GM
8524 * frame.c (Qdisplay_type): New variable.
8525 (syms_of_frame_1): Initialize it.
8526 (Fframe_parameter): New function that avoids consing.
8527 (syms_of_frame): Defsubr it.
8528
66ffe51c
GM
8529 * buffer.c (Fother_buffer): Consider buffers as invisible when
8530 they are displayed in a window on an invisible frame.
8531
877055f6
GM
8532 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8533 get-largest-window always return nil.
8534
bb970e67
GM
85352000-09-04 Gerd Moellmann <gerd@gnu.org>
8536
8537 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8538 variable; recognize Emacs 19 elc files.
8539
7a3d0e0e
MB
85402000-09-04 Miles Bader <miles@gnu.org>
8541
8542 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8543 before initially popping up the menu, so the menu doesn't flash
52283633 8544 when the face settings are significantly different from the defaults.
7a3d0e0e 8545
14473664
SM
85462000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8547
8548 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8549 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8550 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8551 (BIT_UNIBYTE): Remove.
8552 (re_match_2_internal): Delete corresponding code and streamline the
8553 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8554 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8555 (re_wctype_t): New type.
8556 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8557 (regex_compile): Use them and fix handling of overly long char classes.
8558
c1174479
AI
85592000-09-03 Andrew Innes <andrewi@gnu.org>
8560
f8803e97
AI
8561 * makefile.w32-in: Change to DOS line endings.
8562
c1174479
AI
8563 * s/ms-w32.h (ORDINARY_LINK): New define.
8564
8565 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8566 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8567
8568 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8569 (distclean): Delete them here instead.
8570
44ef7cf6
AI
8571 * w32proc.c (compare_env): Convert to uppercase for comparison,
8572 not lowercase, to match how the native Windows shell works.
8573
49b3bd82
JR
85742000-09-03 Jason Rumney <jasonr@gnu.org>
8575
8576 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8577 CVS changes the line-ends when checking in/out on DOS/Windows.
8578
8579 * makefile.nt (emacs): Do not change directory to run temacs, as
8580 the load-path is set relative to current directory.
8581
a3d35a39
MB
85822000-09-03 Miles Bader <miles@gnu.org>
8583
8584 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8585
d276b0cf
GM
85862000-09-02 Gerd Moellmann <gerd@gnu.org>
8587
715e84c9
GM
8588 * xdisp.c (redisplay_mode_lines): New function.
8589 (display_mode_lines): Return number of mode lines displayed.
8590 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8591 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8592
8892f40b
GM
8593 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8594 string.h and strings.h.
8595 (index) [HAVE_INDEX]: Add prototype.
8596
d276b0cf
GM
8597 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8598 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8599
8600 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8601 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8602
38404229
GM
86032000-09-01 Gerd Moellmann <gerd@gnu.org>
8604
8605 * lread.c (read1): Accept `?' as symbol constituent, for
8606 compatiblity with XEmacs.
8607
c0f9ea08
SM
86082000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8609
8610 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8611 (struct re_pattern_buffer): Remove newline_anchor.
8612 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8613 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8614 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8615 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8616 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8617 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8618 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8619 Get rid of references to newline_anchor.
8620 (regcomp): Allocate and precompute a fastmap.
8621
8c0f83fe
GM
86222000-08-31 Gerd Moellmann <gerd@gnu.org>
8623
8624 * lread.c (openp): GCPRO local variable `filename'.
8625
4bb91c68
SM
86262000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8627
8628 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8629
8630 * regex.c: Merge some changes from GNU libc. Add prototypes.
8631 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8632 Use memcmp and memcpy instead of bcopy and bcmp.
8633 (init_syntax_once): Use ISALNUM.
8634 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8635 (REG_UNSET_VALUE): Remove. Use NULL instead.
8636 (REG_UNSET, re_match_2_internal): Use NULL.
8637 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8638 New macros.
8639 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8640 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8641 (regex_compile): In handle_interval, return an error rather than try to
8642 unfetch the interval if we can't find the closing brace.
8643 Obey the RE_NO_GNU_OPS syntax bit.
8644 (TOLOWER): New macro.
8645 (regcomp): Use it.
8646 (regexec): Allocate regs.start and regs.end as one block.
8647
5226a931
GM
86482000-08-30 Gerd Moellmann <gerd@gnu.org>
8649
868dd24b
GM
8650 * xdisp.c (echo_area_display): Check display_completed instead
8651 of calling detect_input_pending.
8652
8653 * dispnew.c (update_frame): Only set display_completed here; move
8654 the update_begin and update_end calls here from update_frame_1.
8655 (update_frame_1): Don't set display_completed here, don't call
8656 update_begin/update_end.
8657
5226a931
GM
8658 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8659 instead of store_frame_param.
8660
2a8bd25f
GM
86612000-08-29 Gerd Moellmann <gerd@gnu.org>
8662
8663 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8664 desired window matrix hasn't been displayed, use the current row
8665 instead. Make sure that only those frame rows are updated for
8666 which there exists a corresponding enabled desired row.
52283633 8667
ba3478d9
MB
86682000-08-29 Miles Bader <miles@gnu.org>
8669
8670 * xfaces.c (default_face_vector): New function.
8671 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8672
87d0f685
GM
86732000-08-29 Gerd Moellmann <gerd@gnu.org>
8674
8675 * lread.c (openp): Prevent temporary string passed to
8676 Ffile_readable_p from being garbage collected.
8677
6fa86045
DL
86782000-08-28 Dave Love <fx@gnu.org>
8679
8680 * keymap.c (store_in_keymap): Add `static' to declaration.
8681
bb17930d
GM
86822000-08-28 Gerd Moellmann <gerd@gnu.org>
8683
8684 * emacs.c, callint.c, doc.c, editfns.c
8685 (toplevel) [HAVE_STRING_H]: Include string.h.
8686 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8687 (index): Remove prototypes which might conflict with non-standard
8688 definitions of index/strchr.
8689
8690 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8691 (rindex): Define only if !HAVE_RINDEX.
8692
8693 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8694
8695 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8696
87188200
MB
86972000-08-28 Miles Bader <miles@gnu.org>
8698
8699 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8700 made inconsistent by a font-related attribute in FROM.
8701 (merge_face_inheritance): Add function comment.
8702
41a68aef
KH
87032000-08-28 Kenichi Handa <handa@etl.go.jp>
8704
8705 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8706 the 4th arg (PREV_EVENT) Qt to suppress input method.
8707
f7c436c1
SM
87082000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8709
0b32bf0e
SM
8710 * regex.c: Indent cpp directives and remove parens after `defined'.
8711 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8712 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8713 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8714 (re_compile_pattern): Use size_t for length.
8715 (init_syntax_once): Move to a better place.
8716 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8717 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8718
f7c436c1
SM
8719 * syntax.c (back_comment): Detect cases where a comment-starter is
8720 actually inside another comment as in: /* a // b */ c // d \n.
8721 Make it clear that `comstart_pos' is unused for nested comments.
8722
8723 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8724 (KEYMAPP): New macro.
8725 (Fkeymap_parent, Fset_keymap_parent): Use it.
8726 (fix_submap_inheritance): Mark it static.
8727 (define_as_prefix, describe_buffer_bindings, describe_command)
8728 (describe_translation, describe_map): Complete prototypes.
8729
8730 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8731
8732 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8733 to better match the key-lookup behavior.
8734
6288c62f
GM
87352000-08-27 Gerd Moellmann <gerd@gnu.org>
8736
8737 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8738 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8739
e931344e
EZ
87402000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8741
8742 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8743 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8744 (xterm.o): Depend on coding.h
8745
d10dfeef
KH
87462000-08-26 Kenichi Handa <handa@etl.go.jp>
8747
8748 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8749 the corresponding '#endif'.
8750
2d73e8d3
MB
87512000-08-26 Miles Bader <miles@gnu.org>
8752
8753 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8754 * xfaces.c (QCinherit): New variable.
8755 (syms_of_xfaces): Initialize it.
8756 (LFACE_INHERIT): New macro.
8757 (Finternal_get_lisp_face_attribute)
52283633 8758 (merge_face_vector_with_property)
2d73e8d3
MB
8759 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8760 (check_lface_attrs): Allow new types of face height. Check
8761 inherit attribute.
8762 (CYCLE_CHECK): New macro.
8763 (merge_face_inheritance): New function.
8764 (merge_face_vectors): Merge inherited faces too. Add F and
8765 CYCLE_CHECK arguments.
8766 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8767 (lookup_named_face, lookup_derived_face, realize_named_face)
8768 (face_at_string_position, face_at_buffer_position): Supply
8769 new F and CYCLE_CHECK arguments to merge_face_vectors.
8770 (merge_face_heights): New function.
52283633 8771 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8772 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8773 handle relative face heights.
8774 (lface_same_font_attributes_p): Compare heights using EQ.
8775
6ce974d4
KH
87762000-08-26 Kenichi Handa <handa@etl.go.jp>
8777
8778 * charset.c (char_to_string): Check the character validity.
52283633 8779 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8780
dc1e502d
SM
87812000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8782
8783 * regex.c (PUSH_FAILURE_COUNT): New macro.
8784 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8785 Handle popping of a register's or a counter's data.
8786 (POP_FAILURE_POINT): Use the new name.
8787 (re_match_2_internal): Push counter data on the stack for succeed_n,
8788 jump_n and set_number_at and remove misleading dead code in succeed_n.
8789
bd9d0f3f
GM
87902000-08-25 Gerd Moellmann <gerd@gnu.org>
8791
8792 * xdisp.c (redisplay_internal): If considering all windows on all
8793 frames, update the display for each frame as soon as possible,
8794 instead of first building all desired matrices for all frames, and
8795 then updating them all.
8796 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8797
aa5b8e15
GM
87982000-08-24 Gerd Moellmann <gerd@gnu.org>
8799
17494071
GM
8800 * bytecode.c (mark_byte_stack): Add a comment.
8801
52283633
SM
8802 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8803 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8804 a graphical frame.
8805
c543db81
KH
88062000-08-24 Kenichi Handa <handa@etl.go.jp>
8807
d246d5f5
KH
8808 * minibuf.c (do_completion): Always use compare-string, not
8809 string-equal because the latter doesn't pay attention to
8810 multibyteness of strings.
8811
c543db81
KH
8812 * process.c (create_process): Don't setup raw-text coding here.
8813 (Fopen_network_stream): Don't set coding->src_multibyte and
8814 coding->dst_multibyte here.
8815 (read_process_output): For process filter, return unibyte string
8816 if default-enable-multibyte-characters is nil.
8817 (send_process): If OBJECT is multibyte text, be sure to encoded it
8818 by the specified coding system for the process. Otherwise, setup
8819 raw-text coding.
52283633 8820 (init_process): Don't initialize default-process-coding-system here.
c543db81 8821
9b47cfe0
EZ
88222000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8823
8824 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8825 <scroll-down-aggressively>: Likewise.
8826
f5a36960
KH
88272000-08-23 Kenichi Handa <handa@etl.go.jp>
8828
8829 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8830 zero. Set coding->produced_char correctly.
8831
69a7ffa7
AI
88322000-08-22 Andrew Innes <andrewi@gnu.org>
8833
8834 * makefile.w32-in: New file.
8835
8836 * unexw32.c (unexec): Ignore old_name, and use the actual location
8837 of the current executable instead. Base new_name on this.
8838
8839 * w32proc.c (create_child): Remove reference to security
8840 descriptor, which isn't needed and doesn't compile with mingw32.
8841
8842 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8843 up dllimport attributes.
8844 (x_update_window_end): Update prototype.
8845
8846 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8847 extern, which screws up dllimport attributes.
8848
8849 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8850 up dllimport attributes.
8851
8852 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8853 screws up dllimport attributes.
8854
8855 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8856 up dllimport attributes.
8857 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8858 screws up dllimport attributes.
8859
8860 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8861 up dllimport attributes.
8862
8863 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8864 screws up dllimport attributes.
8865
8866 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8867 screws up dllimport attributes.
8868
8869 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8870 up dllimport attributes.
8871
8872 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8873 unnecessary extern, which screws up dllimport attributes.
8874 (main): Ditto.
8875
8876 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8877 up dllimport attributes.
8878
8879 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8880 unnecessary extern, which screws up dllimport attributes.
8881
8882 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8883 screws up dllimport attributes.
8884
8885 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8886 up dllimport attributes.
8887
8888 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8889
52283633
SM
8890 * w32bdf.c (search_file_line):
8891 (set_bdf_font_info):
8892 (seek_char):
8893 (w32_get_bdf_glyph):
69a7ffa7
AI
8894 (w32_BDF_to_x_font): Fix compile warnings.
8895
52283633 8896 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8897
8898 * w32select.c: Include keyboard.h before frame.h.
8899
8900 * w32fns.c (max): Define macro.
8901 (JOHAB_CHARSET): Define if not known.
8902 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8903 (Fx_show_tip): Synch with X version.
8904
8905 * w32xfns.c: Include keyboard.h before frame.h.
8906
8907 * w32fns.c: Include keyboard.h before frame.h.
8908
8909 * w32term.c: Include keyboard.h before frame.h.
8910
8911 * fontset.c: Include keyboard.h before frame.h.
8912
8913 * w32inevt.c: Include keyboard.h before frame.h.
8914 (MOUSE_MOVED): Define if not known.
8915
8916 * minibuf.c: Include keyboard.h before frame.h.
8917
8918 * keyboard.c: Include keyboard.h before frame.h.
8919
8920 * indent.c: Include keyboard.h before frame.h.
8921
8922 * dispnew.c: Include keyboard.h before frame.h.
8923
8924 * buffer.c: Include keyboard.h before frame.h.
8925
8926 * alloc.c: Include keyboard.h before frame.h.
8927
8928 * print.c: Include keyboard.h before frame.h.
8929
8930 * process.c: Include keyboard.h before frame.h.
8931
8932 * scroll.c: Include keyboard.h before frame.h.
8933
8934 * sysdep.c: Include keyboard.h before frame.h.
8935
8936 * term.c: Include keyboard.h before frame.h.
8937
8938 * window.c: Include keyboard.h before frame.h.
8939
8940 * xdisp.c: Include keyboard.h before frame.h.
8941 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8942
8943 * frame.c: Include keyboard.h before frame.h.
8944
8945 * w32heap.h: Undefine min, max.
8946
8947 * w32gui.h: Undefine min, max.
8948
8949 * unexw32.c: Change PUCHAR to PCHAR.
8950 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8951 (relocate_offset):
8952 (get_section_info):
69a7ffa7
AI
8953 (copy_executable_and_dump_data): Remove unnecessary static defs.
8954 (copy_executable_and_dump_data): Fix compile warnings.
8955
8956 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8957
8958 * w32console.c (min): Define macro.
8959 (clear_frame, write_glyphs): Fix compile warning.
8960
52283633 8961 * w32proc.c (compare_env):
69a7ffa7
AI
8962 (find_child_console): Fix compile warning.
8963
8964 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8965 sys_errlist instead of _sys_errlist.
8966 (get_emacs_configuration_options): New function.
8967
8968 * s/ms-w32.h (sys_nerr): Provide default definition.
8969 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8970 name with _ prepended.
8971 (NSIG): Define if not known.
8972 (get_emacs_configuration): Provide extern declaration.
8973 (get_emacs_configuration_options): Provide extern declaration.
8974 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8975
8976 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8977 (map_w32_filename):
69a7ffa7
AI
8978 (read_unc_volume): Fix compile warning.
8979
8980 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8981 definitions from being used.
8982
8983 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8984
52283633 8985 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8986 (open_unc_volume): Make arg const.
8987
8988 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8989 (read_input_waiting): Remove excess parameter.
8990
8991 * w32.c (init_environment): Call _access.
8992 (check_windows_init_file): Call _close.
8993 (init_user_info): Call _putenv.
8994 (init_environment): Call _putenv and _strdup.
8995 (init_ntproc): Reset volume info cache on startup.
8996
8997 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8998 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8999 cannot override the CRT malloc.
9000
9001 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9002 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9003
9004 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9005 unless we are linking with a static CRT.
9006 (RVA_TO_PTR): Cast result to unsigned char*.
9007
9008 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9009 (add_volume_info): Use xstrdup.
9010
25060080
SM
90112000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9012
9013 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9014 (do_completion, Fminibuffer_complete_word): Use it.
9015 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9016 var so it can take non-boolean values.
9017
6917e6bb
GM
90182000-08-21 Gerd Moellmann <gerd@gnu.org>
9019
acb7cc89 9020 * editfns.c (find_field): Formatting changes.
52283633 9021 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9022 changed to prototypes, some new protypes added, some functions
9023 made static.
9024
9025 * lisp.h (set_time_zone_rule): Add prototype.
9026 (use_dialog_box): External declaration.
9027
0bbfdc25
GM
9028 * keyboard.c (gen_help_event): Add parameter SIZE.
9029 (kbd_buffer_events_waiting): Slightly rewritten.
9030 (clear_event): New function.
9031 (kbd_buffer_get_event): Use it, and clear the input_events of
9032 HELP_EVENTs.
9033 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9034 don't fill the newly created array with nils.
9035 (toplevel): Convert some old-style function forward declarations
9036 to prototypes.
9037
9038 * keyboard.h (gen_help_event): Change prototype.
9039
9040 * xterm.c (XTread_socket): Change calls to gen_help_event.
9041
9042 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9043
6917e6bb
GM
9044 * eval.c (Fmacroexpand): Doc fix.
9045
e5cd3d11
JR
90462000-08-20 Jason Rumney <jasonr@gnu.org>
9047
9048 * w32term.h (x_display_info_for_display): Remove as this function
9049 does not exist on W32.
9050
9051 * w32term.c (help_echo_window): New variable.
9052 (syms_of_w32term): staticpro it.
9053 (note_mode_line_highlight): Set it.
9054 (XTextExtents16): Removed as there is no equivalent on W32.
9055 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9056 the X way of doing this will not work for W32.
9057 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9058 (x_draw_image_foreground): Avoid drawing outside of the clip area
9059 when image doesn't have a mask.
9060 (note_mouse_highlight): Process overlays in the right order of
9061 priority. Set help_echo_window.
9062 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9063 because that's more visible for large images.
9064
9065 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9066 name to single_keymap_panes.
9067 (w32_menu_show): Set wv->title when dealing with titles.
9068 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9069
6e69ab8c
MB
90702000-08-21 Miles Bader <miles@gnu.org>
9071
9072 * minibuf.c (do_completion): Try again if we rewrite the input
9073 string, but no completion was done, so that any completion message
9074 will be correct.
9075
511bd4eb
GM
90762000-08-20 Gerd Moellmann <gerd@gnu.org>
9077
9078 * xfaces.c (lface_equal_p): Compare strings differently.
9079 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9080 (realize_tty_face): Use them.
9081 (syms_of_xfaces): Initialize new variables.
9082 (map_tty_color): New function, extracted from realize_tty_face.
9083 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9084 foreground or background color, store the new color name in the
9085 realized face; previous code trying to do this had no effect.
9086 (realize_tty_face): Use map_tty_color.
9087 (Fclear_face_cache): Set face_change_count and ensure thorough
9088 redisplay.
9089
1433385f
GM
90902000-08-19 Gerd Moellmann <gerd@gnu.org>
9091
511bd4eb
GM
9092 * undo.c (record_first_change, record_marker_adjustment): Don't
9093 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9094
419ac0a2
KH
90952000-08-18 Kenichi Handa <handa@etl.go.jp>
9096
9097 * coding.c (decode_coding_string): Set members consumed,
9098 consumed_char, produced, produced_char of *coding correctly. If
9099 decode_coding doesn't consume any byte, don't try anymore.
9100 (encode_coding_string): Likewise.
9101
7eb9e30d
GM
91022000-08-18 Gerd Moellmann <gerd@gnu.org>
9103
511bd4eb
GM
9104 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9105 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9106
9107 * xdisp.c (redisplay_internal): Compare windows for equality with
9108 EQ, instead of applying XWINDOW to something that might not
9109 be a window.
52283633 9110
dd34a735
KH
91112000-08-18 Kenichi Handa <handa@etl.go.jp>
9112
9113 * fontset.c (Finternal_char_font): Search only the selected frame
9114 for a window of the current buffer.
9115
385ff9e3
GM
91162000-08-18 Gerd Moellmann <gerd@gnu.org>
9117
511bd4eb 9118 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9119 Lisp_Objects.
9120
385ff9e3
GM
9121 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9122 second half of a HELP_EVENT is found at the start of kbd_buffer.
9123
d6abb4c7
MB
91242000-08-18 Miles Bader <miles@gnu.org>
9125
4618074a
MB
9126 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9127
d6abb4c7
MB
9128 * editfns.c (save_restriction_save): Rewrite to use markers.
9129 (save_restriction_restore): Rewrite to understand new form of data
9130 saved by save_restriction_save.
9131 (Fsave_restriction): Remove cautionary note in doc-string.
9132
a7b28523
GM
91332000-08-17 Gerd Moellmann <gerd@gnu.org>
9134
9135 * fileio.c (build_annotations): Add a comment explaining the
9136 return value of format-annotate-function. Replace a spurious call
9137 to Flength with a CONSP test. Call format-annotate-function with
9138 a fifth arg specifying how many times the function is been called
9139 in a row, to let it choose temporary buffers appropriately.
9140
03c9ed77
DL
91412000-08-17 Dave Love <fx@gnu.org>
9142
9143 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9144 declare make_temp_name twice.
9145
52283633 9146 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9147 (unreadpure): Give it an arg.
9148
9149 * unexalpha.c: Prototype fatal_unexec, mark_x,
9150 update_dynamic_symbols. Declare unexec as void.
9151
9152 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9153 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9154
9155 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9156 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9157
9158 * alloca.c: Use #error.
9159 [POINTER_TYPE]: Use it.
9160
9161 * eval.c (Fdefvar): Doc fix.
9162
9163 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9164 INITIALIZE_INTERVAL.
9165
9166 * buffer.h: Avoid DECLARE_INTERVALS.
9167
9168 * config.in: Add size_t.
9169
aae41d97
EZ
91702000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9171
9172 * w16select.c (set_clipboard_data): If there's not enough memory
9173 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9174 expects. In case of other failures, return 3.
9175 (system_error_msg): New error message.
9176 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9177 system_error_msg.
9178
65aa5e85
GM
91792000-08-16 Gerd Moellmann <gerd@gnu.org>
9180
9181 * term.c (write_glyphs): Also turn off inverse video after turning
9182 off other appearances in case TS_exit_attribute_mode is not equal
9183 to TS_end_standout_mode.
9184 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9185 with the same face.
9186 (turn_off_face): Reset standout_mode only if
9187 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9188 is equal to TS_end_standout_mode.
9189
ece23901
KH
91902000-08-16 Kenichi Handa <handa@etl.go.jp>
9191
9d7bcb2e
KH
9192 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9193 sequence at the end of the source block.
9194
ece23901
KH
9195 * ccl.c (Fccl_program_p): Docstring modified.
9196 (Fccl_execute): Likewise.
9197 (Fccl_execute_on_string): Likewise.
9198
5e30eaa2
EZ
91992000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9200
9201 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9202
290602fd
KH
92032000-08-16 Kenichi Handa <handa@etl.go.jp>
9204
9205 The following changes are mainly to fix bugs of
9206 encode/decode-coding-string failing if encoding/decoding return
9207 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9208 variable conversion_buffer.
9209
9210 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9211 decrement dst_end to avoid buffer overflow in the later call of
9212 string_as_multibyte
9213
9214 * coding.h (conversion_buffer_size, conversion_buffer)
9215 (get_conversion_buffer): Extern deleted.
9216
9217 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9218 (conversion_buffer, conversion_buffer_size): Variables deleted.
9219 (get_conversion_buffer): Function deleted.
9220 (struct conversion_buffer): New structure.
9221 (MAX_ALLOCA): New macro.
9222 (allocate_conversion_buffer): New macro.
9223 (extend_conversion_buffer, free_conversion_buffer): New functions.
9224 (ccl_coding_driver): Set coding->result.
9225 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9226 this is the last block of source.
9227 (encode_coding): Likewise. Handle the source block as the last
9228 one only when the whole source text is consumed.
9229 (decode_coding_string): Handle the case that the output buffer is
9230 too small to decode the whole source text. Use
9231 allocate_conversion_buffer, extend_conversion_buffer and
9232 free_conversion_buffer, not get_conversion_buffer.
9233 (encode_coding_string): Likewise.
9234 (init_coding): Function deleted.
52283633 9235 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9236
9237 * emacs.c (main): Don't call init_coding.
9238
52283633 9239 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9240
9241 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9242 (insert_glyphs): Likewise.
9243
9244 * w32console.c (write_glyphs): Use a locally declared
9245 conversion_buffer.
9246
b9f80d41
EZ
92472000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9248
9249 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9250 member of display_info is NULL.
9251
32dc52f7
GM
92522000-08-15 Gerd Moellmann <gerd@gnu.org>
9253
52283633 9254 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9255
32dc52f7 9256 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9257 appearances with capability `me'.
32dc52f7
GM
9258 (write_glyphs): Switch on inverse video before each face change.
9259
4eb22d33
DL
92602000-08-14 Dave Love <fx@gnu.org>
9261
9262 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9263 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9264 (lisp_free): Declare and make static.
9265
9266 * window.c: Fix embedded comment.
9267 (syms_of_window): Fix doc string.
9268
90cbf47e
GM
92692000-08-14 Gerd Moellmann <gerd@gnu.org>
9270
52283633 9271 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9272 make sure to print `C-' before `M-', like in the manual.
9273
440fc135
GM
92742000-08-11 Gerd Moellmann <gerd@gnu.org>
9275
9276 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9277 since they aren't relocated anymore.
52283633 9278 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9279
9280 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9281 partially visible line which is smaller than the window's height.
440fc135 9282
6e264fad
KH
92832000-08-11 Kenichi Handa <handa@etl.go.jp>
9284
9285 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9286 the multibyte form of eight-bit-control characters.
6e264fad
KH
9287 (Fccl_execute_on_string): Initialize ccl->multibyte.
9288
9289 * ccl.h (struct ccl_program): New member multibyte.
9290
9291 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9292
c371f69a
KH
92932000-08-11 Kenichi Handa <handa@etl.go.jp>
9294
9295 * regex.c (regex_compile) <normal_char>: Pay attention to
9296 multibyteness.
9297 (analyse_first) <exactn>: Setup fastmap correctly for
9298 eight-bit-control characters.
9299
93002000-08-11 Kenichi Handa <handa@etl.go.jp>
9301
52283633 9302 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9303
9304 * keyboard.c (make_lispy_event): Handle the new event type
9305 multibyte_char_keystroke.
9306
9307 * xterm.c: Include coding.h.
9308 (XTread_socket): Work around a bug of XmbLookupString. If the
9309 input is from XIM, decode it according to the current locale. In
9310 that case, generate multibyte_char_keystroke events.
9311
b8ddbe71
KH
93122000-08-11 Kenichi Handa <handa@etl.go.jp>
9313
9314 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9315 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9316
47589c8c
GM
93172000-08-10 Gerd Moellmann <gerd@gnu.org>
9318
9319 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9320 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9321 (move_it_in_display_line_to): Record iterator's ascent and descent
9322 before producing glyphs, and restore them when we know the glyph
9323 doesn't fit on the line.
9324 (move_it_to): Restructured so that it's easier to debug. If
9325 moving to a vpos, and not moving to an x or character position,
9326 stop as soon as the specified vpos is reached; don't move further
9327 into that line because that might change the computed line height.
9328 (try_cursor_movement): New function, extracted from the cursor
9329 movement branch of redisplay_window. If ending on a partially
9330 visible line, don't try to scroll if the cursor line is taller
9331 than the window.
9332 (redisplay_window): Use try_cursor_movement.
9333
9334 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9335 because that function doesn't cope with variable-height lines.
9336
9337 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9338 box cursor because that's better visible for large images.
52283633 9339
c51bacd6
MB
93402000-08-10 Miles Bader <miles@gnu.org>
9341
9342 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9343
bea56df7
GM
93442000-08-10 Gerd Moellmann <gerd@gnu.org>
9345
9346 * xdisp.c (Vmessages_buffer_name): New variable.
9347 (message_dolog): Use it.
9348 (syms_of_xdisp): Initialize it.
9349
99cd7364
EZ
93502000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9351
52283633 9352 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9353 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9354 redundant now that keyboard.h is included.
9355
7d093d56
EZ
93562000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9357
9358 * keyboard.c (kbd_buffer_events_waiting): New function.
9359
9360 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9361
9362 * msdos.c: Include keyboard.h.
9363 (XMenuActivate): Empty no_event events from the event buffer. If
9364 no events are left after that, call clear_input_pending.
9365 (mouse_clear_clicks): New function, code moved from mouse_init.
9366 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9367 mouse driver to ``forget'' any past clicks.
9368
9369 * Makefile.in (msdos.o): Depend on keyboard.h.
9370
41e757a6
GM
93712000-08-09 Gerd Moellmann <gerd@gnu.org>
9372
8e7bd231
GM
9373 * lisp.h (input_pending): External declaration.
9374
9375 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9376
8e7bd231
GM
9377 * xdisp.c (echo_area_display): Display thoroughly if input is
9378 pending. Bind redisplay-dont-pause to t during the redisplay.
9379 in case input is pending.
9380
9381 * dispnew.c (Qredisplay_dont_pause): New variable.
9382 (syms_of_display): Initialize and staticpro it.
9383 (update_frame_1): Don't interrupt the display for pending input if
9384 redisplay_dont_pause is set.
52283633 9385
43028b7e
GM
9386 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9387
41e757a6
GM
9388 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9389
2f2174fa
KH
93902000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9391
9392 * callproc.c (Fcall_process): Terminate the unwind-protect around
9393 the post-read-conversion of coding system.
9394
0a6fd67e
MB
9395 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9396 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9397 * buffer.h (overlays_at): Update prototype.
9398 * xdisp.c (next_overlay_change): Update call to overlays_at.
9399 * xfaces.c (face_at_buffer_position): Likewise.
9400 * textprop.c (Fget_char_property): Likewise.
9401 * xterm.c (note_mouse_highlight): Likewise.
9402
0c80756e
MB
9403 * minibuf.c (do_completion): Don't consider a simple change of
9404 case as `completion'.
9405
975f250a
KR
94062000-08-08 Ken Raeburn <raeburn@gnu.org>
9407
52283633 9408 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9409 * undo.c (record_delete): Make sure last_point_position_buffer is
9410 a buffer before comparing pointers.
9411
9412 * coding.h (decode_coding_string): Declare.
9413
9414 * intervals.h (Fprevious_single_char_property_change): Declare.
9415
9416 * textprop.c (Fprevious_single_char_property_change): Don't do
9417 arithmetic directly on lisp objects.
9418
52283633 9419 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9420
9421 * keyboard.h (menu_item_eval_property): Declare.
9422
9423 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9424 reuse as buffer name, instead of recreating (and discarding) every
9425 time a message is logged.
9426 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9427 (current_message_1, truncate_message_1, set_message_1)
9428 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9429 (current_message, truncate_echo_area, display_echo_area)
9430 (resize_echo_area_axactly): Changed calls.
b347b3fd 9431
975f250a 9432 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9433 Lisp object.
975f250a 9434 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9435 must be an integer, not a Lisp object.
975f250a 9436
46dc9912
KH
94372000-08-08 Kenichi Handa <handa@etl.go.jp>
9438
9439 * charset.c (Fchar_width): Doc fix.
9440
9f6d1a6c
GM
94412000-08-08 Gerd Moellmann <gerd@gnu.org>
9442
9443 * charset.c (Fstring_width): Doc fix.
9444
ff3d9573
GM
94452000-08-07 Gerd Moellmann <gerd@gnu.org>
9446
41e757a6 9447 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9448 line, clear ascent and descent members of the iterator structure;
9449 the height of the continued line does not affect the height of the
9450 continuation line.
9451 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9452 line taller than the window.
9453 (redisplay_window) <forced window start>: Handle case that the
9454 middle of the window is not found in any row.
9455 (dump_glyph_row): Show more information.
9456 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9457 first text line in a glyph matrix.
9458
9459 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9460 of the clip area when image doesn't have a mask.
9461
70fc58b3
GM
9462 * fns.c (sweep_weak_table): Fix survival conditions for
9463 key-or-value and key-and-value weakness.
9464
9465 * .gdbinit (xhashtable): New command.
9466
ac0e96ee
GM
9467 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9468 tables out of the list of all weak hash tables.
9469
ff3d9573
GM
9470 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9471 a new buffer is created, make sure echo_area_buffer[] references
9472 the new buffer.
9473
e0d8827b
EZ
94742000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9475
9476 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9477 the doc string.
9478
c6f35378
KH
94792000-08-07 Kenichi Handa <handa@etl.go.jp>
9480
9481 * syntax.c (skip_chars): Fix previous change. Make the handling
9482 of unibyte string consistent with that of regex search.
9483
1fd4c450
GM
94842000-08-05 Gerd Moellmann <gerd@gnu.org>
9485
e49aa397
GM
9486 * xmenu.c (popup_get_selection): Use xfree instead of free.
9487
9488 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9489
9490 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9491
9492 * callproc.c (child_setup): Use xfree instead of free.
9493
9494 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9495 instead of malloc.
9496 (run_mac_command, closedir): Use `xfree' instead of `free'.
9497
9498 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9499
9500 * eval.c (error): Use xfree instead of free.
9501
1fd4c450
GM
9502 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9503
9504 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9505 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9506
82d497fc
KH
95072000-08-05 Kenichi Handa <handa@etl.go.jp>
9508
9509 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9510 conversion.
9511
59f953a2
NF
95122000-08-04 Noah Friedman <friedman@splode.com>
9513
9514 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9515 docstring.
9516
688351f2
GM
95172000-08-04 Gerd Moellmann <gerd@gnu.org>
9518
9519 * syntax.c (skip_chars): Fix typo in error message.
9520
2dad51cc
AS
95212000-08-04 Andreas Schwab <schwab@suse.de>
9522
9523 * m/ia64.h: Moved from s/ia64.h.
9524
99bb2c60
KH
95252000-08-04 Kenichi Handa <handa@etl.go.jp>
9526
082a1df2
KH
9527 * process.c (read_process_output): Big simplification. Handle
9528 composition and post-read-conversion of coding system correctly.
9529 (send_process): Handle composition correctly.
9530
9531 * callproc.c (Fcall_process): Handle post-read-conversion of
9532 coding system if any.
9533
99bb2c60
KH
9534 * coding.c (decode_coding_iso2022): More strict check for handling
9535 single shifting.
082a1df2
KH
9536 (coding_restore_composition): Pay attention to the case that
9537 cmp_data is not set properly (because of invalid code in the
9538 source text).
9539 (run_pre_post_conversion_on_str): Include text properties in the
9540 resulting string.
9541 (decode_coding_string): Set members of coding correctly.
99bb2c60 9542
f4988be7
GM
95432000-08-03 Gerd Moellmann <gerd@gnu.org>
9544
9545 * s/ia64.h: New file.
9546
9547 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9548 Use NULL instead of 0 at the end of variable argument list of
9549 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9550 sizeof (int) < sizeof (void *).
9551
9552 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9553 of variable argument lists of XtVaGetValues and XtVaSetValues.
9554
9555 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9556 variable argument lists of XtVaGetValues and XtVaSetValues.
9557
ead53494
GM
95582000-08-02 Gerd Moellmann <gerd@gnu.org>
9559
9560 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9561 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9562
9563 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9564 prototype.
9565
9566 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9567 in call to Fsingle_key_description.
9568
9569 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9570 Callers changed.
9571
95722000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9573
9574 * window.c (display_buffer_reuse_frames): New variable.
9575 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9576 frames displaying BUFFER.
52283633 9577 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9578
10b0f752
MB
95792000-08-01 Miles Bader <miles@gnu.org>
9580
9581 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9582 when to constrain NEW_POS (they were pretty screwed up before).
9583
16425c4a
EZ
95842000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9585
9586 * msdos.c (run_msdos_command): Save and restore the master
9587 environment, for the case that child_setup signals an error.
9588 When mirroring slashes in DOS shell commands, don't fail when
9589 argv[2] has embedded blanks.
da288c14
EZ
9590 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9591 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9592 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9593
9594 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9595 using alloca; free it after run_msdos_command returns.
9596
27f73852
DL
95972000-07-27 Dave Love <fx@gnu.org>
9598
52283633
SM
9599 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9600 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9601
9602 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9603
c0261b5e
EZ
96042000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9605
9606 * editfns.c (lisp_time_argument): Fix last change.
9607
b548072f
GM
96082000-07-27 Gerd Moellmann <gerd@gnu.org>
9609
3ab82477
GM
9610 * fns.c (Fdelete): Make it work on vectors and strings in addition
9611 to lists.
9612
b548072f
GM
9613 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9614 (syms_of_fns): Initialize new variables.
52283633 9615 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9616 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9617 weakness, with t meaning the same as `key-and-value'.
9618
91ae8751
KH
96192000-07-27 Kenichi Handa <handa@etl.go.jp>
9620
9621 * coding.h (struct coding_system): Member safe_charset deleted.
9622
9623 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9624 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9625 New variables.
91ae8751
KH
9626 (coding_safe_chars): New function.
9627 (CODING_SAFE_CHAR_P): New macro.
9628 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9629 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9630 (detect_coding_iso2022): New local variable safe_chars.
9631 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9632 safe_charsets member of the coding system.
9633 (decode_coding_iso2022): New local variable safe_chars.
9634 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9635 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9636 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9637 (ENCODE_UNSAFE_CHARACTER): New macro.
9638 (encode_coding_iso2022): New local variable safe_chars. Check
9639 unsafe chars.
9640 (setup_coding_system): Delete the code to initialize
9641 coding->safe_charses
9642 (intersection, find_safe_codings): New functions.
9643 (Ffind_coding_systems_region_internal): New function.
9644 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9645 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9646 variable and initialize it.
9647
9648 * fns.c (char_table_ref_and_index): New function.
9649
9650 * lisp.h (char_table_ref_and_index): Add prototype.
9651
34a7a267
SS
96522000-07-26 Sam Steingold <sds@gnu.org>
9653
9654 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9655 (Ffloat_time): New built-in Lisp function.
34a7a267 9656
a95cb10a
GM
96572000-07-26 Gerd Moellmann <gerd@gnu.org>
9658
3353ef5a
GM
9659 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9660 for the character code.
9661
9662 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9663 GNU/Linux.
9664
a95cb10a
GM
9665 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9666 if called for a popup menu.
9667 (xmenu_show): Store help string in widget values.
9668
b4a12321
DL
96692000-07-26 Dave Love <fx@gnu.org>
9670
9671 * syswait.h: Move some definitions.
9672 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9673 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9674 perspicuous definitions.
9675 (WTERMSIG): Fix bit pattern used.
9676
13f5ad37
KH
96772000-07-26 Kenichi Handa <handa@etl.go.jp>
9678
9679 * print.c (print_object): If vector printing is truncated, print
9680 "..." to indicate it as well as the case of list printing.
9681
070fe99c
GM
96822000-07-25 Gerd Moellmann <gerd@gnu.org>
9683
969065c3
GM
9684 * xdisp.c (next_element_from_display_vector): Improve comments.
9685
9686 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9687 for the character code, and the rest for the face id as in 20.x.
9688 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9689
9690 * window.c (window_display_table): Cleaned up.
9691
070fe99c
GM
9692 * syntax.c (Fforward_word): Add last arg nil in call of
9693 Fconstrain_to_field.
9694
bad77ef7
EZ
96952000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9696
969065c3 9697 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9698 identical but for the letter-case, don't call
9699 barf_or_query_if_file_exists.
bad77ef7 9700
c28da489
MB
97012000-07-25 Miles Bader <miles@gnu.org>
9702
9703 * editfns.c (find_field): Honor special `boundary' fields.
9704 (Qboundary): New variables.
9705 (syms_of_editfns): Initialize Qboundary.
9706 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9707 Use scan_buffer instead of find_before_next_newline, because it
9708 allows us to detect the boundary case where there's a newline at
9709 the search limit.
9710 * lisp.h (Fconstrain_to_field): Update external declaration.
9711
e3c31fd5
GM
97122000-07-24 Gerd Moellmann <gerd@gnu.org>
9713
9714 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9715 if that is nil.
c28da489 9716
c66c29a2
DL
97172000-07-24 Dave Love <fx@gnu.org>
9718
9719 * s/sunos4-0.h, s/sol2.h:
9720 (LIBS_TERMCAP): Move from m/sparc.h.
9721
9722 * m/sparc.h (TERMINFO): Moved to system files (probably only
9723 relevant for sunos4 judging by its vintage).
9724 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9725 __arch64__.
9726
fbe0a958
EZ
97272000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9728
9729 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9730 name to single_keymap_panes.
9731
7d88e5c9
AS
97322000-07-24 Andreas Schwab <schwab@suse.de>
9733
9734 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9735
e024b101
GM
97362000-07-24 Gerd Moellmann <gerd@gnu.org>
9737
9738 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9739 parameters instead of using int parameters. Expect FN to accept
9740 EMACS_INT parameters.
9741 (display_echo_area, resize_echo_area_axactly, current_message)
9742 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9743 with new argument list.
9744 (resize_mini_window_1): New callback function.
9745 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9746 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9747
25c1a9ce
KH
97482000-07-24 Kenichi Handa <handa@etl.go.jp>
9749
9750 * fontset.c (fontset_ref): Remove INLINE declaration.
9751 (fontset_ref_via_base): Likewise.
9752 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9753 to downcase.
9754
7f987ac0
EZ
97552000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9756
9757 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9758 correct order of priority. If help echo was found in an overlay,
9759 use that overlay as the object in which the help echo was found.
9760
e2db3069
MB
97612000-07-22 Miles Bader <miles@gnu.org>
9762
9763 * textprop.c (Fprevious_single_char_property_change): The initial
9764 property value should be from the position preceding POSITION, not
9765 following it.
9766
5e3203e4
EZ
97672000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9768
9769 * coding.c (syms_of_coding): Doc fix for
9770 inhibit-iso-escape-detection.
9771
62145073
GM
97722000-07-21 Gerd Moellmann <gerd@gnu.org>
9773
c20aeb83
GM
9774 * xterm.c (note_mouse_highlight): Process overlays in the right
9775 order of priority.
34a7a267 9776
743934db
GM
9777 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9778
9779 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9780 overlay, use that overlay as the object in which the help was found.
743934db 9781
d1dc7e43 9782 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9783
62145073
GM
9784 * window.c (foreach_window): Instead of a fake variable argument
9785 list, take one USER_DATA argument.
9786 (foreach_window_1): Likewise, and call callback functions with two
9787 args, the window and USER_DATA.
9788 (struct check_window_data): New struct.
9789 (check_window_containing): Use it.
9790 (window_from_coordinates): Set up a struct check_window_data for
9791 foreach_window.
9792 (add_window_to_list, freeze_window_start): Change parameters
9793 according to new calling convention.
9794
9795 * window.h (foreach_window): Change prototype.
9796
9797 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9798
97992000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9800
9801 * xmenu.c (menu_help_callback): Call show_help_echo with
9802 additional arguments OBJECT and POS.
9803
11270583
KH
98042000-07-21 Kenichi Handa <handa@etl.go.jp>
9805
07b14857
KH
9806 * data.c (Faset): Allow storing any multibyte character in a
9807 string. Convert unibyte string to multibyte if necessary.
9808
11270583
KH
9809 * xfns.c (x_encode_text): New function.
9810 (x_set_name): Use x_encode_text.
9811 (x_set_title): Likewise.
9812
9813 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9814
9815 * xterm.h (x_encode_text): Add prototype.
9816
bc75b4fd
DL
98172000-07-20 Dave Love <fx@gnu.org>
9818
9819 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9820 xfree, not free.
9821
48c14970
EZ
98222000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9823
9824 * msdos.c (help_echo_window): New variable.
9825 (syms_of_msdos): Initialize and staticpro it.
9826 (IT_note_mode_line_highlight): Set help_echo_window.
9827 (IT_note_mouse_highlight): Ditto.
9828 (dos_rawgetc): Store help_echo_window in the second event produced
9829 for HELP_EVENTs.
9830
9831 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9832 Record the object that generated the help echo and the position of
9833 that object in help_echo_object and help_echo_pos. Record that
9834 some glyphs in a row are displayed in mouse-face.
9835 (IT_update_begin): Don't clear mouse highlight unless one of the
9836 enabled glyph rows is marked as being displayed in mouse-face.
9837 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9838 and position recorded in help_echo_object and help_echo_pos to the
9839 event queue.
9840 (IT_menu_display): Accept a new argument PN: the pane number of
9841 the current menu pane. Record the pane number and the item
9842 number of the item which has associated help string.
9843 (XMenuActivate): Update the prototype for help_callback in
9844 function declaration. Call IT_menu_display with the current menu
9845 pane number as an additional argument. Call help_callback with
9846 two additional arguments: the pane number and the item number of
9847 the menu item associated with the help text.
9848 (help_echo_object, help_echo_pos): New variables.
9849 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9850
9851 * msdos.h (XMenuActivate): Update prototype.
9852
4279296d
GM
98532000-07-19 Gerd Moellmann <gerd@gnu.org>
9854
47db06aa
GM
9855 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9856 Add some more prototypes.
9857
9858 * xterm.c, xterm.h: Add some more prototypes.
9859
9860 * lisp.h (Fnext_single_char_property_change): Add prototype.
9861
9862 * dispnew.c (direct_output_for_insert): Remove confusing
9863 outer local variable mouse_face_overwritten_p.
9864 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9865
4279296d
GM
9866 * alloc.c (allocate_string_data): Don't copy old string contents.
9867
670acd62
KH
98682000-07-19 Kenichi Handa <handa@etl.go.jp>
9869
9870 * coding.c (code_convert_region): Delete text properties before
9871 shrinking the conversion region.
9872
7cea38bc
GM
98732000-07-18 Gerd Moellmann <gerd@gnu.org>
9874
dc1cac59
GM
9875 * dispnew.c (update_text_area): Write the whole row if it
9876 has mouse-face in it.
9877
85a8aca9
GM
9878 * xfaces.c (face-alternative-font-family-alist): Remove
9879 DEFVAR_LISP; staticpro instead.
9880
34a7a267 9881 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9882 new arguments.
9883
9884 * keyboard.c (show_help_echo): Add parameter WINDOW.
9885 (read_char): Call show_help_echo with window extracted from Lisp
9886 help event.
9887 (gen_help_event): Add parameter WINDOW.
9888
9889 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9890
9891 * xterm.c (help_echo_window): New variable.
52283633 9892 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9893 (XTread_socket): Pass help_echo_window to gen_help_event.
9894 (syms_of_xterm): Initialize and staticpro help_echo_window.
9895
f8276b77
DL
98962000-07-18 Dave Love <fx@gnu.org>
9897
52283633 9898 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9899
088831a6
GM
99002000-07-18 Gerd Moellmann <gerd@gnu.org>
9901
3d6cd763
GM
9902 * alloc.c (allocate_string_data): If string had already data
9903 assigned, copy old contents to new string data.
9904
9905 * coding.c (syms_of_coding): Fix typo in spelling of variable
9906 `inhibit-iso-escape-detection'.
9907
088831a6
GM
9908 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9909
9910 * Makefile.in: Add dependencies on dispextern.h.
9911 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9912 `free'; both can conflict with system header files.
9913
bc8a8d55
KH
99142000-07-18 Kenichi Handa <handa@etl.go.jp>
9915
9916 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9917 undefined.
9918
069f5950
DL
99192000-07-18 Dave Love <fx@gnu.org>
9920
9921 * window.c (Fwindow_list): Declare arg `window'.
9922
aa96c820
KH
99232000-07-18 Kenichi Handa <handa@etl.go.jp>
9924
9925 * coding.c (setup_coding_system): Don't override the explicitly
9926 specified designations.
9927
06be8d32
MB
99282000-07-15 Miles Bader <miles@gnu.org>
9929
9930 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9931 from `text_property_eq' and `text_property_stickiness', respectively.
9932 (find_field, Fconstrain_to_field, char_property_eq)
9933 (char_property_stickiness): Changed to call char-property functions
9934 instead of text-property-only ones.
9935
9936 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9937 `next_single_char_property_change'). Do more error checking, and
9938 cleanup limit behavior.
9939 (Fprevious_single_char_property_change): New function.
9940 (syms_of_textprop): Initialize new subrs.
9941
9942 * xdisp.c (display_prop_end, invisible_text_between_p):
9943 Call Fnext_single_char_property_change instead of
9944 next_single_char_property_change.
9945
3fddcdc3
JR
99462000-07-15 Jason Rumney <jasonr@gnu.org>
9947
9948 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9949 after menu is finished with.
9950 (add_menu_item): Only consider wv->title as a menu title.
9951 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9952
9953 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9954 null title.
9955 (FONT_REGEXP): Remove unused macro, and its sub-components.
9956 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9957
9958 * w32term.c (help_echo_object, help_echo_pos): New variables.
9959 (note_mode_line_highlight): Store additional information about the
9960 help-echo in help_echo_object and help_echo_pos. Check both
9961 `local-map' and `keymap' properties for changing the cursor
9962 (note_mouse_highlight): Store additional information about the
9963 help-echo in help_echo_object and help_echo_pos.
9964 (note_tool_bar_highlight): Set help_echo_object to nil and
9965 help_echo_pos to -1.
9966 (w32_read_socket): Use gen_help_event instead of filling
9967 input_events manually.
9968 (syms_of_w32term): Staticpro help_echo_object.
9969 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9970 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9971 (x_clear_mouse_face): New function.
9972 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9973 (x_update_window_begin): No need to turn off the mouse
9974 highlight here.
9975 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9976 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9977 (x_fill_stretch_glyph_string): Consume runs of stretch
9978 glyphs instead of a single one.
9979 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9980 with new argument list.
9981 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9982 (x_append_glyph, x_append_composite_glyph)
9983 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9984 changes in struct glyph starting 1999-12-27. See comments for
9985 xterm.c on 2000-07-05.
9986
178c5d9c
SS
99872000-07-14 Sam Steingold <sds@gnu.org>
9988
9989 * xfaces.c (realize_x_face): Fix the last patch:
9990 check `default_face' before dereferencing.
9991
6fe533f6
DL
99922000-07-14 Dave Love <fx@gnu.org>
9993
069f5950 9994 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9995
dd7b81cf
KH
99962000-07-14 Kenichi Handa <handa@etl.go.jp>
9997
0693904a 9998 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9999 default_face's fontset, not using the default fontset.
0693904a 10000
dd7b81cf
KH
10001 * coding.c (inhibit_iso_escape_detection): New variable.
10002 (syms_of_coding): Make it a Lisp variable.
10003 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10004 nonzero, ignore ISO2022's escape sequence.
10005
d5aa31d8
GM
100062000-07-14 Gerd Moellmann <gerd@gnu.org>
10007
e5acf0ca
GM
10008 * alloca.c (malloc) [emacs]: Define as xmalloc.
10009
bd23a692
GM
10010 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10011 use that instead of the mouse position. Add parameters DX and DY.
10012
10013 * dispextern.h (Fx_show_tip): Adjust number of parameters
10014 in prototype.
10015
9662da0b
GM
10016 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10017 if HELP is a function, call it with OBJECT and POS as parameters
10018 to get the help to display.
10019 (gen_help_event, kbd_buffer_store_help_event): New functions.
10020 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10021 (read_char): Call show_help_echo with new parameters.
10022
178c5d9c 10023 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10024 Add prototypes.
10025
10026 * xterm.c (help_echo_object, help_echo_pos): New variables.
10027 (note_mode_line_highlight): Store additional information about the
10028 help-echo in help_echo_object and help_echo_pos. Check both
10029 `local-map' and `keymap' properties for changing the cursor
10030 (note_mouse_highlight): Store additional information about the
10031 help-echo in help_echo_object and help_echo_pos.
10032 (note_tool_bar_highlight): Set help_echo_object to nil and
10033 help_echo_pos to -1.
10034 (XTread_socket): Use gen_help_event instead of filling
10035 input_events manually.
10036 (syms_of_xterm): Staticpro help_echo_object.
10037
10038 * xmenu.c (menu_highlight_callback): Use
10039 kbd_buffer_store_help_event instead of setting up and input_event
10040 structure manually.
10041
10042 * xdisp.c (eval_form): GCPRO argument sexpr.
10043 (call_function): New function.
10044 (handle_single_display_prop): Use call_function and FUNCTIONP
10045 instead of checking whether if font_height is a symbol and
10046 using eval_form.
10047
10048 * eval.c (internal_condition_case_2): New function.
10049
10050 * lisp.h (FUNCTIONP): New macro.
10051 (internal_condition_case_2, call_function): Add prototypes.
10052
d5aa31d8
GM
10053 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10054 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10055 Always set `arg' member of input_events.
10056 (construct_menu_click): Unused function removed.
10057
10058 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10059
10060 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10061 (construct_drag_n_drop, x_scroll_bar_handle_click)
10062 (w32_read_socket): Always set `arg' member of input_events.
10063
10064 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10065
10066 * lisp.h (eval_form): Add prototype.
10067
10068 * xdisp.c (eval_form): Make it externally visible.
10069
0f1a9b23
GM
100702000-07-13 Gerd Moellmann <gerd@gnu.org>
10071
10072 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10073 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10074 consing. For prefix events, store the frame in the `arg' slot of
10075 the event, otherwise store the key there.
10076 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10077 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10078
10079 * xmenu.c (menu_highlight_callback): Store help string in the
10080 `arg' member of the input event; don't cons.
10081 (menubar_selection_callback): Use the `arg' slot of input events
10082 to queue additional information, instead of consing.
10083
10084 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10085
10086 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10087 TOOL_BAR_EVENTs.
10088 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10089
10090 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10091 input events to queue additional information, instead of consing.
10092
10093 * keyboard.c (kbd_buffer_gcpro): Renamed from
10094 kbd_buffer_frame_or_window. Now used for all Lisp objects
10095 referenced from the input queue.
10096 (kbd_buffer_store_event): Always use structure assignment for
10097 copying input events. Record all Lisp objects referenced from
10098 events in kbd_buffer_gcpro.
10099 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10100 differently from input events. Test for prefix menu_bar_events
10101 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10102 event in kbd_buffer_gcpro to nil.
10103 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10104 frame_or_window is equal to its arg member as prefix events.
10105 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10106 used by an input event to nil.
10107 (init_keyboard): Use two times the size of the input queue
10108 for kbd_buffer_gcpro.
10109 (syms_of_keyboard): Likewise.
10110
52283633
SM
10111 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10112 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10113
10114 * termhooks.h (struct input_event): Add member `arg'.
10115 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10116 (USER_SIGNAL_EVENT): Renamed from user_signal.
10117
10118 * xfaces.c (ASET): Remove definition.
10119
10120 * lisp.h (AREF, ASET, ASIZE): New macros.
10121
10122 * fontset.c (AREF, ASIZE): Remove definitions.
10123
10124 * fns.c (AREF): Remove definition.
178c5d9c 10125
0f1a9b23
GM
10126 * composite.c (AREF): Remove definition.
10127
712eaef2
GM
101282000-07-12 Gerd Moellmann <gerd@gnu.org>
10129
d8ee7803
GM
10130 * dispnew.c (redraw_overlapped_rows): Add missing local.
10131 (scrolling_window): Remove debug code.
10132
712eaef2
GM
10133 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10134 Before scrolling, turn off a mouse-highlight in the window
10135 being scrolled.
10136
10137 * xterm.c (x_update_window_end): Add parameter
10138 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10139 redisplay in XTframe_up_to_date.
10140 (x_clear_mouse_face): New function.
10141 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10142
10143 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10144 current glyph row.
10145 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10146 it when any row is written to that contains glyphs highlighted in
10147 mouse-face.
10148 (update_window): Call the window update end hook with new
10149 parameter MOUSE_FACE_OVERWRITTEN_P.
10150 (direct_output_for_insert): Give up if row contains mouse-face.
10151
10152 * dispextern.h (struct redisplay_interface): Add parameter
10153 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10154 (clear_mouse_face): New function pointer member.
10155
02010917
SM
101562000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10157
10158 * syntax.c (back_comment): Use one switch rather than a few `if's.
10159 Obey open_paren_in_column_0_is_defun_start.
10160 When reverting to the `slow' method, try to nicely handle the case
10161 of nested comments by checking that the comment-starter we found
10162 does indeed match the comment-ender.
10163 (scan_sexps_forward, scan_sexps_forward):
10164 Ignore excessive opening parenthesis rather than throwing an error.
10165
d76c03ea
GM
101662000-07-11 Gerd Moellmann <gerd@gnu.org>
10167
10168 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10169 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10170
10171 * dispnew.c (direct_output_forward_char): Give up if currently
10172 displaying a message instead of the minibuffer contents.
10173
10174 * xterm.c (x_update_window_begin): No need to turn off the mouse
10175 highlight here.
10176 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10177 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10178
10179 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10180 compare the mouse_face_p flags of both rows.
10181
10182 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10183
d55ead18
EZ
101842000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10185
10186 * keyboard.c (show_help_echo): Accept additional parameter
10187 ok_to_overwrite_keystroke_echo.
10188 (read_char): Call show_help_echo with a zero
10189 ok_to_overwrite_keystroke_echo argument.
52283633 10190 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10191 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10192 ok_to_overwrite_keystroke_echo argument.
10193 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10194 non-zero ok_to_overwrite_keystroke_echo argument.
10195
df75b1a3
GM
101962000-07-10 Gerd Moellmann <gerd@gnu.org>
10197
4b92c49a
GM
10198 * xdisp.c (try_window_id): If changes are all below what is
10199 displayed in the window, and point is in the window, we still
10200 might have to find point on the display.
10201
10202 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10203 glyphs instead of a single one.
10204 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10205 with new argument list.
10206 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10207
df75b1a3
GM
10208 * keymap.c (get_keymap_1): Add comment that this function can GC.
10209 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10210 comment that functions can GC.
10211 (Fset_keymap_parent): GCPRO arg KEYMAP.
10212
4314cf3e
EZ
102132000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10214
10215 * msdos.c (XMenuActivate): After exiting the menu, restore the
10216 echo area message and erase it.
10217
ab49ce15
KH
102182000-07-10 Kenichi Handa <handa@etl.go.jp>
10219
10220 * fontset.c (Ffontset_info): Make the return value more compatible
10221 with that of Emacs 20.
10222
090a072f
GM
102232000-07-07 Gerd Moellmann <gerd@gnu.org>
10224
10225 * eval.c (Fsignal): Handle case that backtrace_list is null.
10226
f92de4a6
KH
102272000-07-07 Kenichi Handa <handa@etl.go.jp>
10228
10229 * ccl.c (Fccl_execute): Typo fixed.
10230
dd8888a1
GM
102312000-07-06 Gerd Moellmann <gerd@gnu.org>
10232
e5c81191 10233 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10234
dd8888a1
GM
10235 * window.c (Fwindow_list): Reverse list at the end.
10236 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10237 means allow windows on OWINDOW's frame, only.
10238 (window_loop): Simplified; use Fwindow_list.
10239
10240 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10241
485266d0
GM
102422000-07-05 Gerd Moellmann <gerd@gnu.org>
10243
10244 * xterm.c (XTread_socket): Increment handling_signal at the start,
10245 decrement it at the end.
10246
10247 * eval.c (handling_signal): New variable.
10248 (Fsignal): Abort if handling_signal is non-zero.
10249
10250 * lisp.h (handling_signal): External declaration.
178c5d9c 10251
485266d0
GM
10252 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10253
80fcd514
KR
102542000-07-05 Ken Raeburn <raeburn@gnu.org>
10255
10256 Sound support for NetBSD through "Linux emulation" support:
10257 * config.in (HAVE_SOUNDCARD_H): Undef.
10258 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10259 * Makefile.in (LIBSOUND): New variable.
10260 (LIBES): Include it.
52283633
SM
10261 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10262 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10263 (vox_open): Use DEFAULT_SOUND_DEVICE.
10264 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10265
d5c5cddd
GM
102662000-07-05 Gerd Moellmann <gerd@gnu.org>
10267
10268 * print.c (print_error_message): If Vsignaling_function is set,
10269 show it in *Messages*.
10270
10271 * lisp.h (Vsignaling_function): External declaration.
10272
10273 * eval.c (Vsignaling_function): New variable.
10274 (Fsignal): Compute it.
10275 (syms_of_eval): Staticpro it.
10276
65171e3a
DL
102772000-07-05 Dave Love <fx@gnu.org>
10278
10279 * syswait.h: Use the autoconf recommended approach. Old code
10280 #if'd out in case we need to revert.
10281
178c5d9c 10282 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10283
e2c46326
AI
102842000-07-05 Andrew Innes <andrewi@gnu.org>
10285
10286 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10287 when non-NULL instead of __morecore, to take account of buffer
10288 memory. This also solves a problem with spurious memory warnings
10289 on Windows.
10290
10291 * ralloc.c: Make real_morecore non-static.
10292
10293 * eval.c (internal_condition_case): Comment out abort if
10294 interrupt_input_blocked is not zero.
10295
10296 * makefile.nt: Add support for `bootstrap' and related targets.
10297 Include minimal debug info in emacs.exe in release build.
10298 Remove all dependencies on lisp.h, and fixup some others.
10299
10300 * w32.c (init_environment): Install code from 20.7 for providing
10301 default values for environment variables, based on the
10302 executable's own location.
52283633 10303 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10304 (sys_socket): Install socket inheritance bug fix from 20.7.
10305
10306 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10307 here via blockinput.h).
10308
a027a91b
SM
103092000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10310
e4b31601
SM
10311 * w32menu.c (w32_menu_display_help):
10312 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10313
10314 * keyboard.h (show_help_echo): Declare.
10315
10316 * keyboard.c (show_help_echo): New function, extracted from read_char.
10317 Feval its `msg' argument if it's a cons cell.
10318 (read_char): Use it.
4cf8d9d5 10319 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10320
178c5d9c 10321 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10322 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10323 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10324 (dos_rawgetc):
10325 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10326 (note_tool_bar_highlight, w32_read_socket):
10327 Do not gratuitously ignore non-string `help-echo' properties.
10328
88d75730
GM
103292000-07-05 Gerd Moellmann <gerd@gnu.org>
10330
969f7e79
GM
10331 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10332
71201b00
GM
10333 * window.c (delete_all_subwindows): Reset Vwindow_list.
10334
88d75730
GM
10335 * xterm.c (x_append_glyph, x_append_composite_glyph)
10336 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10337 changes in struct glyph starting 1999-12-27. Some bit-fields of
10338 struct glyph were not set, which made glyphs unequal when compared
10339 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10340 effects were the result. This also depended on the contents of
10341 memory returned by xmalloc. If flickering happens again, activate
10342 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10343 gone with that, chances are that it is caused by something similar.
88d75730
GM
10344
10345 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10346
88d75730
GM
10347 * dispextern.h: Add some comments.
10348
10349 * window.c (add_window_to_list): Add parameter LIST.
10350 (window_list): Order list so that, for each frame, windows are
10351 in canonical order, and so that frames appear in the list in
10352 the order given by Vframe_list.
10353 (next_window): Reverse the handling of NEXT_P.
10354
53654733
GM
103552000-07-04 Gerd Moellmann <gerd@gnu.org>
10356
87efd256
GM
10357 * window.c (Vwindow_list): New variable.
10358 (make_window, delete_window): Set Vwindow_list to nil.
10359 (check_window_containing): New function.
10360 (window_from_coordinates): Rewritten.
10361 (add_window_to_list, window_list, candidate_window_p)
10362 (decode_next_window_args, next_window): New functions.
52283633 10363 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10364 (Fwindow_list): New function.
10365 (Fother_window): Cleaned up.
10366 (foreach_window): Add a longer "variable argument list". Let
10367 callback function return 0 to indicate that cycling over windows
10368 should stop.
10369 (foreach_window_1): Likewise.
10370 (freeze_window_start): Return int.
10371 (init_window): New function.
10372 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10373
10374 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10375 input_event with bzero.
10376 (main): Call init_window.
10377
53654733
GM
10378 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10379 a menu filter.
10380
4a8c194f
KH
103812000-07-04 Kenichi Handa <handa@etl.go.jp>
10382
10383 * composite.h (make_composition_value_copy): Extern it.
10384
10385 * composite.c (make_composition_value_copy): New function.
10386
10387 * editfns.c (Fformat): While copying text properties, make each
10388 composition property value a copy.
10389
10390 * fns.c (concat): While copying text properties, make each
10391 composition property value a copy.
10392
831a6cb0
GM
103932000-07-03 Gerd Moellmann <gerd@gnu.org>
10394
2f516940
GM
10395 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10396
178c5d9c 10397 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10398 marked already.
10399
831a6cb0
GM
10400 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10401 include those frames as candidates which have their focus
10402 redirected to the minibuffer frame.
10403
d9c4f922
SM
104042000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10405
10406 * fns.c (Fputhash): Return `value' rather than nil.
10407
3780bc22
GM
104082000-06-30 Gerd Moellmann <gerd@gnu.org>
10409
97d176db
GM
10410 * frame.c (next_frame): Don't check focus redirection in case
10411 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10412 unless their focus is redirected, which contradicts the
10413 specification of next-frame, and leads to infinite loops in
10414 certain situations when cycling through windows with next-window.
10415
dca9961d
KH
104162000-06-30 Kenichi Handa <handa@etl.go.jp>
10417
10418 * coding.c (code_convert_region): Even if the length of text is
10419 zero, try to convert it if coding->type is coding_type_ccl.
10420 (decode_coding_string, encode_coding_string): Likewise.
10421
d5483ab1
GM
104222000-06-28 Gerd Moellmann <gerd@gnu.org>
10423
af5c25e1 10424 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10425 the display if windows_or_buffers_changed.
af5c25e1
GM
10426
10427 * dispnew.c (struct row_entry): New structure.
10428 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10429 (row_table_size, old_lines, new_lines, old_lines_size)
10430 (new_lines_size, run_pool, runs_size, runs): New variables.
10431 (add_row_entry): New function.
10432 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10433 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10434 holding them in local variables. Use a larger hash table whose
10435 size depends on glyph matrix sizes. Don't use bzero to clear the
10436 hash table; instead, clear used slots only.
10437
10438 * fns.c (next_almost_prime): Make it externally visible.
10439
10440 * lisp.h (next_almost_prime): Add prototype.
10441
d5483ab1
GM
10442 * s/isc4-0.h (sigunblock): Define.
10443
10444 * s/sco5.h (sigunblock): Define.
10445
93e40f40
DL
104462000-06-27 Dave Love <fx@gnu.org>
10447
10448 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10449 (moved to osf5-0.h).
10450 [!NOT_C_CODE]: Protect string.h stuff.
10451
10452 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10453 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10454
3c4b7685
GM
104552000-06-27 Gerd Moellmann <gerd@gnu.org>
10456
97d176db 10457 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10458 below the last line from the needed window height.
10459
32cad0aa
SM
104602000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10461
10462 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10463 (Fwidget_get): Use it.
10464 (syms_of_fns): Defsubr it.
10465
2c69ced2
GM
104662000-06-26 Gerd Moellmann <gerd@gnu.org>
10467
178c5d9c 10468 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10469 display info for XIM.
10470 (xim_open_dpy): Likewise.
10471 (xim_close_dpy): Don't free the display info's XIM.
10472
10473 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10474
10475 * config.in (USE_XIM): New define.
10476
3fc720e4
GM
10477 * keymap.c (get_keyelt): For menu-items containing a `:filter
10478 FILTER', apply FILTER to the menu-item's definition to get the
10479 real definition to use.
10480
10481 * lisp.h (QCfilter): External declaration.
10482
2c69ced2
GM
10483 * xfns.c (Fimage_size): New function.
10484 (syms_of_xfns): Defsubr it.
10485
f978b2a2
AS
104862000-06-26 Andreas Schwab <schwab@suse.de>
10487
10488 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10489 Fstring_as_unibyte.
10490
94cc7892
DL
104912000-06-25 Dave Love <fx@gnu.org>
10492
52283633 10493 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10494
10495 * Makefile.in (blockinput.h): Depend on atimer.h.
10496 (atimer.h): Depend on systime.h.
10497
52283633 10498 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10499
52283633 10500 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10501
10502 * lisp.h (swap_in_global_binding): Declare.
10503
b8c24556
KR
105042000-06-24 Ken Raeburn <raeburn@gnu.org>
10505
10506 * process.c (Fopen_network_stream): Turn off atimers for duration
10507 of call to connect. (Patch from Gerd.)
10508
8cf8560b
DL
105092000-06-23 Dave Love <fx@gnu.org>
10510
511c7541
DL
10511 * ralloc.c: Maybe include unistd.h
10512
8cf8560b
DL
10513 * emacs.c (setgrp): Undefine before defining.
10514 (malloc_warning, set_time_zone_rule, index): Prototype.
10515
10516 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10517 HAVE_STRUCT_TIMEZONE.
10518
10519 * s/osf1.h: Move string.h hack here from alpha.h and make it
10520 conditional.
10521 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10522 _XOPEN_SOURCE.
10523 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10524 (SOCKLEN_TYPE): Don't define.
10525
10526 * m/alpha.h: Remove string.h hack.
10527
10528 * s/osf5-0.h: New file.
10529
10530 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10531 include time.h, done by systime.h.
10532 [__FreeBSD__]: Remove redundant includes.
10533
3fc720e4 10534 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10535 (delete_temp_file): Return Qnil to avoid warning.
10536
10537 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10538
10539 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10540 HAVE_X_WINDOWS.
10541
10542 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10543
10544 * composite.h (compose_text): Declare.
10545
10546 * xterm.c: Don't include sys/types.h unconditionally. Don't
10547 protect its inclusion with !USG (following xmenu.c).
10548
ea055732
GM
105492000-06-23 Gerd Moellmann <gerd@gnu.org>
10550
10551 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10552 in x_create_frame.
10553
74b01b80
EZ
105542000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10555
10556 * coding.c (decode_eol_post_ccl): Special handling for undecided
10557 and inconsistent EOL types.
10558
64f3a166
GM
105592000-06-22 Gerd Moellmann <gerd@gnu.org>
10560
16cf31f7
GM
10561 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10562 trough color and main window's background color.
10563
52283633 10564 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10565
10566 * xterm.h (Xt_app_con): External declaration.
10567
10568 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10569
486a103d
GM
10570 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10571
64f3a166
GM
10572 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10573 (handle_invisible_prop): Record the start of invisible text in
10574 it->add_overlay_start.
10575 (struct overlay_entry): Add member `overlay'.
10576 (handle_overlay_change): Simplify.
10577 (next_overlay_string): After having processed overlay strings at the
10578 end of the buffer, record that fact in
10579 it->overlay_strings_at_end_processed_p.
10580 (compare_overlay_entries): If before- and after-strings come
10581 from the same overlay, let before-strings come first.
10582 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10583 (load_overlay_strings): Take it->add_overlay_start into account
10584 when adding overlay strings.
10585
10586 * dispextern.h (struct it): Add member add_overlay_start.
10587
bb746ea6
DL
105882000-06-22 Dave Love <fx@gnu.org>
10589
10590 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10591
10592 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10593
a8f573f3
KH
105942000-06-22 Kenichi Handa <handa@etl.go.jp>
10595
10596 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10597 is greater than 0.
10598
9f2bbc92
DL
105992000-06-21 Dave Love <fx@gnu.org>
10600
178c5d9c 10601 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10602
3ee5041c
SM
106032000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10604
10605 * syntax.c (back_comment): Simplify string-parity counting (with
10606 the added benefit of handling multiple string-styles as long as
10607 they are not intertwined).
10608 Jump to the slow code as soon as a comment starter is found in
10609 a "string_lossage" position. Fixes the case: " /* " /* " */.
10610
4c343001
DL
106112000-06-21 Dave Love <fx@gnu.org>
10612
10613 * Makefile.in: Use GETLOADAVG_LIBS.
10614
10615 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10616 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10617
e6365855
SM
106182000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10619
10620 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10621 (Fforward_comment, scan_lists):
10622 Check the comstyle of single-char comment-starters.
10623 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10624 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10625 Check the comstyle of single-char comment-starters.
10626 Clarify control-flow around the Scomment case.
e6365855 10627
5700d2cc
DL
106282000-06-20 Dave Love <fx@gnu.org>
10629
d355bd8a
SM
10630 * fns.c (make_hash_table, maybe_resize_hash_table):
10631 Cast arg of next_almost_prime.
5700d2cc 10632
178c5d9c 10633 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10634
10635 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10636 and unistd.h.
10637
4a27bdfb
GM
106382000-06-20 Gerd Moellmann <gerd@gnu.org>
10639
a61d762c 10640 * keyboard.c (adjust_point_for_property): Check if display
52283633 10641 property should be treated as intangible by looking at its value.
a61d762c 10642
178c5d9c 10643 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10644 (display_prop_intangible_p): New functions.
10645
10646 * dispextern.h (display_prop_intangible_p): Add prototype.
10647
10648 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10649
4a27bdfb
GM
10650 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10651 argument to sigprocmask.
10652
10653 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10654 argument to sigprocmask.
10655
10656 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10657 sigprocmask_set, and pass a pointer to it to sigprocmask.
10658
10659 * sysdep.c (sigprocmask_set): New variable.
10660
10661 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10662 report_file_error.
10663
427ec082
SS
106642000-06-20 Sam Steingold <sds@gnu.org>
10665
10666 * xrdb.c: Don't declare xmalloc, xrealloc.
10667
8972fe79 106682000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10669
10670 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10671 (re_comp): Cast gettext return value to avoid complaints when
10672 !HAVE_LIBINTL.
10673
074b6efe
DL
106742000-06-20 Dave Love <fx@gnu.org>
10675
52283633 10676 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10677
5700d2cc 10678 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10679
d355bd8a 10680 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10681
10682 * m/alpha.h: Don't declare xmalloc, xrealloc.
10683
0af4f205
DL
10684 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10685
10686 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10687
10688 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10689
10690 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10691 HAVE_GETWD.
10692
074b6efe
DL
10693 * keyboard.h (poll_for_input_1): Declare.
10694
10695 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10696
10697 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10698
10699 * doprnt.c: Don't declare xmalloc, xrealloc.
10700
10701 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10702 (getenv, ctime, getwd): Removed.
10703 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10704
10705 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10706 x_set_tool_bar_lines.
10707
10708 * config.in: Add HAVE_GETWD. Move some definitions above
10709 machine/system includes.
10710
68a5e97b
KH
107112000-06-20 Kenichi Handa <handa@etl.go.jp>
10712
95417e1e
KH
10713 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10714
68a5e97b
KH
10715 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10716 contain information about ENCODING.
10717
10718 * fontset.c (FONTSET_ASCII): Use the first element of char table
10719 for an ASCII font, not defalt slot.
10720 (fontset_ref_via_base): If FONTSET doesn't contain information for
10721 C, try the default fontset.
10722 (make_fontset): Don't copy the default fontset.
10723 (fontset_font_pattern): Likewise.
10724 (accumulate_font_info): If ELT is nil, use the corresponding
10725 element in the default fontset.
10726
3b4fa1b2
DL
107272000-06-19 Dave Love <fx@gnu.org>
10728
943e731c
DL
10729 * syntax.c (Fparse_partial_sexp): Doc fix.
10730
10731 * regex.h: Test PROTOTYPES as well as __STDC__.
10732
3b4fa1b2
DL
10733 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10734 errno, strerror. Put text after #endif in comment.
10735
52283633 10736 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10737
10738 * xterm.c (x_frame_of_widget): Likewise.
10739
cdf0357b
GM
107402000-06-19 Gerd Moellmann <gerd@gnu.org>
10741
10742 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10743 to Vfundamental_mode_abbrev_table.
10744
10745 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10746 bogus objects are marked. This slows down GC by ~80 percent, but
10747 it might be worth trying when debugging GC-related problems.
10748 This feature requires conservative stack marking to be enabled.
10749
10750 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10751 returns XLookupChars, reset `modifiers' to zero.
10752
998e9f8c
DL
107532000-06-19 Dave Love <fx@gnu.org>
10754
10755 * mktime.c: Unprotoized.
10756
18e21ce8 107572000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10758
10759 * data.c (set_internal): If variable is frame-local,
10760 store the new value immediately into the frame parameter alist.
10761
140c4ac6
KR
107622000-06-19 Ken Raeburn <raeburn@gnu.org>
10763
14358466
KR
10764 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10765 in the custom handler pointer.
10766
140c4ac6
KR
10767 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10768 value, or checks for CHAR_META can fail when Lisp_Object is a
10769 union type.
10770 * keymap.c (get_keyelt): Likewise.
10771
10d7bf84
KH
107722000-06-19 Kenichi Handa <handa@etl.go.jp>
10773
10774 * ccl.h (struct ccl_program): New member eol_type.
10775 (struct ccl_spec): New member cr_carryover.
10776
10777 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10778 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10779
10780 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10781 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10782 (decode_eol_post_ccl): New function.
10783 (decode_coding): Don't detect EOL format here for CCL based coding
10784 systems.
10785 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10786 decode_eol_post_ccl after running the CCL program.
10787 (code_convert_region): Don't detect EOL format here for CCL based
10788 coding systems.
10789 (decode_coding_string): Likewise.
10790
52e386c2
KR
107912000-06-18 Ken Raeburn <raeburn@gnu.org>
10792
10793 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10794 when treating it as an integer.
10795
10796 * coding.h (encode_coding_string): Declare.
10797
10798 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10799 it as an integer.
10800
10801 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10802 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10803 to be passed to get_local_map.
10804
10805 * sound.c (Fplay_sound): Don't call make_number on
10806 Frun_hook_with_args count argument.
10807
10808 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10809 for lisp objects in X event structure data field, when lisp
10810 objects are represented with unions.
10811 (x_scroll_bar_to_input_event): Ditto.
10812
b357b9d4
KR
108132000-06-16 Ken Raeburn <raeburn@gnu.org>
10814
10815 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10816 termination of string. Fix sense of test whether
10817 Vline_number_display_limit is an integer.
b357b9d4 10818
a871441d
GM
108192000-06-16 Gerd Moellmann <gerd@gnu.org>
10820
a9021acd
GM
10821 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10822 only if HAVE_X_WINDOWS.
10823
6344985d
GM
10824 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10825 of titles.
10826
427ec082 10827 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10828 out of bounds.
10829
228b083e
EZ
108302000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10831
10832 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10833 of its headers.
10834
c25b53a2
KH
108352000-06-15 Kenichi Handa <handa@etl.go.jp>
10836
10837 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10838 start of the while loop.
10839
a6981b11
GM
108402000-06-15 Gerd Moellmann <gerd@gnu.org>
10841
e9924e52
GM
10842 * atimer.c (alarm_signal_handler): Add forward declaration.
10843
a6981b11
GM
10844 * data.c (set_internal): Remove debug code.
10845
25fa6deb
GM
108462000-06-14 Gerd Moellmann <gerd@gnu.org>
10847
dce6b995
GM
10848 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10849
9f817ea4
GM
10850 * unexec.c (toplevel) [COFF]: Include coff.h.
10851
10852 * s/lynxos.h: New file.
10853
10854 * keymap.c (Fsingle_key_description): Enclose function key and
10855 event symbol names in angle brackets.
10856
8a4e3c0c
GM
10857 * xdisp.c (setup_echo_area_for_printing): Call
10858 message_log_maybe_newline if message_buf_print is not set.
10859
10860 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10861 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10862 function does something useful even when message_buf_print is
10863 already set.
10864
52283633
SM
10865 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10866 New variables.
25fa6deb
GM
10867 (ensure_echo_area_buffers): Initialize echo buffer's
10868 truncate lines setting to nil.
10869 (with_echo_area_buffer): Don't set the echo buffer's truncate
10870 lines setting here.
8a4e3c0c 10871 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10872 of message_truncate_lines.
10873 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10874 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10875 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10876
10877 * keyboard.c (read_char): Bind message-truncate-lines to t
10878 while displaying a help-echo.
10879
10880 * lisp.h (Qmessage_truncate_lines): External declaration.
10881
163dcff3
GM
108822000-06-13 Gerd Moellmann <gerd@gnu.org>
10883
1681ead6
GM
10884 * xdisp.c (Vline_number_display_limit): Renamed from
10885 line_number_display_limit.
10886 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10887 Extend documentation string. Initialize
10888 Vline_number_display_limit to nil meaning no limit.
10889 (decode_mode_spec): Use Vline_number_display_limit with its new
10890 meaning.
10891
163dcff3
GM
10892 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10893
18e21ce8 108942000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10895
10896 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10897
163dcff3
GM
10898 * xfns.c (x_set_frame_parameters): Comment fix.
10899
10900 * frame.c (store_frame_param): Call swap_in_global_binding if the
10901 variable's current binding was chosen based on this frame.
10902
10903 * data.c (swap_in_global_binding): New function.
10904
a704139d
EZ
109052000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10906
10907 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10908 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10909
9b6610db
EZ
109102000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10911
10912 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10913
c68833d2
JR
109142000-06-12 Jason Rumney <jasonr@gnu.org>
10915
10916 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10917
10918 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10919
10920 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10921
10922 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10923
ed1056b3
GM
109242000-06-12 Gerd Moellmann <gerd@gnu.org>
10925
10926 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10927 (syms_of_xfaces): Defsubr Sdump_colors.
10928 (x_free_colors): Don't treat b&w specially on default visual.
10929 (x_free_dpy_colors): New function.
10930 (free_face_colors): Don't check visual class; it's done
10931 in x_free_colors.
10932
10933 * xterm.c (x_frame_of_widget): New function.
10934 (x_alloc_nearest_color_for_widget): Use it.
10935 (x_copy_dpy_color): New function.
10936 (x_destroy_window): Free various colors.
10937
5050a2ef
KH
109382000-06-12 Kenichi Handa <handa@etl.go.jp>
10939
10940 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10941
10942 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10943
10944 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10945
10946 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10947
10948 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10949
fb1b041d
DL
109502000-06-11 Dave Love <fx@gnu.org>
10951
10952 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10953
ff96b5f4
EZ
109542000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10955
10956 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10957
db8eeecd
GM
109582000-06-11 Gerd Moellmann <gerd@gnu.org>
10959
ed1056b3 10960 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10961 to `XEvent *'.
10962
49b71c5f
KH
109632000-06-10 Kenichi Handa <handa@etl.go.jp>
10964
c479bd55
KH
10965 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10966 (regex_compile): Fix the code for handling the case of single byte
10967 char and multibyte char being mixed in a range within [...].
10968
ff6a65c2
KH
10969 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10970 and dst_multibyte members of coding.
10971
49b71c5f
KH
10972 * charset.c (update_charset_table): Update the table
10973 bytes_by_char_head.
10974 (init_charset_once): Initialize elements of bytes_by_char_head to
10975 1 except for leading codes for private charases.
10976
10977 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10978 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10979
9e80b57d
KR
109802000-06-09 Ken Raeburn <raeburn@gnu.org>
10981
10982 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10983 access the data it doesn't point to.
10984
f83fe4b4
GM
109852000-06-08 Gerd Moellmann <gerd@gnu.org>
10986
10987 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10988 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10989 event queue. This is necessary because Emacs otherwise won't
10990 perform a switch-frame to a new frame until some other event, for
10991 example a keystroke event, forces it to do so. This has various
10992 effects, one visible being that the cursor of a frame created with
10993 C-x 5 2 or switched to with a window manager key binding like
10994 A-TAB stays hollow because selected_window isn't on the newly
10995 focused frame until the switch-frame is performed.
10996
10997 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10998 generating a switch-frame event if necessary.
10999
11000 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11001
11002 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11003 it's an integer.
11004
0890801b
KH
110052000-06-08 Kenichi Handa <handa@etl.go.jp>
11006
52283633 11007 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11008
173cbca8
GM
110092000-06-07 Gerd Moellmann <gerd@gnu.org>
11010
3091c2a6
GM
11011 * window.c (displayed_window_lines): Take empty lines at
11012 the bottom of a window into account.
427ec082 11013
f38952fe
GM
11014 * window.c (displayed_window_lines): New function.
11015 (Fmove_to_window_line): Use displayed_window_lines to determine
11016 the number of lines to move, instead of using the window's height.
11017
11018 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11019 to stop reading, even if the form read sets point to a different
11020 value when evaluated.
11021
427ec082 11022 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11023 put the cursor.
11024
6ba6c818
KH
110252000-06-07 Kenichi Handa <handa@etl.go.jp>
11026
11027 * fileio.c (e_write): Free composition data if stored in
11028 coding->cmp_data.
11029
5f1aea9a
GM
110302000-06-06 Gerd Moellmann <gerd@gnu.org>
11031
666852af
GM
11032 * xdisp.c (display_line): Set row's and iterator's
11033 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11034 Set cursor even if row ends in the middle of a character.
11035 (dump_glyph_row): Print values of new flags.
11036 (redisplay_window) <cursor movement in unchanged window>: When
11037 point has been moved forward, and PT is at the end of the cursor
11038 row, don't place the cursor in the next row if the cursor row ends
11039 in the middle of a character or at ZV.
11040
11041 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11042 (struct glyph_row): Add starts_in_middle_of_char_p and
11043 ends_in_middle_of_char_p.
11044 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11045 ends_in_middle_of_char_p flag.
11046 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11047
d13f3e2e
GM
11048 * term.c (append_glyph): Revert change of 2000-06-06.
11049
11050 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11051 padding glyph not fitting on line as whole character not
11052 fitting on line.
11053
5f1aea9a
GM
11054 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11055 this isn't true for images with `:ascent 100'.
11056
10cda9b0
KH
110572000-06-06 Kenichi Handa <handa@etl.go.jp>
11058
ed00559d
KH
11059 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11060 as modified if it is originally unmodified.
11061
10cda9b0
KH
11062 * term.c (encode_terminal_code): Change the way to check if
11063 terminal coding does any conversion.
11064 (append_glyph): Set glyph->pixel_width correctly.
11065
11066 * xdisp.c (display_line): While checking line continuation, pay
11067 attention to a padding glyph.
11068
1969fae2
GM
110692000-06-05 Gerd Moellmann <gerd@gnu.org>
11070
11071 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11072
162ccef4
DL
110732000-06-05 Dave Love <fx@gnu.org>
11074
f19f32dd
DL
11075 * xdisp.c: Include fontset.h.
11076
11077 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11078
11079 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11080
11081 * dispnew.c: Conditionally include term.h.
11082
11083 * coding.h: Declare code_convert_string_norecord.
11084
11085 * frame.h (struct frame): Use volatile unconditionally.
11086
11087 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11088
11089 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11090
11091 * systime.h: Protect against multiple inclusion.
11092 (timezone) [USG5_4]: Define as time_t.
11093
11094 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11095 (Foptimize_char_table, make_temp_name): Declare.
11096
11097 * Makefile.in (xdisp.o): Depend on fontset.h.
11098
11099 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11100
11101 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11102 (Foptimize_char_table, make_temp_name): Declare.
11103
427ec082 11104 * s/irix4-0.h:
162ccef4
DL
11105 * s/irix5-0.h:
11106 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11107
2082fe81
DL
111082000-06-02 Dave Love <fx@gnu.org>
11109
11110 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11111
dcf671d2
GM
111122000-06-02 Gerd Moellmann <gerd@gnu.org>
11113
11114 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11115 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11116 be freed.
11117
11118 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11119 glyph, use the ASCII NUL character to determine the face.
11120
d42122a3
DL
111212000-06-02 Dave Love <fx@gnu.org>
11122
11123 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11124 (VFORK_RETURN_TYPE): Remove.
427ec082 11125
d42122a3
DL
11126 * config.in: Add NO_MATHERR.
11127
dd432f16
DL
111282000-06-01 Dave Love <fx@gnu.org>
11129
90aa4ea8
DL
11130 * cmds.c (internal_self_insert): Don't check
11131 Vbefore_change_function, Vafter_change_function.
11132
11133 * insdel.c (signal_before_change, signal_after_change): Likewise.
11134
11135 * buffer.c (Vbefore_change_function, Vafter_change_function):
11136 Variables and their initializations deleted.
11137
2330c9d4
DL
11138 * callint.c (Fcall_interactively): Doc fix.
11139
dd432f16
DL
11140 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11141
bf9e8804
DL
111422000-05-31 Dave Love <fx@gnu.org>
11143
11144 * textprop.c: Revert last change -- duplicated.
11145
3694b4ab
GM
111462000-05-31 Gerd Moellmann <gerd@gnu.org>
11147
11148 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11149 in #if 0.
11150
11151 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11152
f14156cd
JR
111532000-05-31 Jason Rumney <jasonr@gnu.org>
11154
8119aab8
JR
11155 * search.c (Fre_search_forward, Fre_search_backward)
11156 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11157
f14156cd
JR
11158 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11159
4aab9be3
JR
111602000-05-30 Jason Rumney <jasonr@gnu.org>
11161
11162 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11163 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11164
52283633 11165 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11166
11167 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11168 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11169 expand a nil default_filename.
11170
11171 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11172 pointer to glyph_to_pixel_coords, not a frame.
11173
11174 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11175 coding.h to dependencies.
11176
11177 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11178
11179 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11180 window pointer to be consistent with w32term.c and xterm.c.
11181
11182 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11183 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11184 (Qline_spacing, Qcenter): New variables.
11185 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11186 (x_set_line_spacing): New function.
52283633 11187 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11188 (x_specified_cursor_type): New function.
11189 (x_set_cursor_type): Use it.
11190 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11191 and icon strings.
11192 (validate_x_resource_name, x_get_resource_string): Measure lengths
11193 of external strings in bytes.
11194 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11195 GetTextExtentPoint32 with NULL title.
11196 (Fx_create_frame): Initialize Qline_spacing.
11197 (w32_load_system_font): Initialize font->double_byte_p.
11198 (x_to_w32_charset): Use Vw32_charset_info_alist.
11199 (Image, busy cursor, tooltip functions): Merged changes from
11200 xfns.c. Not yet functional on Windows.
11201
11202 * w32gui.h (W32FontStruct): Add double_byte_p member.
11203
11204 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11205 (emacs_button_translation): Use it.
11206 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11207 in `mask' to be set.
11208
11209 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11210 menu strings.
11211
11212 * w32term.c: Format and doc changes to bring closer to xterm.c.
11213 (w32_char_font_type): New enum.
11214 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11215 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11216 (w32_encode_char): New function.
11217 (x_encode_char): Removed.
11218 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11219 x_encode_char and w32_font_is_double_byte.
11220 (x_produce_image_glyph): Use image_ascent.
11221 (x_produce_glyphs): Use new version of w32_per_char_metric and
11222 handle NULL return value. Allow extra line spacing.
11223 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11224 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11225 w32_font_type member of glyph instead.
11226 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11227 (fast_find_position): Make sure not to consider rows not visible
11228 in the window.
11229 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11230 w32_menu_display_help with input blocked, as it can abort.
11231 (x_display_and_set_cursor): Choose cursor depending
11232 on buffer-local value of cursor_type.
11233 (x_draw_bar_cursor): Add parameter WIDTH.
11234
11235 * w32term.h (CP_DEFAULT): Define.
11236 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11237
10fc3187
GM
112382000-05-30 Gerd Moellmann <gerd@gnu.org>
11239
11240 * search.c (Fre_search_forward, Fre_search_backward)
11241 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11242
d0555360
KH
112432000-05-30 Kenichi Handa <handa@etl.go.jp>
11244
11245 * coding.c (detect_coding_iso2022): Fix code for checking
11246 CODING_CATEGORY_MASK_ISO_8_2.
11247
f1ad044f
SM
112482000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11249
11250 * regex.c (PREFETCH_NOLIMIT): New function.
11251 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11252
84ec3b4b
GM
112532000-05-29 Gerd Moellmann <gerd@gnu.org>
11254
66254a13
GM
11255 * syntax.c (find_defun_start): Move test for
11256 open_paren_in_column_0_is_defun_start outside of the loop.
11257
49e70dec
GM
11258 * xdisp.c (redisplay_window): Really switch buffers when
11259 displaying mode lines, and temporarily set selected_frame to the
11260 frame of the window that's redisplayed.
11261
84ec3b4b
GM
11262 * xfaces.c (free_realized_faces): Block/unblock input.
11263 (free_realized_multibyte_face): Ditto.
11264
869a3a14
DL
112652000-05-29 Dave Love <fx@gnu.org>
11266
11267 * textprop.c (Qkeymap): New variable.
11268 (syms_of_textprop): Intern it.
11269
11270 * keymap.c: Include intervals.h.
11271 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11272
11273 * Makefile.in (keymap.o): Depend on intervals.h.
11274
11275 * keyboard.c (menu_bar_items, tool_bar_items)
11276 (Fexecute_extended_command): Deal with `keymap' property.
11277 (read_key_sequence): Track map from `keymap' property as well as
11278 `local_map'.
11279
11280 * intervals.c (get_local_map): Extra arg to allow looking for
11281 `keymap' too.
11282
11283 * intervals.h (map_property): New enum.
11284 (get_local_map): Extra arg using it.
11285 (Qkeymap): Declare.
11286
84ec3b4b 11287 * lisp.h (get_local_map): Don't declare here.
869a3a14 11288
89d0c844
KH
112892000-05-29 Kenichi Handa <handa@etl.go.jp>
11290
11291 * Makefile.in (callproc.o): Depend on composite.h.
11292
11293 * callproc.c: Include composite.h.
11294 (Fcall_process): Handle composition correctly.
11295
11296 * coding.h (coding_allocate_composition_data): Extern it.
11297 (coding_restore_composition): Likewise.
11298
11299 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11300 yet allocated, finish decoding with result
11301 CODING_FINISH_INSUFFICIENT_CMP.
11302 (coding_allocate_composition_data): Make it non-static.
11303 (coding_restore_composition): Likewise.
11304
797a084a
EZ
113052000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11306
11307 * charset.c (syms_of_charset): Revert last change.
11308
cf872af5
EZ
113092000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11310
11311 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11312 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11313 Handa.
cf872af5 11314
5b1ae051
EZ
113152000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11316
11317 * charset.c (syms_of_charset): Set width of character sets
11318 eight-bit-control and eight-bit-graphic to 1 column.
11319
34ec9ebe
GM
113202000-05-26 Gerd Moellmann <gerd@gnu.org>
11321
11322 * config.in (HAVE_SPEED_T): New define.
11323
11324 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11325 `extern speed_t'.
11326
dd854dc2
DL
113272000-05-26 Dave Love <fx@gnu.org>
11328
11329 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11330
11331 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11332 (Fsubr_arity): New function.
11333 (syms_of_data): Install them.
11334
ba9f8f95
KH
113352000-05-26 Kenichi Handa <handa@etl.go.jp>
11336
0f3e0672
KH
11337 * charset.c (init_charset_once): Set the table bytes_by_char_head
11338 correctly.
11339
cebefb44
KH
11340 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11341 the default fontset to what Emacs uses by default.
0f3e0672
KH
11342 (check_registry_encoding): This function deleted.
11343 (Fset_fontset_font): Remove the adhoc condition for the default
11344 fontset. Allow cons in FONTNAME.
cebefb44 11345
0f3e0672
KH
11346 * fns.c (map_char_table): Ignore char-table entries for
11347 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11348
7a18af49
KR
113492000-05-25 Ken Raeburn <raeburn@gnu.org>
11350
11351 * emacs.c (main): Initialize keyboard syms before initializing
11352 window code, so face names are available.
11353
d2af47df
SM
113542000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11355
11356 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11357 of an anchor at the beginning of a shy-group.
11358
fc6a6a4e
GM
113592000-05-25 Gerd Moellmann <gerd@gnu.org>
11360
11361 * xdisp.c (handle_invisible_prop): Don't try to skip over
11362 invisible text if end of text is already reached.
11363
005f0d35
DL
113642000-05-25 Dave Love <fx@gnu.org>
11365
02513cdd
DL
11366 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11367
005f0d35
DL
11368 * coding.c (encode_eol): Add null statement after label.
11369
89f6ca4e
EZ
113702000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11371
11372 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11373 2000-05-20.
11374
a4e1759e
KH
113752000-05-25 Kenichi Handa <handa@etl.go.jp>
11376
11377 * ccl.c (ccl_driver): Fix previous change.
11378
eacfd7fe
KH
113792000-05-25 Kenichi Handa <handa@etl.go.jp>
11380
46ab33a9
KH
11381 * coding.c (run_pre_post_conversion_on_str): Set point to the
11382 beginning of buffer before calling coding->post_read_conversion.
11383 (decode_coding_string): Give correct args to
11384 run_pre_post_conversion_on_str.
11385 (encode_coding_string): Likewise.
11386
eacfd7fe
KH
11387 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11388 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11389 eight-bit-graphic correctly.
11390
f8569325
DL
113912000-05-24 Kenichi HANDA <handa@etl.go.jp>
11392
11393 * fileio.c (Finsert_file_contents): Even if a file is not found,
11394 execute codes for setting up coding system. Call
11395 after-insert-file-functions unconditionally.
11396
04545643
GM
113972000-05-24 Gerd Moellmann <gerd@gnu.org>
11398
11399 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11400 BSD_PGRPS are not defined.
11401
747d90ea
KH
114022000-05-24 Kenichi Handa <handa@etl.go.jp>
11403
11404 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11405 DESCRIPTION.
11406 (syms_of_charset): Avoid building same strings.
11407
716e3b88
GM
114082000-05-23 Gerd Moellmann <gerd@gnu.org>
11409
11410 * lread.c (Fload): Add a comment about the meaning of
11411 Vuser_init_file being t.
11412
11413 * puresize.h (BASE_PURESIZE): Increase to 675000.
11414
11415 * s/gnu-linux.h (setpgrp): Don't define it here because this
11416 prevents compilation on GNU/Linux systems with glib 2.2.
11417
11418 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11419 as setpgid.
427ec082 11420
9aeb39fa
EZ
114212000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11422
11423 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11424 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11425 version.
11426 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11427
29ced61b
KH
114282000-05-23 Kenichi Handa <handa@etl.go.jp>
11429
52283633 11430 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11431
3d80f24d
KH
11432 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11433
52283633 11434 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11435
29ced61b
KH
11436 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11437
d7e00792
KH
114382000-05-22 Kenichi Handa <handa@etl.go.jp>
11439
c9d80d38
KH
11440 * keyboard.c (read_char): Allow character codes 128..255 to be
11441 handled by input-method-function.
11442
d7e00792
KH
11443 * insdel.c (adjust_markers_for_replace): Fix previous change.
11444 (adjust_after_replace): If PREV_TEXT is nil, call
11445 adjust_markers_for_insert, not adjust_markers_for_replace.
11446
087121cc 114472000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11448
087121cc
GM
11449 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11450 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11451 [HAVE_GRANDPT]: Define.
11452 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11453
11454 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11455 like SYSV_PTYS.
11456
11457 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11458
11459 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11460
c9671f81
KH
114612000-05-20 Kenichi Handa <handa@etl.go.jp>
11462
11463 The following changes are to handle 8-bit characters in a
11464 multibyte buffer/string without facing with byte combining
11465 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11466 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11467
11468 * Makefile.in (fns.o): Depend on charset.h.
11469
11470 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11471 convert it to unibyte.
11472 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11473
11474 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11475 apparent char boundary.
11476 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11477 0x80..0x9F to/from multibyte form.
11478
11479 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11480 to unibyte.
11481
11482 * callproc.c (Fcall_process): Always encode an argument string if
11483 it is multibyte. Setup src_multibyte and dst_multibyte members of
11484 process_coding properly.
ce75fd23 11485
c9671f81
KH
11486 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11487 SPLIT_NON_ASCII_CHAR.
11488
11489 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11490 as is.
11491 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11492
52283633 11493 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11494 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11495 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11496 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11497 and eight-bit-graphic.
11498 (char_to_string): Likewise. Signal an error for too large
11499 character code.
11500 (char_printable_p): Return 0 for 8-bit characters.
11501 (update_charset_table): Update iso_charset_table only when a final
11502 character is non-negative.
11503 (find_charset_in_text): Renamed from find_charset_in_str.
11504 Arguments and return value changed. Callers changed.
11505 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11506 be -1 if CHARSET is used only internally.
11507 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11508 eight-bit-graphic.
11509 (Fcharset_after): Simplified.
11510 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11511 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11512 (multibyte_chars_in_text): Simplified by assuming there's no
11513 invalid multibyte sequence.
52283633
SM
11514 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11515 (str_as_unibyte): New functions.
11516 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11517 (init_charset_once): Initialization for
11518 LEADING_CODE_8_BIT_CONTROL.
11519 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11520 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11521 eight-bit-control and eight-bit-graphic.
11522
52283633
SM
11523 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11524 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11525 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11526 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11527 (CHARSET_REVERSE_CHARSET): Likewise.
11528 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11529 eight-bit-graphic.
11530 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11531 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11532 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11533 encounter an invalid multibyte sequence.
11534 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11535 sequence is always valid.
11536 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11537 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11538 (CHAR_STRING): For 8-bit characters, call char_to_string.
11539 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11540 multibyte sequence is always valid.
11541 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11542 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11543 (str_as_unibyte): Extern them.
c9671f81 11544 (BCOPY_SHORT): Fix a bug.
52283633 11545 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11546 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11547 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11548 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11549
bd4bde7f 11550 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11551 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11552 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11553 (EMIT_BYTES): New macros.
11554 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11555 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11556 macros deleted.
11557 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11558 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11559 check the validity of multibyte sequence.
11560 (decode_coding_emacs_mule): New function.
11561 (encode_coding_emacs_mule): New macro.
11562 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11563 the source.
11564 (DECODE_ISO_CHARACTER): Just return a character code.
11565 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11566 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11567 EMIT_CHAR to produced decoded characters. Exit the loop only by
11568 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11569 block here.
11570 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11571 only position codes for an invalid character.
11572 (encode_designation_at_bol): Return new destination pointer. 5th
11573 arg DSTP is changed to DST.
11574 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11575 from the source by ONE_MORE_CHAR. Don't handle the case of last
11576 block here.
11577 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11578 macros deleted.
52283633
SM
11579 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11580 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11581 TWO_MORE_BYTES to fetch a byte from the source.
11582 (encode_eol): Pay attention to coding->src_multibyte.
11583 (detect_coding, detect_eol): Preserve members src_multibyte and
11584 dst_multibyte.
11585 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11586 (encoding_buffer_size): Set magnification to 3 for all coding
11587 systems that require encoding.
11588 (ccl_coding_driver): For decoding, be sure that the result is
11589 valid multibyte sequence.
11590 (decode_coding): Initialize coding->errors and coding->result.
11591 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11592 and raw-text, always call decode_eol. Handle the case of last
11593 block here. If not coding->dst_multibyte, convert the resulting
11594 sequence to unibyte.
11595 (encode_coding): Initialize coding->errors and coding->result.
11596 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11597 and raw-text, always call encode_eol. Handle the case of last
11598 block here.
11599 (shrink_decoding_region, shrink_encoding_region): Detect cases
11600 that we can't skip data more rigidly.
11601 (code_convert_region): Setup src_multibyte and dst_multibyte
11602 members of coding. For decoding, if the buffer is multibyte,
11603 convert the source sequence to unibyte in advance. For encoding,
11604 if the buffer is multibyte, convert the resulting sequence to
11605 multibyte afterward.
11606 (run_pre_post_conversion_on_str): New function.
11607 (code_convert_string): Deleted and divided into the following two.
11608 (decode_coding_string, encode_coding_string): New functions.
11609 (code_convert_string1, code_convert_string_norecord): Call one of
11610 above.
11611 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11612 MAKE_NON_ASCII_CHAR.
52283633
SM
11613 (Fset_terminal_coding_system_internal)
11614 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11615 and dst_multibyte members.
11616 (init_coding_once): Initialize iso_code_class with new enum
11617 ISO_control_0 and ISO_control_1.
11618
11619 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11620 devided into ISO_control_0 and ISO_control_1.
11621 (struct coding_system): New members src_multibyte, dst_multibyte,
11622 errors, and result. Delete member fake_multibyte.
11623 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11624 nonzero.
11625 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11626 nonzero.
11627
11628 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11629 (Faset): Likewise.
11630
11631 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11632 multibyte form.
11633 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11634 combining occurs.
11635 (Ftranspose_region): Delete codes for handling byte combining.
11636
11637 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11638 dst_multibyte members of coding. On handling REPLACE on unibyte
11639 buffer, convert the result of decode_coding to unibyte. On
11640 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11641 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11642 multibyteness of the source (buffer or string).
11643
11644 * fns.c (concat): Handle 8-bit characters correctly.
11645 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11646 unibyte in the result.
11647 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11648 valid multibyte form in the result.
11649 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11650 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11651 return -1, signal an error.
11652 (base64_encode_1): New arg MULTIBYTE. Get each character by
11653 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11654 character is found, return -1.
11655 (Fbase64_decode_region): Delete codes for handling byte-combining.
11656 Treat each decoded byte as a unibyte character.
11657 (Fbase64_decode_string): Return unibyte string.
11658 (Fcompare_strings, concat, string_byte_to_char): Use
11659 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11660 FETCH_STRING_CHAR_ADVANCE.
11661 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11662 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11663
11664 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11665 SPLIT_NON_ASCII_CHAR.
11666 (fontset_ref_via_base, fontset_set): Likewise
11667
11668 * insdel.c (adjust_markers_for_record_delete): Deleted.
11669 (adjust_markers_for_insert): Argument changed. Caller changed.
11670 (adjust_markers_for_replace): Likewise.
52283633
SM
11671 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11672 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11673 (copy_text): Delete unused local varialbe c_save. For converting
11674 to multibyte, be sure to make all 8-bit characters in valid
11675 multibyte form.
11676 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11677 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11678 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11679 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11680 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11681 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11682 handling byte combining.
11683 (adjust_before_replace): Deleted.
427ec082 11684
c9671f81
KH
11685 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11686 SPLIT_NON_ASCII_CHAR.
11687 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11688 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11689 (Fkey_description): Likewise.
11690
11691 * lread.c (read1): On reading multibyte string, be sure to make
11692 all 8-bit chararacters in valid multibyte form.
11693 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11694
11695 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11696 unconditionally.
11697
11698 * process.c (Fstart_process): GCPRO current_dir before calling
11699 Ffind_operation_coding_system. Encode arguments here.
11700 (create_process): Don't encode arguments here. Setup
11701 src_multibyte and dst_multibyte members of struct coding.
11702 (read_process_output): Setup src_multibyte and dst_multibyte
11703 members of struct coding. If the output is to multibyte buffer,
11704 always decode the output of the process. Adjust the
52283633 11705 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11706 (send_process): Setup coding->src_multibyte according to the
11707 multibyteness of the source.
11708
52283633 11709 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11710 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11711 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11712
52283633 11713 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11714
11715 * w16select.c (Fw16_set_clipboard_data): Setup members
11716 src_multibyte and dst_multibyte of coding. Adjusted for the
11717 change for find_charset_in_str.
11718 (Fw16_get_clipboard_data): Likewise.
11719
11720 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11721 dst_multibyte of coding.
11722 (x_to_w32_font): Likewise.
11723
11724 * w32select.c (Fw32_set_clipboard_data): Setup members
11725 src_multibyte and dst_multibyte of coding. Adjusted for the
11726 change for find_charset_in_str.
11727 (Fw32_get_clipboard_data): Likewise.
11728
11729 * xdisp.c (get_next_display_element): Handle 8-bit characters
11730 correctly.
52283633
SM
11731 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11732 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11733
11734 * xselect.c (selection_data_to_lisp_data): Setup members
11735 src_multibyte and dst_multibyte of coding. Adjusted for the
11736 change for find_charset_in_str.
11737 (lisp_data_to_selection_data): Likewise.
11738
5f64c9e0
GM
117392000-05-19 Gerd Moellmann <gerd@gnu.org>
11740
52283633 11741 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11742
5f64c9e0
GM
11743 * dispextern.h (Vimage_types): Add extern declaration.
11744
11745 * xdisp.c (Vimage_types): Moved here from xfns.c.
11746 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11747
11748 * xfns.c (Vimages_types): Moved to xdisp.c.
11749 (syms_of_xfns): Move `image-types' to xdisp.c.
11750
11751 * w32fns.c (Vimage_types): Removed.
11752 (syms_of_w32fns): Remove `image-types'.
11753
813086ea
KH
117542000-05-18 Kenichi Handa <handa@etl.go.jp>
11755
11756 * fns.c (map_char_table): Pay attention to character number of
11757 charset. Check the validity of charset at the first level. For
11758 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11759 the default value.
11760
11761 * fontset.c: Include "buffer.h".
11762 (fs_load_font): If the face has fontset, record the face ID in
11763 that fontset.
11764 (Finternal_char_font): New function.
11765 (accumulate_font_info): New function.
11766 (Ffontset_info): Rewritten for the new fontset implementation.
11767 (syms_of_fontset): Register Vdefault_fontset in the first element
11768 of Vfontset_table. Include Vdefault_fontset in
11769 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11770 function.
11771
bdaebbf0
DL
117722000-05-16 Dave Love <fx@gnu.org>
11773
11774 * m/iris5d.h: Deleted -- unused.
11775
cb613bb8
GM
117762000-05-16 Gerd Moellmann <gerd@gnu.org>
11777
b15f3b77
GM
11778 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11779 `invalid' instead of `illegal'.
11780
11781 * indent.c (Fmove_to_column): When ending within a tab, insert
11782 spaces first so that markers at the end of the tab get adjusted.
11783
835c1b36
GM
11784 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11785 buffer list that wasn't selected in that frame.
11786
cb613bb8
GM
11787 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11788 is needed on mescaline, use a 2 char prefix, and call
11789 make_temp_name with second arg non-zero.
11790
11791 * fileio.c (make_temp_name): New function, extracted from
11792 Fmake_temp_name.
11793 (Fmake_temp_name): Use it.
11794
f685bea9
EZ
117952000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11796
52283633 11797 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11798
a1b8d58b
GM
117992000-05-15 Gerd Moellmann <gerd@gnu.org>
11800
11801 * Makefile.in (lisp): Add env.elc.
11802
11803 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11804
a265079f
GM
118052000-05-12 Gerd Moellmann <gerd@gnu.org>
11806
11807 * search.c (Freplace_match): Handle case of `\N' in the
11808 replacement when there's no group N.
11809
da4496b6
GM
118102000-05-11 Gerd Moellmann <gerd@gnu.org>
11811
0ace421a
GM
11812 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11813 of the message to message_dolog.
11814
1172eb8d
GM
11815 * keyboard.c (read_char): Don't clear current message for help
11816 events; let the code handling help events handle this. Change
11817 code detecting help events that should be ignored.
11818
da4496b6
GM
11819 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11820 we're interating over a string.
11821
0623e40f
DL
118222000-05-09 Dave Love <fx@gnu.org>
11823
11824 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11825 that offset before writing. Move gcpro region past call of
11826 Ffile_regular_p.
11827
bae2503b
DL
118282000-05-04 Dave Love <fx@gnu.org>
11829
11830 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11831
ec82fb2f
GM
118322000-05-04 Gerd Moellmann <gerd@gnu.org>
11833
11834 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11835 of inserted characters when BUF equals the current buffer, and PT
11836 is in front of or equal to FROM.
11837
cbf18892
GM
118382000-05-03 Gerd Moellmann <gerd@gnu.org>
11839
4ff40dd0
GM
11840 * xdisp.c (handle_single_display_prop): If display property value
11841 is invalid, or something not supported on the frame, restore
11842 iterator's position to what it was initially. Make sure to return
11843 0 for invalid and unsupported property values.
11844
cbf18892
GM
11845 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11846 that x_per_char_metric returns null.
11847
1b0672c3
GM
118482000-05-02 Gerd Moellmann <gerd@gnu.org>
11849
576da55d
GM
11850 * xterm.h (struct face): Add forward declaration.
11851 (struct image): Ditto.
11852 (image_ascent): Add prototype.
11853
11854 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11855 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11856 image_ascent instead of using IMAGE_ASCENT.
11857
11858 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11859 (IMAGE_ASCENT): Removed.
11860
11861 * xfns.c (Qcenter): New variable.
11862 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11863 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11864 (image_ascent): New function.
11865 (lookup_image): Recognize `:ascent center'.
11866 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11867 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11868 (xbm_load): Don't set image's ascent here.
11869 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11870 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11871 check ascent values here.
11872 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11873 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11874 (syms_of_xfns): Initialize Qcenter.
11875
1b0672c3
GM
11876 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11877 to the limits, increase the limits.
11878
0d7811ed
KH
118792000-05-01 Kenichi Handa <handa@etl.go.jp>
11880
11881 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11882 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11883
a943a5ca
GM
118842000-04-28 Gerd Moellmann <gerd@gnu.org>
11885
11886 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11887 taller than the window.
11888
5dba1e29
KH
118892000-04-28 Kenichi Handa <handa@etl.go.jp>
11890
11891 * xfaces.c (realize_x_face): Fix the argument of the second
11892 xassert. BASE_FACE may not be a face for ASCII.
11893
353964e3
GM
118942000-04-27 Gerd Moellmann <gerd@gnu.org>
11895
c76e04a8
GM
11896 * print.c (print_object): Treat print-length < 0 as nil.
11897
11898 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11899
11900 * s/freebsd.h (TERMCAP_OBJ): Removed.
11901 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11902
11903 * lread.c (read1): Don't treat period followed by certain
11904 characters as symbol start.
11905
11906 * xfns.c (slurp_file): New function.
11907 (xbm_image_p): Handle case of in-memory XBM files.
11908 (xbm_scan): Rewritten to work on memory buffers instead of files.
11909 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11910 Work on memory buffers instead of files. If DATA is null test
11911 if buffer looks like an in-memory XBM file.
11912 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11913 memory buffers instead of files.
11914 (xbm_file_p): New function.
11915 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11916
353964e3
GM
11917 * lread.c (end_of_file_error): New function.
11918 (read1): Call it instead of signaling `end-of-file' directly.
11919
427ec082 11920 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11921 with Fprinc instead of Fprin1.
11922
24d744ac
KR
119232000-04-26 Ken Raeburn <raeburn@gnu.org>
11924
11925 * window.c (freeze_window_start): Check that minibuffer scroll
11926 window isn't nil before extracting the window structure pointer
11927 from it.
11928
11929 * undo.c (record_delete): If we hit the end of the undo list, stop
11930 picking elements apart.
11931
7464346d
GM
119322000-04-26 Gerd Moellmann <gerd@gnu.org>
11933
11934 * xdisp.c (display_line): If lines are continued, restore
11935 iterator's ascent/descent information to the values before the
11936 first glyph not fitting on the line.
11937
612839b6
GM
119382000-04-25 Gerd Moellmann <gerd@gnu.org>
11939
11940 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11941 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11942
11943 * dispnew.c (increment_matrix_positions): Renamed from
11944 increment_glyph_matrix_buffer_positions.
11945 (increment_row_positions): Renamed from
11946 increment_glyph_row_buffer_positions.
11947
11948 * dispextern.h: Change names of renamed functions from dispnew.c
11949 in prototypes.
11950
cc181e95
GM
119512000-04-24 Gerd Moellmann <gerd@gnu.org>
11952
abfcc168
GM
11953 * fileio.c (Fdo_auto_save): Create directories for auto-save
11954 list file if necessary.
11955
cc181e95
GM
11956 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11957 from buffer or frame.
11958 (automatic_hscrolling_p): New variable.
11959 (hscroll_windows): Scroll windows horizontally only if automatic
11960 hscrolling is allowed.
11961 (syms_of_xdisp): New variable `automatic-hscrolling'.
11962
11963 * frame.h (struct frame): Add member extra_line_spacing.
11964
11965 * xfns.c (x_set_line_spacing): New function.
11966 (Fx_create_frame): Set line spacing from resources.
11967 (Qline_spacing): New variable.
11968 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11969
cc181e95
GM
11970 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11971
11972 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11973 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11974 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11975 extra_line_spacing from default value.
11976 (init_buffer_once): Initialize default value of extra_line_spacing.
11977
11978 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11979 and extra3.
11980
11981 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11982 prompt_width. Add extra line spacing.
11983
11984 * term.c (produce_glyphs): Remove reference to struct it's
11985 prompt_width.
11986
11987 * dispextern.h (struct it): Remove member prompt_width, add
11988 extra_line_spacing.
11989
58827478
GM
119902000-04-22 Gerd Moellmann <gerd@gnu.org>
11991
11992 * dispnew.c (update_frame_line): When writing a whole line, make
11993 sure cursor is in the right row afterwards, otherwise a use of
11994 capability `ch' in cmgoto might leave the cursor in the row below.
11995
25a87f42
GM
119962000-04-21 Gerd Moellmann <gerd@gnu.org>
11997
11998 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11999
12000 * keyboard.c (timer_check): Fix typo in comment.
12001
54edf5c2
KH
120022000-04-21 Kenichi Handa <handa@etl.go.jp>
12003
12004 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12005 name change: ch -> character.
12006
3a64eef5
GM
120072000-04-20 Gerd Moellmann <gerd@gnu.org>
12008
12009 * keyboard.c (echo_message_buffer): New variable.
12010 (echo_now): Set echo_message_buffer to the echo area buffer used
12011 to display the echo.
12012 (cancel_echoing): Reset echo_message_buffer to nil.
12013 (read_char): Code rewritten that handles canceling an echo or
12014 echoing a dash, respectively.
12015
12016 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12017 directory doesn't exist.
12018
6142fdcb
DL
120192000-04-19 Dave Love <fx@gnu.org>
12020
12021 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12022 (concat): Don't allow numeric args.
12023 (Fconcat): Doc change.
6142fdcb 12024
ac6b5352
SM
120252000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12026
12027 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12028 instead define end_match(1|2) more carefully.
12029 Use GET_CHAR_BEFORE_2 for `begline'.
12030
cb9215e4
GM
120312000-04-19 Gerd Moellmann <gerd@gnu.org>
12032
5e3dac3f
GM
12033 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12034 on 64-bit systems where NULL is defined as `0'.
12035
12036 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12037 the `variable argument list' to make it work on Alpha.
12038
cb9215e4
GM
12039 * m/alpha.h (_LP64) [!_LP64]: Define.
12040 (ORDINARY_LINK): Define for NetBSD.
12041
12042 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12043
f532dca0
DL
120442000-04-19 Dave Love <fx@gnu.org>
12045
c750667e
DL
12046 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12047 change.
12048
12049 * Makefile.in (LIBS): Don't use.
12050 (GETLOADAVG_OBJ): Define again.
12051 (otherobj): Add GETLOADAVG_OBJ.
12052
f532dca0
DL
12053 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12054
1c7e22fd
GM
120552000-04-18 Gerd Moellmann <gerd@gnu.org>
12056
f6d3257b
GM
12057 * lread.c (read_filtered_event): Cancel and start busy cursor.
12058
427ec082 12059 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12060 that the per-character metrics may be null.
12061
e10f64e7
GM
120622000-04-17 Gerd Moellmann <gerd@gnu.org>
12063
0daee095
GM
12064 * buffer.c (clone_per_buffer_values): New function.
12065 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12066 clone_per_buffer_values if CLONE is not nil.
12067
e10f64e7
GM
12068 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12069
38687d43
DL
120702000-04-16 Dave Love <fx@gnu.org>
12071
12072 * Makefile.in: Remove obsolete localcpp stuff.
12073 (GETLOADAVG_OBJ): Don't define.
12074 (obj): Move LIBOBJS...
12075 (otherobj): ... to here.
12076 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12077 whitespace-only lines after the continuation (Irix).
12078
c21c7262
GM
120792000-04-14 Gerd Moellmann <gerd@gnu.org>
12080
12081 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12082
12083 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12084
314767c0
DL
120852000-04-14 Dave Love <fx@gnu.org>
12086
12087 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12088 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12089 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12090 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12091 NLIST_STRUCT.
12092
12093 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12094 autoconfiscated HAVE_GETLOADAVG.
12095
12096 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12097 BROKEN_MKTIME.
12098
a2522dca
GM
120992000-04-14 Gerd Moellmann <gerd@gnu.org>
12100
12101 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12102 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12103
33744b5d
DL
121042000-04-14 Dave Love <fx@gnu.org>
12105
c21c7262 12106 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12107 (INTERVAL_SRC): Convert to make variable.
12108 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12109 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12110 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12111 add LIBOBJS.
12112 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12113 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12114 (shortlisp): Add facemenu, float-sup, frame.
12115 (SOME_MACHINE_LISP): Remove them from here.
12116 (LIBES): Change unused LDLIBS to autoconf LIBS.
12117
12118 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12119
9d3d5916
KH
121202000-04-14 Kenichi Handa <handa@etl.go.jp>
12121
12122 * composite.c (update_compositions): If FROM and TO are not in a
12123 valid range, do nothing.
12124
198e3c7a
GM
121252000-04-13 Gerd Moellmann <gerd@gnu.org>
12126
52283633 12127 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12128
52283633 12129 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12130
12131 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12132 as TERMCAP_OBJ.
12133
055a28c9
EZ
121342000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12135
12136 * fileio.c (a_write): Remove redundant semi-colons.
12137 (e_write): Return -1 if failed to write all the data.
12138 This fixes the changes made at 1999-12-15.
12139
f5c75033
DL
121402000-04-12 Dave Love <fx@gnu.org>
12141
12142 * fns.c (mapcar1): Test for null vals to support mapc.
12143 (Fmapc): New function.
12144
0c3cfc51
EZ
121452000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12146
12147 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12148 (IT_frame_up_to_date): Support the buffer local value of
12149 cursor-type, if defined.
12150
33465a31
DL
121512000-04-10 Dave Love <fx@gnu.org>
12152
12153 * editfns.c (preceding-char, following-char): Doc fix.
12154
6ed56568
KR
121552000-04-10 Ken Raeburn <raeburn@gnu.org>
12156
12157 * Makefile.in (temacs): Revert 2000-03-12 change.
12158
7cf80d4e
JR
121592000-04-10 Jason Rumney <jasonr@gnu.org>
12160
12161 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12162
34f3f342
GM
121632000-04-10 Gerd Moellmann <gerd@gnu.org>
12164
1a1b1895
GM
12165 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12166 area buffer, if it's not set up yet.
12167
34f3f342
GM
12168 * indent.c (compute_motion): Set immediate_quit.
12169
be0dbdab
GM
121702000-04-09 Gerd Moellmann <gerd@gnu.org>
12171
52283633 12172 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12173 (realize_tty_face): Suppress boldness if colors are the inverse of
12174 the default colors, and tty_suppress_bold_inverse_default_colors_p
12175 is set.
12176 (Ftty_suppress_bold_inverse_default_colors): New function.
12177 (syms_of_xfaces): Defsubr it.
12178
be0dbdab
GM
12179 * buffer.c (Frestore_buffer_modified_p): New function.
12180 (syms_of_buffer): Defsubr it.
12181
e8413c3b
KR
121822000-04-08 Ken Raeburn <raeburn@gnu.org>
12183
87f67317
KR
12184 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12185 charset id (int) argument, not a charset (Lisp_Object).
12186
e8413c3b
KR
12187 * coding.h (code_convert_string): Declare.
12188 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12189 object, as the fourth argument to code_convert_string.
12190
52283633 12191 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12192 (Fset_fontset_font): Use EQ to compare lisp objects.
12193
7c752c80
KR
121942000-04-05 Ken Raeburn <raeburn@gnu.org>
12195
c0333abc
KR
12196 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12197 a pointer that looks like a lisp object.
12198 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12199 zero, instead see whether it's an integer object, since they can't
12200 have intervals.
12201 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12202
52283633
SM
12203 * dispnew.c (allocate_matrices_for_frame_redisplay)
12204 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12205 to convert between (unsigned) int values and lisp integers.
12206 * keyboard.c (read_key_sequence): Likewise.
12207 * lread.c (substitute_object_recurse): Likewise.
12208 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12209 * minibuf.c (do_completion, Fminibuffer_complete_word)
12210 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12211 * term.c (produce_special_glyphs): Likewise.
12212
12213 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12214 * print.c (print_preprocess, print_object): Likewise.
12215
12216 * search.c (compile_pattern): Use NILP when checking for nil.
12217
74e49b38
KR
12218 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12219 __OPTIMIZE__]: Provide a GNU C macro version that handles
12220 lisp-object unions.
12221 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12222 field, to better cope with ENABLE_CHECKING and calls that modify a
12223 Lisp_Object using its old value.
12224
685e5ed2
GM
122252000-04-04 Gerd Moellmann <gerd@gnu.org>
12226
c407c570
GM
12227 * window.c (compare_window_configurations): Signal an error
12228 if parameters C1 or C2 aren't window configurations.
12229
685e5ed2
GM
12230 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12231 AFTER_POTENTIAL_GC calls around calls to functions that can
12232 signal an error and thus invoke the debugger.
12233
587a49ab
GM
122342000-04-03 Gerd Moellmann <gerd@gnu.org>
12235
62f20204
GM
12236 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12237 an error if decoding fails.
12238
587a49ab
GM
12239 * keyboard.c (lispy_mouse_names): Variable removed.
12240 (Vlispy_mouse_stem): New variable.
12241 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12242 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12243 for any mouse button number. Increase size of mouse_syms and
12244 button_down_location as needed. Call modify_event_symbol with
12245 different arguments.
12246 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12247 Call modify_event_symbol with different arguments.
12248 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12249 for any button number. Call modify_event_symbol with different
12250 arguments.
12251 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12252 Accept a string for NAME_ALIST_OR_STEM.
12253
12254 * lisp.h (larger_vector): Add prototype.
12255
12256 * fns.c (larger_vector): Make externally visible.
12257
12258 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12259
2d1675e4
SM
122602000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12261
12262 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12263 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12264 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12265 we are between str1 and str2.
12266 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12267 (PATFETCH): Use `TRANSLATE'.
12268 (PATFETCH_RAW): Fetch multibyte char if applicable.
12269 (PATUNFETCH): Remove.
12270 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12271 When writing a char, write it directly into the pattern buffer rather
12272 than going needlessly through a temp char-array.
12273 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12274 multibyte magic and remove the useless `#ifdef emacs'.
12275 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12276 buffer.
12277
12278 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12279 conditional on `emacs'.
12280
12281 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12282
cc2d8c6b
KR
122832000-04-01 Ken Raeburn <raeburn@gnu.org>
12284
12285 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12286 non-union-type versions of XMARK and friends here, because XMARK
12287 and friends won't work on an integer field if NO_UNION_TYPE is not
12288 defined.
52283633 12289 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12290
52283633 12291 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12292 (syms_of_composite): Delete local var NARGS, pass an int as first
12293 argument to Fmake_hash_table.
12294
2387b382
KR
12295 * editfns.c (text_property_stickiness): Use NILP to test
12296 Lisp_Object boolean value.
12297 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12298 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12299 problems reading from and changing the same lisp value in an
12300 XSETSTRING call.
12301
27660e89
GM
123022000-04-01 Gerd Moellmann <gerd@gnu.org>
12303
12304 * term.c (TN_no_color_video): New variable.
12305 (term_init): Intitialize TN_no_color_video.
12306 (enum no_color_bit): New enumeration.
12307 (MAY_USE_WITH_COLORS_P): New macro.
12308 (turn_on_face): Use it to determine if attributes may be used
12309 combined with colors.
12310
3578db3c
KR
123112000-04-01 Ken Raeburn <raeburn@gnu.org>
12312
12313 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12314 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12315 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12316 proper accessor macros.
12317 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12318 (grow_mini_window): Fix typo getting int value of root->height.
12319
6fc556fd
KR
12320 * xdisp.c (compute_string_pos): Fix order of arguments to
12321 string_pos_nchars_ahead.
12322 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12323 count arg to variable-arg routines like Frun_hook_with_args and
12324 Fformat.
587a49ab
GM
12325 (back_to_previous_visible_line_start)
12326 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12327 fixed-arg routines like Fget_char_property and Fmake_string.
12328 (reconsider_clip_changes): Use XINT when comparing integer lisp
12329 objects, or passing them as int arguments.
587a49ab
GM
12330 (mark_window_display_accurate, insert_left_trunc_glyphs)
12331 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12332 storing or passing integer values as lisp objects.
12333 (set_cursor_from_row, highlight_trailing_whitespace): Use
12334 INTEGERP, not implicit test against zero, for glyph object.
12335 (try_window_id): Don't use make_number when we want an int value.
12336
12337 * xfaces.c (xlfd_symbolic_value): Make last argument a
12338 Lisp_Object, to be consistent with callers.
12339 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12340 (lface_hash): Apply XFASTINT to lisp values before folding in.
12341
12342 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12343 fill in window width and height. Pass an int, not a lisp object,
12344 as first arg to Finsert.
12345
6e7b2457
GM
123462000-04-01 Gerd Moellmann <gerd@gnu.org>
12347
610d841e
GM
12348 * xfaces.c (realize_basic_faces): Block input while realizing
12349 the faces.
12350
6e7b2457
GM
12351 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12352
12353 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12354
aa110c0c
GM
123552000-03-31 Gerd Moellmann <gerd@gnu.org>
12356
12357 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12358 or ASCII, handle case that per-char metric is null.
aa110c0c 12359
8801a864
KR
123602000-03-30 Ken Raeburn <raeburn@gnu.org>
12361
c6129d7e
KR
12362 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12363
52283633
SM
12364 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12365 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12366 pointer, using eassert.
12367 * frame.h (XFRAME): Likewise.
12368
52283633
SM
12369 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12370 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12371 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12372 * data.c (set_internal): Likewise.
52283633
SM
12373 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12374 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12375 * fileio.c (auto_save_1): Likewise.
12376 * insdel.c (check_markers): Likewise.
12377 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12378 * undo.c (record_insert): Likewise.
12379 * vmsproc.c (child_sig): Likewise.
12380 * window.c (unshow_buffer, window_loop): Likewise.
12381 * xterm.c (x_erase_phys_cursor): Likewise.
12382
8e7af858
GM
123832000-03-30 Gerd Moellmann <gerd@gnu.org>
12384
12385 * xfns.c (free_image_cache): Free the cache structure itself
12386 last, after all its members have been freed.
12387
12388 * lisp.h (xstrdup): Add prototype.
12389
12390 * alloc.c (xstrdup): Moved here from xfaces.c.
12391 (allocating_for_lisp): Variable removed.
52283633 12392 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12393
12394 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12395 of Fsymbol_value.
12396 (xstrdup): Moved to alloc.c.
12397
e0b8c689
KR
123982000-03-29 Ken Raeburn <raeburn@gnu.org>
12399
b96f9fb7
KR
12400 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12401
12402 * emacs.c (main): Fix sense of no-loadup test.
12403
e0b8c689
KR
12404 * config.in (ENABLE_CHECKING): Undef.
12405
12406 * lisp.h (struct interval): Replace "parent" field with a union of
12407 interval pointer and Lisp_Object; add new bitfield to use as
12408 discriminant. Change other flag fields to bitfields.
12409 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12410 is defined and the supplied test fails, print a message and abort.
12411 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12412
12413 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12414 pointers; abort if the value looks like a lisp object.
52283633
SM
12415 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12416 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12417 Modify for new interval parent definition.
12418
52283633
SM
12419 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12420 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12421 addressable lisp object in the interval structure.
12422 (die): New function.
12423 (suppress_checking): New variable.
12424
12425 * intervals.c (interval_start_pos): Just return 0 if there's no
12426 parent object.
12427
f83c5440
GM
124282000-03-29 Gerd Moellmann <gerd@gnu.org>
12429
12430 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12431 and earlier Emacs versions.
12432
12433 * keyboard.c (Ftop_level): Cancel busy-cursor.
12434
12435 * eval.c (call_debugger): Cancel busy-cursor.
12436
fdce64ff
KH
124372000-03-29 Kenichi Handa <handa@etl.go.jp>
12438
12439 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12440 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12441
f6a3f532
SM
124422000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12443
12444 * regex.c (analyse_first): New function obtained by ripping out most
12445 of re_compile_fastmap and generalizing it a little bit so that it
12446 can also just return whether a given (sub)pattern can match the empty
12447 string or not.
12448 (regex_compile): Use `analyse_first' to decide whether the loop-check
12449 needs to be done or not for *, +, *? and +? (the loop check is costly
12450 for non-greedy repetition).
12451 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12452
e9b309ac
DL
124532000-03-28 Dave Love <fx@gnu.org>
12454
52283633 12455 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12456
e9b309ac
DL
12457 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12458
ed0767d8
SM
124592000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12460
12461 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12462 an expression.
12463 (enum re_opcode_t): Update description of succeed_n.
12464 (PATFETCH): Always define.
12465 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12466 operators, char classes, shy-groups and intervals).
12467 Optimize special cases of intervals so as to only use succeed_n and
12468 jump_n when really needed.
12469 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12470 that we don't have to handle the special cases any more.
12471 Simplify on_failure_jump handling as well.
12472
e11e7e46
JR
124732000-03-28 Jason Rumney <jasonr@gnu.org>
12474
12475 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12476
88faab89
GM
124772000-03-27 Gerd Moellmann <gerd@gnu.org>
12478
182ff242
GM
12479 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12480
12481 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12482
182ff242
GM
12483 * alloc.c (mark_maybe_object): New function.
12484 (mark_memory): Use it.
12485 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12486 (setjmp_tested_p, longjmp_done): New variables.
12487 (test_setjmp): New function.
12488 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12489 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12490
c1005d06
GM
12491 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12492 to DEC_TEXT_POS and INC_TEXT_POS.
12493
12494 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12495 with parameter MULTIBYTE_P.
12496
52283633 12497 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12498
7439e5b9 12499 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12500 buffers because it looks for multibyte character byte sequences
12501 which don't exist in unibyte text.
7439e5b9 12502
d9c545da
GM
12503 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12504
11fd416e 12505 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12506 [DEBUG_X_COLORS]: New functions.
12507 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12508
12509 * xfns.c (x_set_cursor_color): Get color reference counts right.
12510
12511 * xterm.c (x_copy_color): New function.
12512 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12513
12514 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12515 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12516 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12517 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12518 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12519 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12520 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12521 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12522 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12523 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12524
11fd416e
GM
12525 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12526 names for handling per-buffer variables.
d9c545da
GM
12527
12528 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12529 instead of MAX_BUFFER_LOCAL_VARS.
12530 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12531
12532 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12533
88faab89
GM
12534 * xfns.c (x_specified_cursor_type): New function.
12535 (x_set_cursor_type): Use it.
12536
12537 * buffer.h (struct buffer): Add cursor_type.
12538
d80f42b7
SM
125392000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12540
12541 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12542 (print_partial_compiled_pattern, re_compile_fastmap):
12543 Handle new opcode.
d80f42b7
SM
12544 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12545 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12546 executing it as well as when popping it off the stack to find infinite
12547 loops in non-greedy repetition operators.
12548
89e80928
GM
125492000-03-26 Gerd Moellmann <gerd@gnu.org>
12550
3d4ff2dd
GM
12551 * doc.c (Qfunction_documentation): New variable.
12552 (syms_of_doc): Initialize Qfunction_documentation.
12553 (Fdocumentation): If FUNCTION is a symbol with non-nil
12554 `function-documentation' property, return a documentation derived
12555 from that.
12556
bd96bd79
GM
12557 * buffer.c (syms_of_buffer): Add default-cursor-type.
12558 (init_buffer_once): Don't let cursor_type have a local value
12559 in every buffer.
12560
19d1bc27
GM
12561 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12562 on buffer-local value of cursor_type.
12563 (x_draw_bar_cursor): Add parameter WIDTH.
12564
12565 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12566 (init_buffer_once): Set default cursor_type value to t.
12567 Mark cursor_type as local everywhere.
12568 (syms_of_buffer): New per-buffer variable cursor-type.
12569
89e80928
GM
12570 * buffer.h (struct buffer): Remove member local_var_flags,
12571 add local_flags.
12572 (MAX_BUFFER_LOCAL_VARS): New macro.
12573 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12574 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12575 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12576 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12577
52283633 12578 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12579
12580 * category.c (Fset_category_table): Use new macros for per-buffer
12581 variables.
12582
12583 * buffer.c (buffer_permanent_local_flags): Make a char array.
12584 (max_buffer_local_idx): New variable.
12585 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12586 for new handling of per-buffer variables.
12587 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12588 (init_buffer_once): Initialize per-buffer vars differently.
12589 Set max_buffer_local_idx.
12590
12591 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12592 variables.
12593
52283633 12594 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12595
12596 * data.c (do_symval_forwarding, store_symval_forwarding)
12597 (find_symbol_value, set_internal, default_value, Fset_default)
12598 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12599 per-buffer variables.
12600
12601 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12602
9a0dd3dc
GM
126032000-03-24 Gerd Moellmann <gerd@gnu.org>
12604
b68c375f
GM
12605 * xterm.c (x_term_init): Unblock input around call1 of
12606 Qvendor_specific_keysyms.
12607
9a0dd3dc
GM
12608 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12609 (find_defun_start): Consider an open parenthesis in column 0
12610 a defun start only if open_paren_in_column_0_is_defun_start is set.
12611 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12612
7973e637
SM
126132000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12614
12615 * eval.c (Fautoload): Add entry in load-history (if after dump).
12616 * lread.c (load-history): Update docstring.
12617
39210e90
GM
126182000-03-24 Gerd Moellmann <gerd@gnu.org>
12619
12620 * indent.c (Fvertical_motion): Always use the current buffer.
12621 Temporarily change the window's buffer, if necessary.
12622
72db3ab5
GM
126232000-03-23 Gerd Moellmann <gerd@gnu.org>
12624
12625 * xterm.c (fast_find_position): Make sure not to consider rows
12626 not visible in the window.
12627
990b2375
SM
126282000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12629
12630 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12631 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12632
ff4df011
JR
126332000-03-22 Jason Rumney <jasonr@gnu.org>
12634
12635 * w32menu.c (single_submenu): Set help string to NULL if none.
12636 (w32_menu_show): Set help string correctly.
12637 (add-menu-item): Set help string in MIIM_DATA for menu item.
12638 Load SetMenuItemInfoA explicitly.
12639 (w32_menu_display_help): New function.
427ec082 12640
ff4df011
JR
12641 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12642 (QCdata): Moved to xdisp.c.
12643
12644 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12645 (Vw32_charset_to_codepage_alist): Removed.
12646 (Vw32_charset_info_alist): New variable.
52283633
SM
12647 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12648 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12649 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12650 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12651 with TODO comment.
12652 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12653 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12654 Define Vw32_charset_info_alist and w32_charset symbols.
12655
126562000-03-22 Jason Rumney <jasonr@gnu.org>
12657
12658 * makefile.nt (w32bdf.obj): Update dependencies.
12659
12660 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12661
12662 * w32fns.c: Include fontset.h after dispextern.h.
12663 (Fx_create_frame): Do not create fontset.
12664 (w32_load_system_font): Doc fix.
12665 (Fx_close_connection): Free full_name if it is not shared.
12666
12667 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12668 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12669 Callers updated.
ff4df011
JR
12670 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12671 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12672 (w32_font_is_double_byte): New function, needs body.
12673 (x_append_glyph): Set glyph->glyph_not_available_p.
12674 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12675 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12676 character, convert it to a unibyte character.
12677 (struct glyph_string): Delete member `charset'.
12678 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12679 calculating it is found.
12680 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12681 the case that per char metric is not available correctly.
12682 (x_fill_glyph_string): Handle the case that the specific glyph is
12683 not available correctly.
12684 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12685 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12686 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12687 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12688 fontset. Don't call FS_LOAD_FONT.
12689
439d5cb4
KR
126902000-03-22 Ken Raeburn <raeburn@gnu.org>
12691
12692 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12693 (INT_LISPLIKE): New macro.
12694 (NULL_INTERVAL_P): Use it.
52283633
SM
12695 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12696 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12697 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12698
12699 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12700 explicit references to "parent" field of struct interval and
12701 associated unclean type conversions.
52283633
SM
12702 * intervals.c (create_root_interval, root_interval, rotate_right)
12703 (rotate_left, balance_possible_root_interval, split_interval_right)
12704 (split_interval_left, interval_start_pos, find_interval)
12705 (next_interval, previous_interval, update_interval)
12706 (adjust_intervals_for_insertion, delete_node, delete_interval)
12707 (adjust_intervals_for_deletion, merge_interval_right)
12708 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12709 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12710 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12711 Likewise.
12712 * syntax.c (update_syntax_table): Likewise.
12713
12714 * intervals.c (reproduce_tree_obj): New function, like
12715 reproduce_tree but takes a Lisp_Object for the parent. Declare
12716 with prototype.
12717 (graft_intervals_into_buffer): Use it when appropriate.
12718 (reproduce_tree): Declare with prototype.
12719 (balance_possible_root_interval): Check that the parent is a lisp
12720 object before trying to examine its type.
12721
ee1c5b21
GM
127222000-03-22 Gerd Moellmann <gerd@gnu.org>
12723
12724 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12725 as strings only if both are known to be strings.
12726
12727 * s/openbsd.h (LIBS_TERMCAP): Undef.
12728
1fb352e0
SM
127292000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12730
12731 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12732 definitions for non-Emacs compilation.
12733 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12734 outside of `#ifdef emacs'.
12735 (print_partial_compiled_pattern): Update.
12736 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12737 (re_compile_fastmap): Merge handling of charset and charset_not (for
12738 emacs and non-emacs compilation as well).
12739 Similarly for (not)categoryspec and (not)syntaxspec.
12740 Don't use the fastmap when reaching `anychar' since the added
12741 complexity is not justified.
12742 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12743 and (not)syntaxspec. Merge (not)categoryspec.
12744
fdaa1f77
KH
127452000-03-22 Kenichi Handa <handa@etl.go.jp>
12746
52283633
SM
12747 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12748 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12749 --without-x.
fdaa1f77 12750
d152fb46
DL
127512000-03-21 Dave Love <fx@gnu.org>
12752
12753 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12754 doc string.
12755
d2cafc8c
GM
127562000-03-21 Gerd Moellmann <gerd@gnu.org>
12757
12758 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12759 (lface_fully_specified_p): Don't check contents of
12760 LFACE_FONT_INDEX because that attribute is optional.
12761 (realize_x_face): Remove now unwarranted xassert.
12762
9111d4b5
KH
127632000-03-21 Kenichi HANDA <handa@etl.go.jp>
12764
12765 The following changes are to make font selection based on
12766 characters, not charset. In addition, they recover fontset
12767 facilities while utilizing the new font selection mechanism.
12768
6c4bfdc0
KH
12769 * Makefile.in (fontset.o): Depend on dispextern.h.
12770
12771 * alloc.c (mark_face_cache): Don't mark face->registry.
12772
9111d4b5
KH
12773 * dispextern.h (struct glyph): New member glyph_not_available_p.
12774 Use 22 bits for face_id.
12775 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12776 (struct face): Delete member registry, new member ascii_face.
12777 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12778 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12779 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12780 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12781
12782 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12783 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12784 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12785 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12786 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12787 (fs_free_face_fontset, fontset_font_pattern)
12788 (face_suitable_for_char_p, face_for_char)
12789 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12790 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12791 (FS_LOAD_FACE_FONT): New macro.
12792
12793 * fontset.c: All codes rewritten or adjusted for the change of
12794 fontset implementation. Now fontset is represented by char table.
52283633
SM
12795 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12796 Variables removed.
9111d4b5 12797 (my_strcasecmp): Function removed.
52283633 12798 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12799 (AREF, ASIZE): New macros.
52283633
SM
12800 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12801 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12802 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12803 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12804 (fontset_id_valid_p, font_family_registry, fontset_name)
12805 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12806 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12807 New functions.
12808 (fs_load_font): New arg FACE. Caller changed.
12809 (fs_query_fontset): Argument changed. Caller changed.
12810 (Fquery_fontset): call fs_query_fontset.
12811 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12812 Functions removed.
52283633
SM
12813 (clear_fontset_elements, check_registry_encoding)
12814 (check_fontset_name): New functions.
9111d4b5
KH
12815 (syms_of_fontset): Set char-table-extra-slots property of fontset
12816 to 3. Staticpro and initialize Vfontset_table and
12817 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12818
12819 * frame.h (struct frame): Member `fontset_data' removed.
12820 (FRAME_FONTSET_DATA): Macro removed.
12821
12822 * frame.c (make_frame): Don't allocate f->fontset_data.
12823 (Fdelete_frame): Don't free f->fontset_data.
12824
6c4bfdc0
KH
12825 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12826
9111d4b5
KH
12827 * xdisp.c (charset_at_position): Function removed.
12828 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12829 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12830 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12831 Likewise.
12832 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12833 FACE_FOR_CHARSET.
52283633
SM
12834 (get_next_display_element, append_space)
12835 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12836
12837 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12838 Variables removed.
12839 (clear_font_table, frame_update_line_height, load_face_font):
12840 Adjusted for the change of fontset implementation.
12841 (load_face_fontset_font): Function removed.
12842 (pixel_point_size): New function.
12843 (font_list): Argument type changed. Caller changed.
12844 (LFACE_FONT): New macro.
12845 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12846 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12847 Lisp_Object. Determine the font name by actually loading a font
12848 by the specified pattern. Set LFACE_FONT (lface) to the specified
12849 pattern. Even if a font is not found, don't try alternatives.
12850 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12851 (set_font_frame_param): If `font' is specified in lface, use it.
12852 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12853 (lface_same_font_attributes_p): Likewise.
12854 (make_realized_face): Arguent changed. Caller changed. Set
12855 face->ascii_face to face itself.
12856 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12857 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12858 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12859 (free_realized_multibyte_face): New function.
12860 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12861 changed. Caller changed.
12862 (try_font_list): Argument type changed.
12863 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12864 (choose_face_font): Argument changed. Handle fontset properly.
12865 (choose_face_fontset_font): Function removed.
12866 (realize_default_face, realize_named_face): Don't remove the
12867 former face here.
12868 (realize_face): Argument changed. Caller changed. Remove face
52283633 12869 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12870 (realize_x_face): Argument changed. Caller changed. For a
12871 multibyte character, share fontset with base_face. For a single
52283633 12872 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12873 (realize_tty_face): Argument changed. Caller changed.
12874 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12875 (face_at_buffer_position): Don't check multibyte_p for returning
12876 DEFAULT_FACE_ID.
12877 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12878 FACE_SUITABLE_FOR_CHARSET_P.
12879 (syms_of_xfaces): Remove code for Qx_charset_registry and
12880 Vface_default_registry.
12881
6c4bfdc0
KH
12882 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12883 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12884 (x_per_char_metric): Don't try FONT->default_char. Even if
12885 pcm->width is zero, glyph bits may exist.
12886 (x_encode_char): Always initialize char2b->byte1.
12887 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12888 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12889 (x_append_glyph): Set glyph->glyph_not_available_p.
12890 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12891 it->charset. Handle the case that per char metric is not
12892 available. If it->multibyte_p is zero and it->c is a multibyte
12893 character, convert it to a unibyte character.
12894 (struct glyph_string): Delete member `charset'.
12895 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12896 the case that per char metric is not available correctly.
12897 (x_fill_glyph_string): Handle the case that the specific glyph is
12898 not available correctly.
12899 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12900 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12901 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12902 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12903 fontset. Don't call FS_LOAD_FONT.
12904
12905 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12906 (x_create_tip_frame): Likewise.
12907 (Fx_close_connection): Free full_name of font_info.
12908
12909 * fns.c (optimize_sub_char_table): New function.
12910 (Foptimize_char_table): New function.
12911 (syms_of_fns): Defsubr Soptimize_char_table.
12912
b33dd3b0
GM
129132000-03-20 Gerd Moellmann <gerd@gnu.org>
12914
12915 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12916 only if buffer is displayed in some window.
12917
12918 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12919 (try_window_reusing_current_matrix): Don't call scroll run
12920 function if run's current and desired position are the same;
12921 this prevents cursor flickering.
12922
4e8a9132
SM
129232000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12924
12925 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12926
12927 * regex.c (RE_STRING_CHAR): New macro.
12928 (GET_CHAR_AFER_2): Remove.
12929 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12930 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12931 (print_partial_compiled_pattern, re_compile_fastmap)
12932 (re_match_2_internal): Remove on_failure_jump_exclusive.
12933 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12934 optimization only need to work for * (ie. can use of_keep_string_jump).
12935 Remove the special case for .*\n since it is now covered by the general
12936 optimization.
12937 (re_search_2): Don't bother with `room'.
12938 (skip_one_char): New function.
12939 (skip_noops): Simplify since `memory' is not needed any more.
12940 (mutually_exclusive_p): Restructure slightly to use `switch' and
12941 add handling for "all" remaining cases.
12942 (re_match_2_internal): Change on_failure_jump_smart to use
12943 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12944 rather than on_failure_jump_exclusive.
12945
2136fdd4
GM
129462000-03-19 Gerd Moellmann <gerd@gnu.org>
12947
12948 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12949 number of bits per RGB because it's everywhere used as the depth
12950 of the visual.
12951
12952 * term.c (calculate_costs): Remove code dealing with X frames.
12953
18e21ce8 129542000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12955
12956 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12957
d7b511c4
GM
129582000-03-18 Gerd Moellmann <gerd@gnu.org>
12959
12960 * lread.c (read_integer): Unread the last char not consumed.
12961
16b5d424
GM
129622000-03-17 Gerd Moellmann <gerd@gnu.org>
12963
12964 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12965 which are in the process of being deleted.
16b5d424 12966
1fa28578
GM
129672000-03-16 Gerd Moellmann <gerd@gnu.org>
12968
83488cce
GM
12969 * Makefile.in (mostlyclean): Add `*.core'.
12970 (clean): Add `bootstrap-emacs'.
12971
1fa28578
GM
12972 * lread.c (read_integer): New function.
12973 (read1): Support read syntax #o, #x, #b, #r.
12974
99633e97
SM
129752000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12976
1fa28578
GM
12977 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12978 make sure POINTER_TO_OFFSET gives the same value before and after
12979 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12980 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12981 (debug): Now only active if > 0 rather than if != 0.
12982 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12983 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12984 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12985 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12986 (store_op1, store_op2, insert_op1, insert_op2)
12987 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12988 (group_in_compile_stack): Move to after its arg's types are
12989 declared and add a prototype.
99633e97 12990 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12991 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12992 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12993 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12994 indentation of the greedy-op and shy-group code.
99633e97
SM
12995 (at_(beg|end)line_loc_p): Fix argument's types.
12996 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12997 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12998 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12999 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13000 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13001 QUIT unconditionally.
99633e97 13002
699238d9
GM
130032000-03-15 Gerd Moellmann <gerd@gnu.org>
13004
13005 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13006 a sole completion.
13007
13008 * process.c (send_process): Add a hint that the function
13009 can call Lisp code to its comment.
13010
13011 * lread.c (load_dangerous_libraries): New variable.
13012 (Vbytecomp_version_regexp): New variable.
13013 (safe_to_load_p): New function.
13014 (Fload): Handle files not compiled with Emacs specially.
13015 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13016
34e23e5a
GM
130172000-03-14 Gerd Moellmann <gerd@gnu.org>
13018
9c763cca
GM
13019 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13020
13021 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13022 support functions only if HAVE_X11R6_XIM is defined.
13023 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13024
13025 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13026
13027 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13028 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13029 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13030
13031 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13032 (HAVE_X11R6_XIM): Define.
13033
13034 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13035
34e23e5a
GM
13036 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13037 If set, call XSynchronize.
13038
66f0296e
SM
130392000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13040
34e23e5a
GM
13041 * regex.c: Declare a new type `re_char' used throughout the code
13042 for the string char type. It's `const unsigned char' to match the
13043 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13044 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13045 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13046 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13047 code duplication.
66f0296e
SM
13048
13049 * charset.h (GET_CHAR_AFTER_2): Remove.
13050 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13051
854a025c
KR
130522000-03-12 Ken Raeburn <raeburn@gnu.org>
13053
13054 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13055 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13056 of them try to use backquotes.
13057
b9d2c7e2
DL
130582000-03-12 Dave Love <fx@gnu.org>
13059
13060 * unexelf.c: Restore changes of 1999-10-19.
13061 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13062 fix its type and alignment; copy it from current process.
13063
5e5dff44
GM
130642000-03-12 Gerd Moellmann <gerd@gnu.org>
13065
9b2f3c38
GM
13066 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13067 has been found. Fix bug not computing timer's predecessor.
13068
427ec082 13069 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13070 file name.
13071
e1cff360
GM
13072 * window.c (Fsave_window_excursion): Doc fix.
13073
52283633 13074 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13075
e411ce4b
EZ
130762000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13077
13078 * msdos.c (vga_installed): New function, code moved from
13079 dos_set_window_size.
13080 (Qbar, Qcursor_type, outside_cursor): New variables.
13081 (syms_of_msdos): Intern and staticpro them.
13082 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13083 shape used outside Emacs when called for the first time.
13084 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13085 cursor shape used outside Emacs.
13086 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13087 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13088 type has changed.
13089 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13090 parameters specify the cursor. Make qreverse a global
13091 variable (renamed to Qreverse).
13092
80460654
GM
130932000-03-09 Gerd Moellmann <gerd@gnu.org>
13094
13095 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13096
95cd4c40
SM
130972000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13098
13099 This is a big redesign of failure-stack and register handling, prompted
13100 by bugs revealed when trying to add shy-groups. Overall, what happened
13101 is that loops are now structured a little differently, groups can be
13102 shy and the code is a little simpler.
13103
13104 * regex.h: Update the copyright.
13105 (RE_SHY_GROUPS): New value.
13106 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13107 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13108
80460654
GM
13109 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13110 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13111 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13112 for (start|stop)_memory since they now only take one argument (the
13113 second has becomes unnecessary).
52283633 13114 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13115 (print_compiled_pattern): Use %ld to printf long ints and flush to
13116 make debugging a little easier.
95cd4c40
SM
13117 (union fail_stack_elt): Make the integer unsigned.
13118 (struct fail_stack_type): Add a `frame' element.
13119 (INIT_FAIL_STACK): Init `frame' as well.
13120 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13121 (DEBUG_PUSH, DEBUG_POP): Remove.
13122 (NUM_REG_ITEMS): Remove.
13123 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13124 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13125 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13126 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13127 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13128 New macros.
80460654
GM
13129 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13130 address pushed is not the destination of the jump but the source
13131 of it instead.
95cd4c40
SM
13132 (NUM_FAILURE_ITEMS): Remove.
13133 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13134 registers before the actual failure point). Don't hardcode any
13135 meaning for str==NULL anymore.
95cd4c40 13136 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13137 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13138 Remove.
95cd4c40
SM
13139 (REG_UNSET_VALUE): Use NULL (why not?).
13140 (compile_range): Remove declaration since it doesn't exist.
13141 (struct compile_stack_elt_t): Remove inner_group_offset.
13142 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13143 (regex_grow_registers): Remove dead code.
13144 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13145 (regex_compile): Add shy-groups Change loops to use
13146 on_failure_jump_smart&jump instead of
13147 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13148 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13149 variable to me). Use `jump' instead of `jump_past_alt' and don't
13150 bother with push_dummy_failure in alternatives since it is now
13151 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13152 emacs' for (re)allocating the stack.
13153 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13154 from loop when bufp->can_be_null rather than jumping to `done'.
13155 Avoid jumping backwards so as to ensure termination. Use
13156 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13157 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13158 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13159 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13160 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13161 (lowest_active_reg, highest_active_reg)
13162 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13163 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13164 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13165 variables. Push register (in `start_memory') on the stack rather
13166 than storing it in old_reg(start|end). Remove the cycle detection
13167 from `stop_memory', replaced by the use of on_failure_jump_loop
13168 for greedy loops. Add code for the new on_failure_jump_<foo>.
13169 Remove ad-hoc code in `on_failure_jump' to push more registers in
13170 the case of a loop. Take out code from `maybe_pop_jump' into
13171 separate functions and adapt it to the semantics of
13172 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13173 and push_dummy_failure. Remove dummy_failure handling and
13174 handling of `failures to jump to on_failure_jump' (this last one
13175 was already dead code, it seems).
13176 (group_match_null_string_p, alt_match_null_string_p)
13177 (common_op_match_null_string_p): Remove.
95cd4c40 13178
7397acc4
DL
131792000-03-08 Dave Love <fx@gnu.org>
13180
13181 * config.in: Don't depend on __STDC__ for volatile.
13182 Add POINTER_TYPE, PTR, PROTOTYPES.
13183
13184 * hftctl.c, strftime.c: Use PROTOTYPES.
13185 * eval.c (find_handler_clause): Likewise.
13186
13187 * mem-limits.h: Use POINTER_TYPE.
13188
13189 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13190 (memory_warnings): Declare using POINTER_TYPE.
13191
5e91ff9e
GM
131922000-03-08 Gerd Moellmann <gerd@gnu.org>
13193
feab4fba
GM
13194 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13195
52283633 13196 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13197
5e91ff9e
GM
13198 * xfns.c: Remove obsolete code in #if 0.
13199 (Fx_focus_frame): New function.
13200
a735b7e1
KH
132012000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13202
13203 * coding.c (coding_category_name): Add coding-category-utf-8,
13204 coding-category-utf-16-be, coding-category-utf-16-le.
13205 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13206 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13207 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13208 (detect_coding_utf_8): New function.
13209 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13210 UTF_16_LOW_SURROGATE_P): New macros.
13211 (detect_coding_utf_16): New function
13212 (detect_coding_mask): When priorities are specified, skip any
13213 categories that have `nil' coding-system. Fix bug of returning
13214 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13215 returns a mask not set in PRIORITIES.
13216 (detect_eol_type_in_2_octet_form): New function.
13217 (detect_eol): selects detect_eol_type_XXX to call according to
13218 cooding->category_idx.
13219 (detect_coding_system): Remove `nil' coding-system in the result.
13220 (Fupdate_coding_systems_internal): Update all coding-categories.
13221
52283633
SM
13222 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13223 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13224 New macros.
13225 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13226 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13227 (CODING_CATEGORY_IDX_UTF_16_LE)
13228 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13229 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13230 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13231 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13232
9994cc69
GM
132332000-03-07 Gerd Moellmann <gerd@gnu.org>
13234
e9b4e5ff
GM
13235 * doc.c (Fdocumentation_property): If value is not a string,
13236 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13237
f7daf1e1
GM
13238 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13239 close the display with XtCloseDisplay. This caused a bus error
13240 on OpenWindows.
13241
9994cc69
GM
13242 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13243 complete but not unique.
13244
4336c705
GM
132452000-03-06 Gerd Moellmann <gerd@gnu.org>
13246
18bb0684
GM
13247 * process.c (send_process): Remove local variable `procname' that
13248 might become invalid when a GC happens. Instead, access the
13249 process name slot directly.
13250
4336c705
GM
13251 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13252 orig_height if set.
13253
13254 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13255 orig_height if set.
13256
515d0d0e
EZ
132572000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13258
13259 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13260 glyph matrices have been freed.
13261
100b3cbb
GM
132622000-03-05 Gerd Moellmann <gerd@gnu.org>
13263
50df5e5a 13264 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13265 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13266
13267 * xfns.c (QCdata): Moved to xdisp.c.
13268
13269 * xdisp.c (QCdata): Moved here from xfns.c.
13270 (syms_of_xdisp): Initialize QCdata.
13271
13272 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13273
13274 * window.c (coordinates_in_window): Use
13275 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13276 FRAME_INTERNAL_BORDER_WIDTH.
13277
100b3cbb 13278 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13279 it is obviously invalid.
100b3cbb
GM
13280
13281 * xterm.c (x_term_init): Create a colormap if not using the
13282 default visual.
13283
13284 * xterm.h (select_visual): Change prototype.
13285
13286 * xfns.c (select_visual): Rewritten. Recognize user-specified
13287 visual classes.
13288 (visual_classes): New variable.
13289
64d739c4
GM
132902000-03-04 Gerd Moellmann <gerd@gnu.org>
13291
13292 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13293 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13294 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13295 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13296 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13297 XtNcolormap resources.
13298 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13299 (Fx_create_frame): Initialize color members of x_output structure.
13300 (xpm_load): Pass colormap to XPM lib.
13301
13302 * xfaces.c (x_free_colors): Access colormap of frame using
13303 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13304 when default colormap is used.
13305
13306 * xterm.c (x_term_init): Set Colormap member of x_display_info
13307 structure. Copy colormap if resource `privateColormap' is
13308 specified (PseudoColor only).
13309 (x_setup_relief_color): Access colormap of frame using
13310 FRAME_X_COLORMAP.
13311
13312 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13313 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13314
c3cee013
JR
133152000-03-04 Jason Rumney <jasonr@gnu.org>
13316
13317 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13318 other non-platform-specific equivalents.
64d739c4 13319 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13320 specific functions and macros as their w32 equivalents where
13321 non-platform-specifics are not available.
13322 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13323 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13324 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13325 (frame_update_line_height): Use macros to access f->output_data.
13326 (defined_color): Remove FIXME comments; fixed.
13327 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13328 into #ifdef blocks. Add WINDOWSNT blocks.
13329 (Fx_list_fonts): Use macros for accessing font data.
13330 (set_lface_from_font_name): Different default fonts for X and
13331 WINDOWSNT.
13332 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13333 scalable for backward compatibility.
64d739c4 13334 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13335 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13336
64d739c4 13337 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13338 syms_of_w32faces.
13339
13340 * makefile.nt (w32faces.obj): Remove.
13341 (xfaces.obj): Add.
13342
807cc41c
JR
133432000-03-03 Jason Rumney <jasonr@gnu.org>
13344
13345 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13346 correct parameters.
13347
0007072a
KR
133482000-03-03 Ken Raeburn <raeburn@gnu.org>
13349
13350 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13351 standard ELF definitions here if the system header does not.
13352
71a6ba55
GM
133532000-03-03 Gerd Moellmann <gerd@gnu.org>
13354
13355 * xterm.c (PER_CHAR_METRIC): Removed.
13356 (x_per_char_metric_1, x_default_char): New functions.
13357 (x_per_char_metric): If font's default char is invalid, return
13358 metrics of a suitably chosen usable default char.
13359 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13360 char, replace occurrences of unprintable chars with a suitably
13361 chosen usable default char.
71a6ba55 13362
900fa1f1
GM
133632000-03-02 Gerd Moellmann <gerd@gnu.org>
13364
42f55fe0
GM
13365 * xterm.c (note_mouse_highlight): Return quickly if frame's
13366 glyph matrices have been freed.
13367
13368 * dispnew.c (free_glyphs): Block input while freeing matrices.
13369
900fa1f1
GM
13370 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13371
52283633
SM
13372 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13373 Use x_free_colors.
900fa1f1
GM
13374
13375 * dispextern.h (x_free_colors): Add prototype.
13376
13377 * xfaces.c (x_free_colors): New function.
13378 (unload_color, free_face_colors): Use it.
13379
2f950292
EZ
133802000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13381
13382 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13383
13384 * window.c [MSDOS]: Include msdos.h.
13385
54d04320
DL
133862000-03-02 Dave Love <fx@gnu.org>
13387
13388 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13389
13390 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13391 set C_OPTIMIZE_SWITCH for gcc.
13392
0ba93ac4
KH
133932000-03-02 Kenichi Handa <handa@etl.go.jp>
13394
13395 * coding.c (coding_save_composition): Be sure to allocate
13396 composition data area in coding even if there's no composition in
13397 the current run.
13398
a2bc11d4
JR
133992000-03-01 Jason Rumney <jasonr@gnu.org>
13400
13401 * w32term.c: Equivalent changes to those made to xterm.c on
13402 2000-02-25 and 2000-02-24.
13403
13404 * w32fns.c: Equivalent changes to those made to xfns.c on
13405 2000-02-25 and 2000-02-21.
13406
13407 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13408 correct line-end convention is followed.
13409
13410 * w32menu.c [HAVE_BOXES]: Remove #undef.
13411 (single_keymap_panes): Remove code for simulating checkmarks.
13412 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13413 Remove code for drawing simulated checkmarks.
13414 (w32_menu_show): make unibyte help string correctly.
13415 (add_menu_item): draw standard Windows checkmarks. Draw radio
13416 buttons as radio buttons if possible.
13417
72d19d75
GM
134182000-03-01 Gerd Moellmann <gerd@gnu.org>
13419
2df636f4
GM
13420 * sysdep.c (start_of_text): Don't define this function for NetBSD
13421 with ELF.
13422
427ec082 13423 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13424 Don't define.
13425 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13426 (LINKER): Don't undef if __NetBSD__ is defined.
13427
13428 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13429
13430 * fileio.c [__NetBSD__]: Define `unix'.
13431
72d19d75
GM
13432 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13433
ed4d0512
GM
134342000-02-29 Gerd Moellmann <gerd@gnu.org>
13435
50b1039f
GM
13436 * atimer.c (start_atimer): Don't abort when timers are stopped.
13437 (append_atimer_lists): New function.
13438 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13439 arbitrary lists of stopped and running atimers.
13440
ed4d0512
GM
13441 * atimer.c (cancel_atimer): Handle canceling an atimer when
13442 some timers are stopped.
13443
13444 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13445 after canceling it.
13446
13447 * fns.c (maybe_resize_hash_table): Handle case of new size
13448 coming out as being the same as old size.
13449
387023ee
JR
134502000-02-27 Jason Rumney <jasonr@gnu.org>
13451
13452 * makefile.nt: Add atimer.h to dependencies.
13453 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13454 * w32console.c: Only disable window system features for dispextern.h
13455 (initialize_w32_display): Build a display info for the console.
13456 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13457 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13458 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13459 as 2 button mice.
13460 * w32gui.h (struct W32FontStruct): Revert last change after change
13461 to xdisp.c.
13462 * w32menu.c (single_submenu): Set up help string.
13463 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13464 (w32_dialog_show): Set up help string.
13465 * w32term.c (w32_display_info_for_display): Remove unused function.
13466 (w32_draw_bitmap): Use pre-built bitmaps.
13467 (w32_initialize_display_info): New function to initialize parts of
13468 display info that are common to both GUI and console frames.
13469 (w32_term_init): Use w32_initialize_display_info. Do not set
13470 Vw32_num_mouse_buttons here, as it is not called for console
13471 frames. Build bitmaps for indicating truncated lines etc.
13472 (x_delete_display): Destroy pre-built bitmaps.
13473 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13474 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13475
4516715a
DL
134762000-02-27 Dave Love <fx@gnu.org>
13477
13478 * lisp.h: Add a bunch of prototypes.
13479
171ca836
KH
134802000-02-26 Kenichi Handa <handa@etl.go.jp>
13481
13482 * keyboard.c (read_char): Set `usec' correctly.
13483
4013921d
KH
134842000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13485
13486 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13487 `lambda', set reg[RRR] to the map index.
13488 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13489 reg[RRR] to 0. Otherwise, set it to -1.
13490
9244a058
GM
134912000-02-25 Gerd Moellmann <gerd@gnu.org>
13492
2df636f4 13493 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13494
18e21ce8 134952000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13496
f43d79c1
GM
13497 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13498 and contains a `:', prepend `/:'.
13499
13500 * window.c (select_window_1): If selected_window is nil,
13501 don't "swap out" the buffer's point.
13502 (Fset_window_configuration): Set selected_window to nil
13503 before calling Fselect_window.
13504 (unshow_buffer): Don't set point in buffer from window's point
13505 if another more recently selected window also shows the buffer.
13506
bed0c171
GM
135072000-02-25 Gerd Moellmann <gerd@gnu.org>
13508
449c3c52
GM
13509 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13510
f5b58615
GM
13511 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13512 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13513 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13514 New variables.
f5b58615
GM
13515 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13516 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13517 (hide_busy_cursor): New functions.
13518 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13519
13520 * minibuf.c (read_minibuf): Cancel busy-cursor.
13521
13522 * keyboard.c (command_loop_1): Call start_busy_cursor before
13523 Fcommand_execute and cancel_busy_cursor after it.
13524 (timer_check): Remove busy-cursor code.
13525 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13526 cursor timer.
13527
13528 * process.c (wait_reading_process_input): Remove busy-cursor code.
13529
13530 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13531 Fx_hide_busy_cursor.
13532
13533 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13534 Remove prototyoes.
13535 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13536
13537 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13538
13539 * xterm.c (XTread_socket): Remove busy-cursor code.
13540
4eb8436f
GM
13541 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13542 (build_frame_matrix_from_leaf_window): Put code handling
13543 glyph row's not being a slice of a frame row in #if 0.
13544 (sync_window_with_frame_matrix_rows): New function.
13545 (frame_row_to_window): New function.
13546 (mirror_line_dance): Handle copies between windows.
13547
3cb65b0e
GM
13548 * lread.c (Fload): Use `xfree' instead of `free'.
13549 (init_obarray): Use `xmalloc' instead of `malloc'.
13550
bed0c171
GM
13551 * window.c (Fset_window_buffer): Set WINDOW to the window
13552 after decoding.
2add4349
GM
13553 (coordinates_in_window): Take frame's internal border width
13554 into account.
bed0c171 13555
42088c12
GM
135562000-02-24 Gerd Moellmann <gerd@gnu.org>
13557
13558 * xterm.c (x_display_and_set_cursor): Display cursor of
13559 non-selected windows depending on the setting of
13560 cursor_in_non_selected_windows.
13561
13562 * xdisp.c (cursor_in_non_selected_windows): New variable.
13563 (syms_of_xdisp): DEFVAR_BOOL it.
13564
d1e103b2
GM
135652000-02-23 Gerd Moellmann <gerd@gnu.org>
13566
723e779c
GM
13567 * data.c (Fstring_to_number): If number is greater than what
13568 fits into an integer, return a float.
13569
d1e103b2
GM
13570 * eval.c (specbind): Remove references to
13571 keyword_symbols_constant_flag.
13572
13573 * data.c (keyword_symbols_constant_flag): Removed.
13574 (Fmakunbound, set_internal, syms_of_data): Remove references to
13575 keyword_symbols_constant_flag.
13576
13577 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13578
214f877f
KH
135792000-02-23 Kenichi Handa <handa@etl.go.jp>
13580
13581 * syntax.c (multibyte_syntax_as_symbol): New variable.
13582 (syms_of_syntax): Declare it as a Lisp variable.
13583 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13584 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13585 nonzero, treat all multibyte characters as symbol.
52283633 13586 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13587
130adcb7
EZ
135882000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13589
3cb65b0e 13590 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13591 a deleted frame.
130adcb7 13592
17cbbf95
GM
135932000-02-21 Gerd Moellmann <gerd@gnu.org>
13594
13595 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13596
13597 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13598 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13599
beb0bc36
DL
136002000-02-21 Dave Love <fx@gnu.org>
13601
13602 * frame.c (Vmouse_position_function): New variable.
13603 (Fmouse_position): Use it.
13604 (syms_of_frame): Install it.
13605
13606 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13607
1d92afcd
GM
136082000-02-20 Gerd Moellmann <gerd@gnu.org>
13609
13610 * fileio.c (Finsert_file_contents): Unbind the binding of
13611 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13612
13613 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13614 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13615 (specbind, unbind_to): Handle most common case of non-constant
13616 symbol with trivial value specially.
13617
13618 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13619
18e21ce8 136202000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13621
13622 * data.c (Fmake_variable_buffer_local): Doc fix.
13623 Init found_for_buffer to 0.
13624 (Fmake_variable_frame_local): If the variable has already
13625 been buffer-local, set the check_frame field.
13626
1d4311c3
EZ
136272000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13628
13629 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13630 produced for CODING_MODE_LAST_BLOCK requires.
13631
2dc95ddd
DL
136322000-02-18 Dave Love <fx@gnu.org>
13633
13634 * keyboard.c (echo_keystrokes): Remove declaration.
13635 (Vecho_keystrokes) New variable.
13636 (read_char, record_menu_key, read_key_sequence): Use it to allow
13637 use of float value.
13638 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13639
13640 * lread.c: Undef feature selection macros before defining.
13641
f0930f35
GM
136422000-02-18 Gerd Moellmann <gerd@gnu.org>
13643
13644 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13645 for symbols other than the symbol in question.
13646
e3d4de90
DL
136472000-02-17 Dave Love <fx@gnu.org>
13648
13649 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13650
0b378936
GM
136512000-02-17 Gerd Moellmann <gerd@gnu.org>
13652
d621caf7
GM
13653 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13654
0b378936
GM
13655 * alloc.c (enum mem_type): Compile unconditionally.
13656
3b451f74
EZ
136572000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13658
13659 * xfaces.c (tty_defined_color): Don't return faulire indication
13660 for unspecified-fg and unspecified-bg pseudo-colors.
13661
10689a01
GM
136622000-02-17 Gerd Moellmann <gerd@gnu.org>
13663
1216f5e4
GM
13664 * alloc.c (mark_object): Don't mark symbol names in pure space.
13665 (gc_sweep): Don't unmark symbol names in pure space.
13666
13667 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13668 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13669 [GC_MARK_STACK]: New defines.
427ec082 13670 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13671 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13672
13673 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13674
13675 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13676 allocate_buffer instead of xmalloc.
13677
13678 * alloc.c (toplevel): Include setjmp.h.
13679 (PURE_POINTER_P): New define.
13680 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13681 (Vdead) [GC_MARK_STACK]: New variable.
13682 (lisp_malloc): Add parameter TYPE, call mem_insert if
13683 GC_MARK_STACK is defined.
13684 (allocate_buffer): New function.
427ec082 13685 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13686 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13687 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13688 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13689 (MEM_NIL) [GC_MARK_STACK]: New define.
13690 (struct mem_node) [GC_MARK_STACK]: New structure.
13691 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13692 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13693 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13694 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13695 (mark_stack) [GC_MARK_STACK]: New functions.
13696 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13697 (clear_marks): Removed.
13698 (gc_sweep): Set free conses' car, free floats' type, free
13699 symbols' function to Vdead. Use lisp_free to free buffers.
13700 (init_alloc_once): Initialize Vdead.
13701 (survives_gc_p): Return non-zero for pure objects.
13702
13703 * alloc.c: Add comments throughout the file.
13704
2503c8b1
GM
13705 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13706 that unblocks alarms.
13707
8389e1e2
GM
13708 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13709 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13710 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13711
10689a01 13712 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13713
bfc17d18
KH
137142000-02-17 Kenichi Handa <handa@etl.go.jp>
13715
4a09dee0
KH
13716 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13717 avoid infinite error signaling. Allocate sufficient memory for
13718 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13719
2b927d02
SM
137202000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13721
13722 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13723 depends on the previous behavior.
13724
b49cb764
GM
137252000-02-16 Gerd Moellmann <gerd@gnu.org>
13726
13727 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13728
99e95407
GM
137292000-02-15 Gerd Moellmann <gerd@gnu.org>
13730
13731 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13732
13733 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13734 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13735 write(2).
13736
6ffd3cf7
RS
137372000-02-15 Richard M. Stallman <rms@gnu.org>
13738
13739 * data.c (set_internal): Don't make variable buffer-local
13740 if within a let-binding for the same buffer.
13741 (let_shadows_buffer_binding_p): New function.
13742
13743 * eval.c (specbind): For buffer-local value,
13744 record the current buffer also.
13745 (unbind_to): Cope with that change.
13746
cad53475
GM
137472000-02-15 Gerd Moellmann <gerd@gnu.org>
13748
13749 * window.c (Fsave_window_excursion): Doc fix.
13750
1aa963c8
SM
137512000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13752
13753 * syntax.c (back_comment): Make sure we only consider comment-starters
13754 of the relevant style and return -1 in case of a failure to find the
13755 beginning of the comment.
13756 (Fforward_comment): If back_comment fails, go back to the position just
13757 after the comment-end.
13758 (scan_lists): Add comment describing a very minor bug.
13759
b9b84fd3
SM
137602000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13761
13762 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13763 `completion-regexp-list' in the docstring.
13764
3a28db80
DL
137652000-02-14 Dave Love <fx@gnu.org>
13766
13767 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13768
fb4a568d
SM
137692000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13770
13771 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13772 to Emacs' syntax. Also fix the comment about set/not-set meanings
13773 since Emacs syntax is not the value 0 any more.
13774 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13775 since it's now part of RE_SYNTAX_EMACS.
13776
1063ebb5
DL
137772000-02-12 Dave Love <fx@gnu.org>
13778
52283633 13779 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13780
fb07a302
GM
137812000-02-12 Gerd Moellmann <gerd@gnu.org>
13782
13783 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13784
aaf2320c
DL
137852000-02-12 Dave Love <fx@gnu.org>
13786
13787 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13788
13789 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13790 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13791 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13792
13793 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13794
13795 * s/nextstep.h: Don't define HAVE_ALLOCA.
13796
13797 * config.in: Add vfork bits.
13798
eedf8bde
GM
137992000-02-12 Gerd Moellmann <gerd@gnu.org>
13800
13801 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13802 unwind function to undo the effect of stopping atimers.
13803
52283633 13804 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13805
13806 * atimer.c (stopped_atimers): New variable.
13807 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13808 New functions.
13809
13810 * atimer.h (stop_other_atimers, run_all_atimers)
13811 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13812
eedf8bde
GM
13813 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13814
8476c2f8
KR
138152000-02-11 Ken Raeburn <raeburn@gnu.org>
13816
13817 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13818 library may depend on jpeg.
13819 (atimer.o): Depends on atimer.c.
13820
0e85e4a3
KH
138212000-02-11 Kenichi Handa <handa@etl.go.jp>
13822
13823 * insdel.c (del_range_1): Call update_compositions.
13824 (del_range_both): Call update_compositions just once..
13825
97fa0cc8
DL
138262000-02-10 Dave Love <fx@gnu.org>
13827
13828 * xfns.c (create_frame_xic): Fix initialization of automatic
13829 aggregates for pcc.
13830
25566a3c
KH
138312000-02-09 Kenichi Handa <handa@etl.go.jp>
13832
13833 * ccl.c (CCL_MAKE_CHAR): New macro.
13834 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13835 registers by CCL_MAKE_CHAR before calling translate_char.
13836 <CCL_TranslateCharacterConstTbl> Likewise.
13837
69da54ba
DL
138382000-02-08 Dave Love <fx@gnu.org>
13839
13840 * lread.c (__EXTENSIONS__): Define.
13841
f7136ee8
GM
138422000-02-08 Gerd Moellmann <gerd@gnu.org>
13843
13844 * puresize.h (BASE_PURESIZE): Increase to 650000.
13845
7768790b
EZ
138462000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13847
13848 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13849 the help message.
13850
38fd211b
EZ
138512000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13852
13853 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13854 md, mh, mb, mr, and me to the fake termcap entry.
13855
66e4690f
KR
138562000-02-06 Ken Raeburn <raeburn@gnu.org>
13857
13858 * sound.c (sound_cleanup): Don't call device close routine if the
13859 function pointer is null.
13860
a75dfea0
AI
138612000-02-06 Andrew Innes <andrewi@gnu.org>
13862
13863 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13864 around image definitions and prototypes.
13865 (gamma_correct) [WINDOWSNT]: New prototype.
13866
13867 * w32term.c (x_make_frame_visible): Replace call to
13868 input_poll_signal with poll_for_input.
13869
13870 * window.c [WINDOWSNT]: Include w32term.h.
13871
13872 * xdisp.c [WINDOWSNT]: Include w32term.h.
13873
13874 * makefile.nt: Add dependencies on w32gui.h.
13875 (OBJ1): Include atimer.obj.
13876 ($(BLD)\atimer.obj): New dependency rule.
13877
13878 * w32.c (sigmask): New function (does nothing).
13879 (sigunblock): Ditto.
13880
13881 * frame.c [WINDOWSNT]: Include w32term.h.
13882
13883 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13884
13885 * lread.c (syms_of_lread): Fix literal newlines.
13886
13887 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13888 the string constant limit (2048 bytes) in MSVC.
13889 (main): Ditto.
13890
59ddecde
GM
138912000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13892
52283633 13893 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13894 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13895 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13896 dispatch the event.
13897
07590973
DL
138982000-02-04 Dave Love <fx@gnu.org>
13899
13900 * fileio.c: Remove some unused vars.
13901 (_GNU_SOURCE): Define (for euidaccess).
13902
13903 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13904
13905 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13906 gcpro1, gcpro2.
13907 (read_minibuf): Deal with allow_props correctly.
13908
649351f9
EZ
139092000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13910
13911 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13912
66e4690f 139132000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13914
13915 * search.c (compile_pattern): If a cache entry has a nil regexp,
13916 fill in that entry instead of clobbering a previously cached
13917 string regexp.
13918
66e4690f 139192000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13920
13921 * puresize.h (BASE_PURESIZE): Increase to 610000.
13922
d240a249
GM
139232000-02-02 Gerd Moellmann <gerd@gnu.org>
13924
13925 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13926 can GC.
13927
ca91fb26
KH
139282000-02-02 Kenichi Handa <handa@etl.go.jp>
13929
25660570
KH
13930 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13931 instead of incrementing ic directly.
13932 <CCL_WriteExprConst> Likewise.
13933 <ccl_set_expr>: Set ic to jump_address.
13934
ca91fb26
KH
13935 * fileio.c (e_write): Fix the handling of
13936 CODING_FINISH_INSUFFICIENT_SRC.
13937
2ede9689
DL
139382000-02-01 Dave Love <fx@gnu.org>
13939
13940 * editfns.c (Fpropertize): Doc fix.
13941
13942 * process.c (Fstart_process): Doc fix.
13943
13944 * eval.c: Fix various doc strings not to duplicate information
13945 from help-manyarg-func-alist.
13946
52283633 13947 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13948
13949 * doc.c (Vhelp_manyarg_func_alist): New variable.
13950 (Fdocumentation): Use it.
13951 (syms_of_doc): Define it.
13952
b6680a0e
GM
139532000-01-31 Gerd Moellmann <gerd@gnu.org>
13954
2cb750ba
GM
13955 * xterm.c (xim_open_dpy): Remove unused local variable.
13956
52283633 13957 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13958
13959 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13960 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13961
b6680a0e
GM
13962 * fns.c (sweep_weak_table): New function.
13963 (sweep_weak_hash_tables): Use it. Keep on marking until there
13964 is no more change.
13965
994c5afe
GM
139662000-01-30 Gerd Moellmann <gerd@gnu.org>
13967
13968 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13969 that XTread_socket does not crash by trying to call XNoOp on a
13970 closed display.
427ec082 13971
f00276e3
JR
139722000-01-30 Jason Rumney <jasonr@gnu.org>
13973
13974 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13975 Change selected_frame to SELECTED_FRAME ().
13976 (w32_console_mouse_position): Remove #ifndef MULE from around
13977 `insist' parameter.
13978
13979 * makefile.nt: Remove dosfns.obj.
13980
13981 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13982
13983 * w32fns.c (w32_defined_color): Check for valid frame before
13984 applying gamma correction. Eliminate dependency on frame elsewhere.
13985 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13986 (w32_to_x_font): Use resx and resy not height_in and width_in.
13987 (x_to_w32_font): Doc fix.
13988 (xlfd_strip_height): New function to strip and return font height.
13989 (w32_font_match): Compare height separately from rest of xlfd
13990 spec, using xlfd_strip_height.
13991
13992 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13993 width_in. Use w32_defined_color in place of defined_color.
13994
13995 * w32faces.c: Merge more of DOS and X specifics in preparation for
13996 merge with xfaces.c.
13997 (defined_color): Remove FIXME comment.
13998 (tty_color_name): Provide w32-specific function.
13999 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14000
14001 * w32console.c (turn_on_face, turn_off_face): Removed.
14002 (w32_face_attributes): New function.
14003 (Global_variables): Reduce scope where possible.
14004 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14005 fill attribute.
14006 (hl_mode): Don't modify text attributes.
14007 (write_glyphs): Don't do anything if len <= 0. Use
14008 w32_face_attributes to get attributes for drawing. Write
14009 terminating codes using char_attr_normal.
14010 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14011 (update_begin, update_end): Likewise.
14012 (vga_stdcolor_name): New function.
14013 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14014 (Fset_screen_color): Remove char_attr_reverse.
14015
b08e8bb2
GM
140162000-01-29 Gerd Moellmann <gerd@gnu.org>
14017
14018 * xfns.c (xic_set_preeditarea): Take window parameter and
14019 window-relative pixel-positions.
14020
14021 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14022 is its frame's selected window.
14023 (xim_instantiate_callback): Likewise.
14024
14025 * xfns.c (x_create_im): Removed.
14026 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14027 (supported_xim_styles): Renamed from supported_styles.
14028 (best_xim_style): Renamed from best_style.
14029 (create_frame_xic): Renamed from xic_create_frame.
14030 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14031
b08e8bb2
GM
140322000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14033
14034 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14035 our frames, call XFilterEvent with 2nd parameter `None'.
14036 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14037 returning XBufferOverflow.
52283633 14038 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14039 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14040 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14041 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14042 (xim_initialize, xim_close)
14043 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14044 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14045 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14046 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14047
14048 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14049 and `xim_styles'.
14050 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14051 `xic_style' and `xic_xfs'.
14052 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14053 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14054 (FRAME_XIM): Removed.
14055
14056 * xfns.c (supported_styles): New variable.
14057 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14058 (xic_create_xfontset, best_style, xic_create_frame)
14059 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14060 (xic_set_xfontset): New functions.
14061
142e109c
DL
140622000-01-28 Dave Love <fx@gnu.org>
14063
14064 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14065
14066 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14067
b02786f9
GM
140682000-01-28 Gerd Moellmann <gerd@gnu.org>
14069
d060bc9f
GM
14070 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14071 for *scratch* if it already existed.
14072
b02786f9
GM
14073 * emacs.c (USAGE): New macro.
14074 (main): Use it to display usage information.
14075
2c52d7e4
EZ
140762000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14077
14078 Support for the menu-help feature:
14079
52283633 14080 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14081
14082 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14083 part of the line to the termscript file.
14084 (IT_clear_to_end): Clear the entire line, not just its beginning.
14085 (menu_help_message, prev_menu_help_message): New variables.
14086 (IT_menu_make_room): Make room for the help_text member.
14087 (IT_menu_display): New argument disp_help; all callers changed.
14088 If disp_help is non-zero, store the help text of the active menu
14089 item in menu_help_message.
14090 (XMenuAddPane): Initialize the help_text member to NULL.
14091 (XMenuAddSelection): New argument help_text. Store it in the
14092 XMenu structure.
14093 (XMenuActivate): New argument help_callback. If the value of
14094 menu_help_message has changed since the last time, display the
14095 menu help message text while waiting for the mouse to move. Clear
14096 the echo area before exiting.
14097 (XMenuDestroy): Free the help_text member.
14098
ffe0bcd1
GM
140992000-01-27 Gerd Moellmann <gerd@gnu.org>
14100
14101 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14102 XMenuAddSelection. Pass help callback to XMenuActivate.
14103 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14104
50dbd23f
EZ
141052000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14106
14107 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14108 and EMACS_SET_USECS.
14109
f5941bf8
GM
141102000-01-26 Dave Love <fx@gnu.org>
14111
6c67ddee
DL
14112 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14113
f5941bf8
GM
14114 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14115 an error may be signalled.
14116
9e49c990
GM
141172000-01-26 Gerd Moellmann <gerd@gnu.org>
14118
fc3cb460
GM
14119 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14120 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14121
9e49c990
GM
14122 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14123
d0c037d8
GM
141242000-01-25 Gerd Moellmann <gerd@gnu.org>
14125
14126 * charset.c (Fstring): If there is a multibyte char among
14127 the args, always return a multibyte string.
14128
e12489f9
GM
141292000-01-25 Gerd Moellmann <gerd@gnu.org>
14130
14131 * sysdep.c (sys_select): Turn atimers off and on instead of
14132 recording and restoring old alarm handler
14133
14134 * process.c (toplevel): Include atimer.h.
14135 (create_process_1): Rewritten.
14136 (create_process): Use atimers instead of alarm.
14137 (wait_reading_process_input) [hpux]: Turn atimers off instead
14138 of turning off SIGALRM.
14139 (wait_reading_process_input): Turn off atimers instead off
14140 calling stop_polling.
14141
14142 * emacs.c (main): Call init_atimer.
14143
14144 * keyboard.c (toplevel): Include systime.h and atimer.h.
14145 (polling_for_input): Removed because unused.
14146 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14147 (poll_timer): New variable.
14148 (poll_for_input, poll_for_input_1): New functions.
14149 (start_polling, stop_polling): Rewritten.
14150
14151 * keyboard.h (polling_for_input): Removed.
427ec082 14152
e12489f9
GM
14153 * atimer.h, atimer.c: New files.
14154
14155 * Makefile.in (obj): Add atimer.o.
14156 (atimer.o): New target.
14157
14158 * blockinput.h (pending_atimers): Add extern declaration.
14159 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14160
14161 * lisp.h (popup_activated_flag): Add extern declaration.
14162
14163 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14164 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14165 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14166
14167 * xterm.c (toplevel): Include atimer.h.
14168 (toolkit_scroll_bar_interaction): New variable.
14169 (Fxt_process_timeouts): Removed.
14170 (x_process_timeouts): New function.
14171 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14172 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14173 (x_make_frame_visible): Call poll_for_input_1 instead of
14174 input_poll_signal. Don't call alarm.
14175 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14176
1e5279b9
DL
141772000-01-24 Dave Love <fx@gnu.org>
14178
6c67ddee 14179 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14180 Don't use -cckr -- apparently not now necessary.
14181
edf6aeb8
EZ
141822000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14183
14184 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14185 screen boundary.
14186
9badad41
JR
141872000-01-23 Jason Rumney <jasonr@gnu.org>
14188
14189 * w32fns.c (w32_defined_color): Apply gamma correction before
14190 trying to map to the palette.
14191 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14192 to w32_clear_rect.
14193
14194 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14195 here. Callers changed to always pass real device context.
14196 (w32_draw_bitmap): Likewise.
14197 (w32_get_glyph_overhangs): Likewise.
52283633 14198 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14199 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14200 pfnSetScrollInfo and SetScrollRange.
14201 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14202 back into MULE characters after decoding them.
14203 (x_get_glyph_face_and_encoding): Likewise.
14204 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14205 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14206 (x_produce_glyphs): Calculate per char metrics for a character
14207 that we know exists in default font when font_not_found_p is true.
14208
63bd786b
JR
142092000-01-22 Jason Rumney <jasonr@gnu.org>
14210
14211 * makefile.nt (intervals.obj, composite.obj): New modules.
14212 (composite.h): Added as dependency where appropriate.
14213
14214 * w32gui.h (XGCValue): New struct for emulating X GCs.
14215
14216 * w32term.h (XCharStruct): New struct for emulating X.
14217
14218 * w32console.c (turn_on_face, turn_off_face): New functions.
14219 (change_line_highlight): New prototype for new redisplay.
14220 (write_glyphs): Support multibyte text. Support faces.
14221
52283633 14222 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14223
14224 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14225 throughout. struct frame * in place of FRAME_PTR.
14226 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14227 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14228 (w32_get_arg): Renamed from x_get_arg.
14229 (Fx_file_dialog): New function.
14230 (w32_list_fonts): Check cache before asking system.
14231 (Vw32_enable_synthesized_fonts): New variable.
14232 (Vw32_enable_italics): Obsolete, removed.
14233
14234 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14235 Use SELECTED_FRAME macro.
14236
14237 * w32menu.c: Add skeleton support for help strings on menus.
14238 (add_menu_item): Native checkbox and radio support added, but not
14239 yet enabled due to bugs.
14240 (push_menu_item): Add parameters type, selection and help.
14241 Callers updated.
14242 Formatting changes to reduce unnecessary diffs with xmenu.c.
14243
14244 * w32select.c (Fw32_set_clipboard_data): Update call to
14245 find_charset_in_str.
14246
14247 * w32term.c: Complete rewrite for new redisplay based on new
14248 xterm.c with necessary sections merged back in from old w32term.c.
14249
6ffd3cf7 142502000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14251
14252 * data.c (set_internal): Further fix in same criterion.
14253
6ffd3cf7 142542000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14255
14256 * data.c (set_internal): Fix the criteria for whether
14257 to swap out the old cached binding.
14258
60af03f1
DL
142592000-01-19 Dave Love <fx@gnu.org>
14260
14261 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14262
f9be074f
KH
142632000-01-18 Kenichi Handa <handa@etl.go.jp>
14264
14265 * regex.c (re_compile_fastmap): While checking a range table for
14266 `charset', skip flag bits for a character class correctly.
14267
52b8dbf9
GM
142682000-01-17 Gerd Moellmann <gerd@gnu.org>
14269
d36100c9
GM
14270 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14271
52283633 14272 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14273
14274 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14275 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14276
14277 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14278 MENU_ITEMS_ITEM_.*.
14279 (MENU_ITEMS_ITEM_HELP): New enumerator.
14280 (push_menu_item): Add parameter HELP. Record help in menu_items.
14281 (single_menu_item, single_submenu, list_of_items): Call
14282 push_menu_item with new parameter.
14283 (single_submenu): Set help string in widget value.
14284 (menu_highlight_callback): New function.
14285 (set_frame_menubar): Call lw_create_widget with new
14286 parameter list.
14287 (xmenu_show, xdialog_show): Ditto.
14288
3139018f
GM
142892000-01-13 Gerd Moellmann <gerd@gnu.org>
14290
14291 * sound.c (Fplay_sound): Improve doc string.
14292
83c8f461
RS
142932000-01-11 Richard M. Stallman <rms@gnu.org>
14294
14295 * lisp.h (set_internal): Enter the new arg.
14296
14297 * eval.c (specbind): Record buffer-local variables specially,
14298 indicating which buffer's binding was saved.
14299 (unbind_to): Restore buffer-local variables specially
14300 in the proper buffer.
14301
14302 * data.c (set_internal): New arg BUF.
427ec082 14303
83c8f461
RS
14304 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14305 * data.c (Fset): Pass new arg to set_internal.
14306 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14307
1fab1775
GM
143082000-01-11 Gerd Moellmann <gerd@gnu.org>
14309
52283633 14310 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14311
83c8f461 143122000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14313
14314 * minibuf.c (Ftry_completion): Doc fix.
14315
7a85e4df
GM
143162000-01-11 Gerd Moellmann <gerd@gnu.org>
14317
14318 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14319 vector, too.
14320
a970dae4
AS
143212000-01-11 Andreas Schwab <schwab@suse.de>
14322
14323 * coding.c (code_convert_region): Initialize total_skip.
14324
c65d14ee
DL
143252000-01-08 Dave Love <fx@gnu.org>
14326
14327 * eval.c (Fuser_variable_p): Check customizability too.
14328
834938d2
GM
143292000-01-07 Gerd Moellmann <gerd@gnu.org>
14330
14331 * minibuf.c (Fcompleting_read): Doc fix.
14332
e0303cd6
GM
143332000-01-05 Gerd Moellmann <gerd@gnu.org>
14334
8a26744b
GM
14335 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14336 -L /usr/local/lib.
14337
e0303cd6
GM
14338 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14339 Check that input style is supported before trying to create an
14340 IC for it.
14341 (x_window): Call x_create_im.
427ec082 14342
2e471eb5
GM
143432000-01-04 Gerd Moellmann <gerd@gnu.org>
14344
560a7bd2
GM
14345 * xfns.c (current_gif_memory_src): New variable.
14346 (gif_load): Record the address of the current memory source
14347 in current_gif_memory_src.
14348 (gif_read_from_memory): Use current_gif_memory_src.
14349
f9ee84a3
GM
14350 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14351 macros statement form.
14352
d1299cde
GM
14353 * sound.c (struct sound): Renamed from struct sound_file.
14354 (struct sound): Add members `data' and `header_size'.
14355 (enum sound_attr): Add SOUND_DATA.
14356 (current_sound, current_sound_device): Variables renamed from
14357 sound_file and sound_device.
14358 (parse_sound): Parse :data.
14359 (parse_sound): Handle sound data in strings.
14360 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14361 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14362 needed header size.
14363 (wav_play, au_play): Play sounds from string data.
14364
2e471eb5
GM
14365 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14366
14367 * lisp.h: Add prototype for allocate_string_data.
14368
52283633 14369 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14370
14371 * alloc.c (mark_buffer): Remove code in #if 0.
14372 (gc_sweep): Ditto.
14373 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14374 (strings_consed): New variable.
14375 (allocate_string): Set it.
14376 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14377 (Fmemory_use_counts): Return strings_consed. Use Flist.
14378
14379 * alloc.c: General cleanup in comments etc. Remove conditional
14380 compilation for `standalone'.
14381
14382 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14383
14384 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14385 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14386 (DONT_COPY_FLAG): Removed.
14387 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14388 (struct sdata, struct sblock): New
14389 (struct string_block): Rewritten.
14390 (STRINGS_IN_STRING_BLOCK): New macro.
14391 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14392 (large_sblocks, string_blocks, string_free_list): New variables.
14393 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14394 (init_strings): Rewritten.
14395 (allocate_string, allocate_string_data, compact_small_strings)
14396 (free_large_strings, sweep_strings): New functions.
14397 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14398 (struct string_block_head, current_string_block)
14399 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14400 (STRING_PAD): Removed.
14401 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14402 (Fgarbage_collect): Don't set mark bit in large strings.
14403 (mark_object): Mark strings differently. Mark symbol names
14404 differently.
14405 (survives_gc_p): Test marked strings differently.
427ec082 14406 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14407 symbol names.
14408 (compact_strings): Removed.
14409
42608ba8
EZ
144102000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14411
14412 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14413 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14414
e0a09e1a
KH
144152000-01-04 Kenichi Handa <handa@etl.go.jp>
14416
dd9f0750 14417 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14418 in a non-empty buffer.
dd9f0750 14419
3c0f3b15 14420 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14421
44cd3ae5
GM
144222000-01-03 Gerd Moellmann <gerd@gnu.org>
14423
14424 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14425 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14426
14427 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14428
c182a70f
EZ
144292000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14430
14431 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14432 need to test for MSDOS frames.
14433
24480d5b
EZ
144342000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14435
14436 * dosfns.c (unspecified_colors): Remove.
14437 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14438 unspecified_bg.
14439 (msdos_stdcolor_name): Return strings for unspecified fore- and
14440 back-ground colors.
14441
14442 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14443 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14444 (tty_color_name): Return Lisp strings for unspecified fore- and
14445 back-ground colors.
14446 (Finternal_set_lisp_face_attribute): Remove the special treatment
14447 for Qunspecified_{f,b}g.
52283633 14448 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14449
047f434a
GM
144502000-01-03 Gerd Moellmann <gerd@gnu.org>
14451
14452 * xdisp.c (reseat_at_next_visible_line_start): Position before
14453 newline only if ending up on a newline.
14454 (next_element_from_ellipsis): Return success. Handle case of
52283633 14455 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14456 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14457 returns 0.
14458
d684c676
EZ
144592000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14460
14461 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14462 (Fcolor_supported_p): Renamed from face-color-supported-p.
14463
5fe1d139
EZ
144642000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14465
14466 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14467 list of colors renamed to tty-defined-color-alist.
14468 (tty_color_name): Pass the frame to tty-color-by-index.
14469 (realize_tty_face): tty-color-alist is now a function which
14470 accepts the frame as argument.
14471
52283633 14472 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14473
816be8b8
EZ
144742000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14475
14476 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14477 encode_terminal_code.
14478
b635321e
EZ
144792000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14480
14481 * dispnew.c (mode_line_string): Support termcap frames as well.
14482
9b784e96
GM
144832000-01-01 Gerd Moellmann <gerd@gnu.org>
14484
27189709
GM
14485 * syntax.c (Fforward_word): Undo previous change.
14486
14487 * editfns.c (Fconstrain_to_field): Don't constrain if
14488 inhibit-field-text-motion is non-nil.
14489 (Fline_beginning_position): Undo previous change.
14490 (Fline_end_position): Ditto.
14491
14492 * syntax.c (Fforward_word): Notice field boundaries only if
14493 inhibit-field-text-motion is nil.
14494
14495 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14496
14497 * editfns.c (Vinhibit_field_text_motion): New variable.
14498 (inhibit-field-text-motion): New DEFVAR_LISP.
14499 (Fline_beginning_position, Fline_end_position): Notice field
14500 boundaries only if inhibit-field-text-motion is nil.
14501
45158a91
GM
14502 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14503 All calls adjusted.
14504 (x_build_heuristic_mask): Likewise.
14505 (xbm_load_image_from_file): Change error output.
14506 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14507 (gif_load, gs_load, x_kill_gs_process): Ditto.
14508
9b784e96
GM
14509 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14510 color indices when accessing raster pixels.
63cec32f
GM
14511 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14512 one of :file or :data.
14513 (enum pbm_keyword_index): Add PBM_DATA.
14514 (pbm_format): Add :data.
14515 (pbm_image_p): Allow either :file or :data.
14516 (pbm_read_file): New function.
14517 (pbm_scan_number): Rewritten to read from string.
14518 (pbm_load): Support :data.
9b784e96 14519
2cb085db 14520See ChangeLog.8 for earlier changes.
6922b018
KH
14521
14522;; Local Variables:
49b3bd82 14523;; coding: iso-2022-7bit
6922b018 14524;; End:
2a34a036
GM
14525
14526 Copyright (C) 2001 Free Software Foundation, Inc.
14527 Copying and distribution of this file, with or without modification,
14528 are permitted provided the copyright notice and this notice are preserved.