*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
f4ca4b00
RS
12001-11-18 Richard M. Stallman <rms@gnu.org>
2
3 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
4 (message_dolog_marker3): New static variables hold three markers.
5 (syms_of_xdisp): Initialize and staticpro them.
6 (message_dolog): Use message_dolog_marker1..3 instead of
7 allocating markers each time. Unchain them when done.
8
f4e25f94
RS
92001-11-17 Richard M. Stallman <rms@gnu.org>
10
11 * doc.c (Fsnarf_documentation): Doc fix.
12
91c153e2
AS
132001-11-17 Andreas Schwab <schwab@suse.de>
14
15 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
16
65b7d3e7
RS
172001-11-17 Richard M. Stallman <rms@gnu.org>
18
19 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
20
6b5f6311
JR
212001-11-17 Jason Rumney <jasonr@gnu.org>
22
23 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
24
be676094
GM
252001-11-17 Gerd Moellmann <gerd@gnu.org>
26
27 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
28 with invalid position.
29
032a857d
RS
302001-11-16 Richard M. Stallman <rms@gnu.org>
31
32 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
33
34 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
35 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
36 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
37
38 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
39
b6270150
SM
402001-11-16 Stefan Monnier <monnier@cs.yale.edu>
41
42 * fileio.c (build_annotations): Split off the tail.
43 (build_annotations_2): New fun. Extracted from build_annotations.
44 (Fwrite_region): Split the call to build_annotations into two
45 calls to build_annotations and build_annotations_2.
46
792e5cbd
PJ
472001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
48
98cbb9fa
PJ
49 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
50 clear_waiting_for_input with argument.
51
52 * xterm.h (x_update_cursor): Remove duplicated prototype.
53
b6270150 54 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 55
ea904403 56 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 57
ea904403 58 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 59
fa336b91
SM
602001-11-16 Stefan Monnier <monnier@cs.yale.edu>
61
62 * fileio.c (choose_write_coding_system): New fun, extracted
63 from Fwrite_region.
64 (Fwrite_region): Use it.
65
66 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
67 (funcall_lambda, run_hook_with_args): Make static and add prototype.
68 (ml_apply, find_handler_clause): Add prototype.
69
077907d4
EZ
702001-11-16 Eli Zaretskii <eliz@gnu.org>
71
aa2af83a
EZ
72 * config.in: Add #undef HAVE_COFF_H.
73
077907d4
EZ
74 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
75 Required for ISC 4.1.
76
1756e2fb
EZ
772001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
78
79 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
80 Andrew Wiseman <a.wiseman@btclick.com>.
81
06e8f738
KS
822001-11-16 Kim F. Storm <storm@cua.dk>
83
84 The following changes are made to clean up the various internal
85 references to the fringes to actually use the term `fringe' for
86 them. Previously, they were called `flags areas', `bitmap areas',
87 `left/right side of windows', or implicitly as `flags' or
88 `bitmaps':
89
90 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
91 Comments fixed. Use renamed symbols.
fa336b91 92
06e8f738 93 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 94
06e8f738
KS
95 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
96 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
97 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 98
06e8f738 99 * msdos.c: Comment fix.
fa336b91 100
06e8f738 101 * w32fns.c: Use renamed symbols.
fa336b91 102
06e8f738
KS
103 * w32term.c: Comment fixes. Use renamed symbols.
104 (fringe_bitmap_type): Renamed from bitmap_type.
105 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
106 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
107 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 108
06e8f738
KS
109 * w32term.h: Comment fixes. Use renamed symbols.
110 (fringes_extra): Renamed from flags_areas_extra.
111 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
112 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
113 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
114 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
115 (FRAME_X_LEFT_FRINGE_WIDTH):
116 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
117 (FRAME_X_RIGHT_FRINGE_WIDTH):
118 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
119
06e8f738 120 * widget.c: Use renamed symbols.
fa336b91 121
06e8f738
KS
122 * window.c: Comment fixes. Use renamed symbols.
123 (coordinates-in-window-p): Doc fix.
fa336b91 124
06e8f738 125 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 126
06e8f738 127 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 128
06e8f738 129 * xfns.c: Use renamed symbols.
fa336b91 130
06e8f738
KS
131 * xterm.c: Comment fixes. Use renamed symbols.
132 (fringe_bitmap_type): Renamed from bitmap_type.
133 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
134 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
135 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
136
137 * xterm.h: Comment fixes. Use renamed symbols.
138 (fringes_extra): Renamed from flags_areas_extra.
139 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
140 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
141 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
142 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
143 (FRAME_X_LEFT_FRINGE_WIDTH):
144 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
145 (FRAME_X_RIGHT_FRINGE_WIDTH):
146 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 147
9ce647f4
JR
1482001-11-15 Jason Rumney <jasonr@gnu.org>
149
150 * w32menu.c (add-menu-item): Make help_echo and radio buttons
151 work for most menu items. From David Ponce
152 <david.ponce@wanadoo.fr>.
153
9b784ab8
GM
1542001-11-15 Gerd Moellmann <gerd@gnu.org>
155
9f7e52b4
GM
156 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
157 Some x_set_* function expect to be called even if old and new
158 value are equal.
159
160 * xdisp.c (build_desired_tool_bar_string): Accept zero
161 tool_bar_button_relief.
162
163 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
164
165 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 166
34e5d0af
GM
167 * xterm.c (x_draw_bar_cursor): If the background color of the
168 glyph under the cursor equals the frame's cursor color, use
169 the glyph's foreground color for drawing the bar cursor.
170
9b784ab8
GM
171 * dispnew.c (direct_output_forward_char): Fix character/byte
172 position comparison.
173
89512fcd
MB
1742001-11-15 Miles Bader <miles@gnu.org>
175
176 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
177 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
178 Update arguments to find_field.
179 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
180 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
181 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
182 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
183
7d18891d
RS
1842001-11-14 Richard M. Stallman <rms@gnu.org>
185
d2936d21
RS
186 * editfns.c (Fpropertize): Allow call with 1 arg.
187
7d18891d
RS
188 * dispextern.h (image_background, image_background_transparent):
189 Conditionalize on HAVE_X_WINDOWS.
190
1912001-11-13 Richard M. Stallman <rms@gnu.org>
192
193 * print.c (Fprin1_to_string): Doc fix.
194
195 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
196
197 * floatfns.c (Fceiling, Ffloor): Doc fixes.
198
199 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
200
201 * fileio.c (Ffile_accessible_directory_p): Doc fix.
202
203 * eval.c (syms_of_eval): Doc fix.
204
205 * coding.c (syms_of_coding): Doc fix.
206
207 * doc.c (Fsnarf_documentation): Doc fix.
208
209 * dispnew.c (syms_of_display): Doc fix.
210
211 * category.c (Fget_unused_category): Doc fix.
212
213 * buffer.c (syms_of_buffer): Doc fixes.
214
9474c847
EZ
2152001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
216
217 * print.c (prin1, print): Doc fix.
218
e3059a5d
PJ
2192001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
220
221 * fontset.h: Remove prototypes for variables
222 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
223
224 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
225 `Vclip_large_size_font'.
226
b3700ae7
JR
2272001-11-13 Jason Rumney <jasonr@gnu.org>
228
229 * w32fns.c: Doc fix.
230
eae936e2
PJ
2312001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
232
4bb962be
PJ
233 * xfaces.c (Fface_attributes_as_vector): Doc fix.
234
0a332240
PJ
235 * w32fns.c (Fx_synchronize): Reindent.
236
ddb67bdc
PJ
237 * fns.c: Doc fix.
238
3467c402
PJ
239 * emacs.c: Doc fix.
240
241 * coding.c: Doc fix.
242
6e1b91d7
PJ
243 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
244 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
245 `new style' [w/`doc:' keyword].
246
f6e34773
PJ
247 * xmenu.c (x-popup-menu): Reindent.
248 (x-popup-dialog): Likewise.
249
fa336b91 250 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 251
c2552f79
PJ
252 * xdisp.c (Fdump_tool_bar_row): Reindent.
253
94c7167b
PJ
254 * minibuf.c (Fminibuffer_complete_word): Reindent.
255 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 256 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
257 (Fminibuffer_message): Likewise.
258
462a5e3a
PJ
259 * fns.c (Freverse): Reindent.
260
b8de5714
PJ
261 * eval.c (Fif): Reindent.
262 (Fand): Likewise.
263
deb8e082
PJ
264 * editfns.c (Fuser_real_login_name): Reindent.
265 (Finsert_buffer_substring): Likewise.
266 (Fcompare_buffer_substrings): Likewise.
267 (Fsubst_char_in_region): Likewise.
268
bacf09b4
PJ
269 * dispnew.c (Fsit_for): Reindent.
270 (Fframe_or_buffer_changed_p): Likewise.
271 (Finternal_show_cursor_p): Likewise.
272 (syms_of_display): Likewise.
273
eae936e2
PJ
274 * alloc.c (Flist): Reindent.
275 (Fvector): Likewise.
276
1c1d3d69
RS
2772001-11-12 Richard M. Stallman <rms@gnu.org>
278
279 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
280 LeaveNotify events. Only FocusIn and FocusOut do that now.
281 (x_display_and_set_cursor): Do display hollow cursors in active
282 minibuffer windows when they are not selected.
283
b6f4c7ba
JR
2842001-11-12 Jason Rumney <jasonr@gnu.org>
285
286 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
287 * w32term.c: Change doc-string comments to `new style'.
288 [w/`doc:' keyword]. Doc fixes.
289
290 * w32fns.c: Don't define max.
291 (Fx_open_connection): Only execute once.
292
a89f435d
PJ
2932001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
294
295 * ccl.c: Change macros to use do-while block instead of if-else.
296 Use braces to follow GNU Coding Standards.
297
a4cd0cd7
RS
2982001-11-11 Richard M. Stallman <rms@gnu.org>
299
eafb659a
RS
300 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
301
302 * lread.c (read_escape): Use end_of_file_error for reporting eof.
303
a4cd0cd7
RS
304 * insdel.c (replace_range): Use adjust_markers_for_replace
305 instead of adjust_markers_for_delete and adjust_markers_for_insert.
306
307 * intervals.h: Declare set_text_properties and set_text_properties_1.
308
309 * textprop.c (set_text_properties_1): New subroutine
310 broken out of set_text_properties.
311 (set_text_properties): Use set_text_properties_1.
312
313 * intervals.c (graft_intervals_into_buffer):
314 Use set_text_properties_1 to clear out properties.
315
316 * search.c (Freplace_match): Use replace_range to insert
317 and delete. Don't request property inheritance from
318 surrounding text.
319
91823618
JR
3202001-11-10 Jason Rumney <jasonr@gnu.org>
321
322 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
323 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 324 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 325
86928dfb
GM
3262001-11-10 Gerd Moellmann <gerd@gnu.org>
327
fa336b91 328 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
329 instead of malloc/free.
330
40ef1eda
PJ
3312001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
332
ab8469eb
PJ
333 * xfaces.c (merge_face_vectors): Use braces to follow GNU
334 Coding Standards.
335 (Finternal_set_lisp_face_attribute): Likewise.
336
a78e0303
PJ
337 * buffer.c (Fbury_buffer): Likewise.
338
40ef1eda
PJ
339 * indent.c (current_column_1): Remove unused variable `prev_col'.
340
fabf4a91
PJ
341 * coding.c (encode_coding): Use precomputed value of `src'.
342 (encode_coding): Remove unused variable `src_end'.
343 (code_convert_region): Remove unused variables `count'.
344
0c99b139
JR
3452001-11-07 Jason Rumney <jasonr@gnu.org>
346
347 * w32term.c (x_display_and_set_cursor): Do not move system caret
348 if cursor_glyph is NULL.
349
830ddd77
PJ
3502001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
351
352 * keymap.c (access_keymap): Fix compilation error.
353
55c6d645
MB
3542001-11-07 Miles Bader <miles@gnu.org>
355
356 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
357
5de38842
PJ
3582001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
359
7a4564a4
PJ
360 * intervals.c (graft_intervals_into_buffer):
361 Remove #ifdef'd-out code.
362 (graft_intervals_into_buffer): Remove unused variable `middle'.
363
5de38842
PJ
364 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
365 code (eval-current-buffer).
366 Change doc-string comments to `new style' [w/`doc:' keyword].
367
4fa23df5
RS
3682001-11-06 Richard M. Stallman <rms@gnu.org>
369
370 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
371
7a6a97d7
SM
3722001-11-06 Stefan Monnier <monnier@cs.yale.edu>
373
c191d13c
SM
374 * lread.c (read1): Fix behavior with nested backquoting.
375
7a6a97d7
SM
376 * keyboard.c (make_lispy_event): Check integerness and fix
377 Lisp_Object/int mixup.
378
44dc78e0
PJ
3792001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
380
381 * fns.c (copy_hash_table): Remove unused variable `v'.
382
17893c65
PJ
383 * fontset.c (fontset_font_pattern): Remove unused variable
384 `family_registry'.
385
4d994a79
PJ
386 * indent.c (current_column_1): Remove unused variable `prev_col'.
387
d5360cc7
RS
3882001-11-05 Richard M. Stallman <rms@gnu.org>
389
390 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
391
392 * buffer.c (Fkill_buffer): Don't delete auto save file
393 if buffer is modified.
394
96238a5a
AI
3952001-11-05 Andrew Innes <andrewi@gnu.org>
396
397 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
398 CHECK_NUMBER_CDR.
399
d9d54213
RS
4002001-11-05 Richard M. Stallman <rms@gnu.org>
401
402 * unexelf.c (unexec): Minor changes; clean up comments.
403
b116830b
SS
4042001-11-05 Sam Steingold <sds@gnu.org>
405
406 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
407
3297e2a1
AS
4082001-11-05 Andreas Schwab <schwab@suse.de>
409
410 * sound.c (sound_perror): Save errno from being clobbered.
411
9212319f 4122001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
413
414 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
415 the program image directly.
416
7dd73b78
PJ
4172001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
418
419 * buffer.h (Fbuffer_local_value): Add prototype.
420
982f6c7e
RS
4212001-11-04 Richard M. Stallman <rms@gnu.org>
422
d31053f9
RS
423 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
424 and CHECK_BUFFER.
425
426 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
427 (record_char): Likewise.
428
429 * keyboard.c (make_lispy_event): Don't insist a drag event must
430 move to a different buffer position. Instead, check for moving at
431 least double_click_fuzz.
432
433 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
434
435 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
436
982f6c7e
RS
437 * indent.c (current_column_1, Fmove_to_column): Separate the code
438 for display-table glyphs from the code buffer text, to fix
439 bugs in the former.
440
830047fd
RS
4412001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
442
443 * buffer.c (Fbuffer_local_value): New function.
c191d13c 444 (syms_of_buffer): Defsubr it.
b116830b 445
830047fd
RS
446 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
447 value of `cursor-in-non-selected-windows'.
448
449 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
450 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
451 (syms_of_xdisp): Initialize it.
b116830b 452
2df5238c
PJ
4532001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
454
4e397688
PJ
455 * xfns.c (Fx_create_frame): Doc fix.
456
48b0f3ae
PJ
457 * coding.c: Change doc-string comments to `new style' [w/`doc:'
458 keyword].
459
2df5238c
PJ
460 * eval.c (top_level_value, top_level_set): Remove commented and
461 #ifdef'd-out code.
462 (Fdefvar): Fix usage in doc-string.
463
3ecaf7e5
RS
4642001-11-03 Richard M. Stallman <rms@gnu.org>
465
466 * xfns.c: Include unistd.h, if it exists.
467
468 * editfns.c: Move the include of ctype.h after unistd.h.
469
470 * gmalloc.c: Test BROKEN_PROTOTYPES.
471
8db2e33b
KR
4722001-11-03 Ken Raeburn <raeburn@gnu.org>
473
474 * lisp.h (CHECK_STRING_CAR): New macro.
475 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
476 treating XCAR and XCDR as lvalues.
477 (openp): Use CHECK_STRING_CAR.
478 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
479
aed29b97
EZ
4802001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
481
482 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 483 (SIGMASKTYPE): Define.
aed29b97
EZ
484
485 * syssignal.h (sigunblock): Don't define if already defined.
486
6cb16f95
PJ
4872001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
488
16b45be4
EZ
489 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
490 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
491 Fix typos in comments.
492
020f9b38
PJ
493 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
494 and #ifdef'd-out code.
495 Fix and reindent comments.
496
c191d13c 497 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 498
6cb16f95
PJ
499 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
500 argument `i' in macros.
501
502 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
503 `i' in macros.
504
16b45be4
EZ
505 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
506 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
507 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
508 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
509 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
510 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
511 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
512 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
513 in macros.
514
515 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
516 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
517 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
518 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
519 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
520 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
521 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
522 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
523 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
524 (remove unused second argument).
525
7e9d3c2f
SM
5262001-11-02 Stefan Monnier <monnier@cs.yale.edu>
527
528 * syntax.c (describe_syntax): New wrapper.
529 (Finternal_describe_syntax_value): Rename from describe_syntax.
530 Don't insert space at front and \n at the end.
531 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
532
533 * regex.c (re_wctype): Try to fix some warnings.
534 (regcomp, regexec): Don't forget the __restrict.
535
e6bff182
RS
5362001-11-02 Richard M. Stallman <rms@gnu.org>
537
538 * textprop.c (Fget_char_property): Doc fix.
539
9ba48103
PJ
5402001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
541
542 * process.c (Fstart_process): Add usage to doc-string.
543
544 * data.c (Fsetq_default): Ditto.
545
546 * callint.c (Finteractive): Ditto.
547
c22e59e1
SM
5482001-11-01 Stefan Monnier <monnier@cs.yale.edu>
549
550 * macros.c: Don't include keymap.h any more.
551
9271ed2c
RS
5522001-11-01 Richard M. Stallman <rms@gnu.org>
553
e6bff182
RS
554 * data.c (Fmake_local_variable): Doc fix.
555
556 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
557 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
558
9271ed2c
RS
559 * keymap.c (Fdescribe_buffer_bindings): Print character property
560 bindings along with or instead of the buffer local map.
561 Make the overriding maps override what they should.
562
8b8bd9c6
PJ
5632001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
564
565 * window.c (grow_mini_window): Fix typo in comment.
566
27188d11
GM
5672001-11-01 Gerd Moellmann <gerd@gnu.org>
568
7b49b9d2
GM
569 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
570 (XTset_vertical_scroll_bar): Likewise.
571
43f7c3ea
GM
572 * xfns.c (x_build_heuristic_mask): Use four_corners_best
573 instead of IMAGE_BACKGROUND.
c22e59e1 574
b350c2e5
GM
575 * xfns.c (four_corners_best): Reindent.
576
c22e59e1 577 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
578 Handle :box so that it is possible to specify sexprs.
579
d576358b
PJ
5802001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
581
582 * xfaces.c (Finternal_merge_in_global_face): Reindent.
583 (Fface_font): Ditto.
584 (Finternal_set_alternative_font_registry_alist): Ditto.
585 (Ftty_suppress_bold_inverse_default_colors): Ditto.
586
587 * xfns.c (x-get-resource): Reindent.
588
bf00d461
EZ
5892001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
590
591 * s/hpux11.h: New file.
592
4e10df59
PJ
5932001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
594
2b209b97
PJ
595 * emacs.c (USAGE1): Show command line option --no-window-system
596 instead of --no-windows in usage.
597 (standard_args): Rename --no-windows to --no-window-system.
598 (bug_reporting_address): Follow Emacs coding conventions.
599
9dbc9081
PJ
600 * eval.c (Fcommandp): Doc fix.
601 Change doc-string comments to `new style' [w/`doc:' keyword].
602
4e10df59
PJ
603 * frame.c (Fframe_live_p): Doc fix.
604
605 * buffer.c (selective-display-ellipses): Doc fix.
606
dd387b25
GM
6072001-10-31 Gerd Moellmann <gerd@gnu.org>
608
fe957e65
GM
609 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
610
dd387b25
GM
611 * xfaces.c (realize_x_face): If C is not a single-byte character,
612 set the face's colors_copied_bitwise_p instead of the defaulted_p
613 members which have a different meaning.
614 (free_face_colors): Do nothing for a face whose colors have been
615 copied bitwise.
616
c22e59e1 617 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 618
2e1280f8
PJ
6192001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
620
687784e8
PJ
621 * marker.c, mocklisp.c: Change doc-string comments to `new style'
622 [w/`doc:' keyword].
2e1280f8 623
b9d9a9b9
GM
6242001-10-31 Gerd Moellmann <gerd@gnu.org>
625
626 * fns.c (require_unwind): Return Lisp_Object.
627
48400103
PJ
6282001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
629
fa1361cb
PJ
630 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
631 (last-input-char): Revert doc-string to be the same as the
632 doc-string of `last-input-event'.
633
48400103
PJ
634 * xdisp.c: Fix typos in comments.
635
eafa3196
GM
6362001-10-31 Gerd Moellmann <gerd@gnu.org>
637
638 * window.c (grow_mini_window): Handle case that the root
639 window is already smaller than the nominal mininum height.
640
747d3f2a
SM
6412001-10-30 Stefan Monnier <monnier@cs.yale.edu>
642
bf9bb76f
SM
643 * emacs.c (main): Don't call keys_of_macros any more.
644
645 * lisp.h (keys_of_macros): Remove.
646
647 * macros.c (keys_of_macros): Remove.
648
747d3f2a
SM
649 * xfaces.c (Fface_attribute_relative_p): Declare args.
650
5e905a57
JR
6512001-10-30 Jason Rumney <jasonr@gnu.org>
652
653 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
654 (enum_font_cb2): Ignore fonts with vertical orientation.
655
3a426197
RS
6562001-10-30 Richard M. Stallman <rms@gnu.org>
657
658 * keyboard.c (Finput_pending_p): Doc fix.
659
a742d646
GM
6602001-10-30 Gerd Moellmann <gerd@gnu.org>
661
259cf6bc
GM
662 * xterm.c (x_after_update_window_line): Don't run the code
663 clearing in borders for rows whose visible height is 0.
664
3f99f948
GM
665 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
666 resized_p flag is set. If not set, use the much less flickering
667 method previously used.
668
669 * dispnew.c (change_frame_size_1): Set frame's resized_p.
670
671 * frame.h (struct frame) <resized_p>: New member.
672
b4a3be43
GM
673 * lread.c (to_multibyte): Ensure read_buffer is at least twice
674 as large as the number of bytes to convert.
747d3f2a 675
a742d646
GM
676 * lread.c (to_multibyte): New function.
677 (read1): Use it.
678
cacbb9e9
EZ
6792001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
680
681 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
682
99cb6b2f
GM
6832001-10-30 Gerd Moellmann <gerd@gnu.org>
684
327f42ee 685 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
686 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
687 if the row's fill_line_p is set and drawing the last glyph with
688 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 689
99cb6b2f
GM
690 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
691
8e8223e2
SM
6922001-10-29 Stefan Monnier <monnier@cs.yale.edu>
693
694 * xmenu.c: Include coding.h and charset.h.
695 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
696 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
697 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
698 Explicitly set wv->help. Use `TRUE' rather than `True'.
699 (menu_help_callback): Use empty_string.
700
701 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
702 (Fx_popup_dialog): Explicitly init f.
703 (w32_menu_display_help): Use empty_string.
704
4d083a8f
RS
7052001-10-29 Richard M. Stallman <rms@gnu.org>
706
b2304472
RS
707 * fns.c (Frequire): Detect recursive try to require the same
708 feature 3 or more levels deep, and get error.
709 (require_unwind): New subroutine.
710 (require_nesting_list): New variable.
711 (syms_of_fns): Init and staticpro it.
712
4d083a8f
RS
713 * print.c (print_object): Clarify indication of insertion type.
714
2fe41216
EZ
7152001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
716
90480000
EZ
717 * coding.c (syms_of_coding): Document that locale-coding-system is
718 used for decoding input on X.
719
2fe41216
EZ
720 * window.c (Fscroll_left, Fscroll_right): Doc fix.
721
74e79967
PJ
7222001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
723
724 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
725 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
726
60ebcfe8
GM
7272001-10-29 Gerd Moellmann <gerd@gnu.org>
728
9a7bdceb
GM
729 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
730 use NO_CURSOR if cursor_in_non_selected_windows is false.
731
3f08fcd2
GM
732 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
733 the slant attribute if FRAME is t.
734
0ccfdad2
GM
735 * xfns.c (x_set_internal_border_width): Set frame garbaged
736 when X window doesn't exist yet.
737
ef253080
GM
738 * xterm.c (x_after_update_window_line): Clear internal border
739 in different circumstances.
b116830b 740
60ebcfe8
GM
741 * xterm.c (XTread_socket) <KeyPress>: Don't use
742 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
743 <handa@etl.go.jp>.
744
73d25f9c
EZ
7452001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
746
747 * m/ibms390.h: New file. From Adam Thornton
748 <athornton@sinenomine.net>.
749
cac1daf0
GM
7502001-10-28 Gerd Moellmann <gerd@gnu.org>
751
053b3256 752 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 753
cac1daf0
GM
754 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
755 a loop counter.
756
13b1a09c
PJ
7572001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
758
186486eb
PJ
759 * emacs.c: Use argv[0] instead of emacs when -t was specified.
760
4707d2d0
PJ
761 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
762 keyword].
763 Fix typos in comments.
b116830b 764
d883731c
PJ
765 * emacs.c (bug_reporting_address): New function.
766 Use it when displaying usage message.
767
04012254
PJ
768 * minibuf.c (read_minibuf): Remove unused external declaration of
769 variable `Qread_only'.
770
13b1a09c
PJ
771 * keymap.c (access_keymap): Remove unused variable `charset'.
772
5bbf4378
MB
7732001-10-28 Miles Bader <miles@gnu.org>
774
775 * xfaces.c (merge_face_heights): Handle TO being relative as well.
776 Remove #ifdef'd-out code.
777 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
778 (syms_of_xfaces): Initialize them.
779
1ce1e4ee
JR
7802001-10-27 Jason Rumney <jasonr@gnu.org>
781
782 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
783 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
784 position using the system caret.
785
786 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
787 (w32_system_caret_height, w32_system_caret_x)
788 (w32_system_caret_y): New variables for tracking system caret.
789 (w32_initialize): Initialize them.
c2d53558 790 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 791
c2d53558
SM
792 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
793 New messages types.
1ce1e4ee
JR
794
795 * w32term.c (note_mouse_highlight): Clear old help_echo.
796
4e30ce42
PJ
7972001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
798
bb4600a4
PJ
799 * xterm.c: Fix typo in a comment.
800
7db35a48
PJ
801 * emacs.c: Fix typos in comments.
802 Remove unnecessary spaces.
803 Change doc-string comments to `new style' [w/`doc:' keyword].
804 (USAGE2): Fix typos in usage string.
805
a7248e4f
PJ
806 * xterm.c: Fix typo in a comment.
807
4e30ce42
PJ
808 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
809 emacs.c.
810
62725a92
GM
8112001-10-27 Gerd Moellmann <gerd@gnu.org>
812
798dbe1f 813 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 814 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
815 farther backward when target_y was not reached.
816
62725a92
GM
817 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
818 Display errno only if non-zero.
819 (sound_warning): New function.
820 (vox_configure): Don't treat failing to set sample rate as error.
821 (various places): Improve error messages.
822
d4e34d24
EZ
8232001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
824
944e6f60
EZ
825 * fileio.c (Faccess_file): Run the argument filename through
826 Fexpand_file_name, before using it.
827
d4e34d24
EZ
828 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
829 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
830
38d2af0c
GM
8312001-10-26 Gerd Moellmann <gerd@gnu.org>
832
da80a8d5
GM
833 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
834
38d2af0c
GM
835 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
836 Fix clearing in the case of scroll bars on the right.
c2d53558 837
56f508dd
EZ
8382001-10-26 Juanma Barranquero <lektu@terra.es>
839
840 * w32gui.h (XImage): Add a dummy typedef.
841
fbd5ceb2
GM
8422001-10-26 Gerd Moellmann <gerd@gnu.org>
843
c2d53558 844 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 845
b23236fb
EZ
8462001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
847
848 * frame.c (Fframe_parameter): Fix last change.
849
5d991fc4
EZ
850 * fileio.c: Revert last change (which removed old commented-out
851 version of expand-file-name). Add a comment that explains why
852 this old version should not be removed.
853
879eadc3
GM
8542001-10-25 Gerd Moellmann <gerd@gnu.org>
855
75700ff2
GM
856 * frame.c (Fframe_parameter): Fix a bug whereby some
857 ``artificial'' frame parameters, like `minibuffer' were not
858 obtained by calling Fframe_parameters.
859
dfe92a6a
GM
860 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
861 cursor differently.
862
879eadc3
GM
863 * xdisp.c (move_it_vertically_backward): Compute line height
864 differently. Add heuristic to try to be more compatible to 20.x.
865
e1010ebe
SM
8662001-10-25 Stefan Monnier <monnier@cs.yale.edu>
867
d73a471b
SM
868 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
869
d6da5a06
GM
870 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
871 boolean.
e1010ebe 872
f66bd220
MB
8732001-10-25 Miles Bader <miles@gnu.org>
874
875 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
876 BG is a pointer to a structure, not a structure.
877 (gif_format, png_format): Add missing commas.
878
d436d538
RS
8792001-10-24 Richard M. Stallman <rms@gnu.org>
880
881 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 882 (syms_of_xfaces): Defsubr it.
d436d538 883
075c507b
PJ
8842001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
885
886 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
887 variable `area'.
888
d492b584
PJ
8892001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
890
c2d53558 891 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 892
e2a57b34
MB
8932001-10-25 Miles Bader <miles@gnu.org>
894
895 * dispextern.h (struct image): Add `background',
896 `background_valid', and `background_transparent' fields.
897 (image_background, image_background_transparent): New declarations.
898 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
899 * xfns.c (image_background, image_background_transparent)
900 (four_corners_best): New functions.
c2d53558 901 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
902 (gs_format): Add `:background' entry.
903 (lookup_image): Set IMG's background color if specified.
904 (pbm_load, xbm_load_image, png_load): Set IMG's background field
905 when appropriate.
906 (x_clear_image_1): Reset `background_valid' and
907 `background_transparent_valid' fields.
908 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
909 calculating it here. Set IMG's background_transparent field.
910 (enum xpm_keyword_index): Add XPM_BACKGROUND.
911 (enum png_keyword_index): Add PNG_BACKGROUND.
912 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
913 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
914 (enum gif_keyword_index): Add GIF_BACKGROUND.
915 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 916 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
917 Pre-calculate image background color where necessary.
918 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
919 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
920 color to use for image glyph reliefs.
921
b547b6e8
GM
9222001-10-24 Gerd Moellmann <gerd@gnu.org>
923
d9e3b8c6
GM
924 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
925 in full-width rows.
c2d53558 926
b547b6e8
GM
927 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
928 Fix clearing of area not covered by scroll bar.
929
2beb36f9
PJ
9302001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
931
932 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
933 and `real_start'.
c2d53558 934 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
935 (glyph_rect): Remove unused variable `area'.
936
76cb5e06
GM
9372001-10-24 Gerd Moellmann <gerd@gnu.org>
938
bdbdebff 939 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
940
941 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
942 (row_containing_pos): Take additional argument DY.
943 Treat rows ending in middle of char differently.
62e33982
GM
944 (display_line): Handle tabs on window systems differently.
945
946 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
947 with additional argument.
948
949 * dispextern.h (row_containing_pos): Adjust prototype.
950
76cb5e06
GM
951 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
952 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
953 (try_window_id, try_window_reusing_current_matrix)
954 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
955 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
956
996fee11
PJ
9572001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
958
c9e60620
PJ
959 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
960 gnuemacs).
961 (HAVE_BOXES): Fix typo in comment.
962 (push_menu_pane): Fix typo in comment.
963
3b552d56
PJ
964 * xdisp.c: (display_prop_string_p): Remove unused local declaration
965 of `Qwhen'.
966 (single_display_prop_string_p): Remove unused local declarations
967 of `Qwhen' and `Qmargin'.
968 (string_buffer_position): Remove unused variable `around'.
969 (store_frame_title): Remove unused variable `width'.
970
15c565ac
PJ
971 * window.c: Don't define max.
972 (coordinates_in_window): Remove unused variable `uy'.
973
a8818eb9
PJ
974 * widget.c: Don't define max.
975
996fee11
PJ
976 * process.c: Don't define max.
977 (create_process): Remove unused variable `buffer'.
978
496e1a5b
GM
9792001-10-23 Gerd Moellmann <gerd@gnu.org>
980
c2d53558 981 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 982
5905ae8b
EZ
9832001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
984
985 * xfaces.c (Finternal_set_lisp_face_attribute)
986 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
987 frame is on a windowed display.
988
24db49fb
GM
9892001-10-23 Gerd Moellmann <gerd@gnu.org>
990
c2d53558
SM
991 * dispnew.c (sync_window_with_frame_matrix_rows):
992 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
993 of marginal areas.
994
c2d53558 995 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 996
f0487f05
EZ
9972001-10-23 Andreas Schwab <schwab@suse.de>
998
999 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1000 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1001
f0a48a01
GM
10022001-10-23 Gerd Moellmann <gerd@gnu.org>
1003
c2d53558 1004 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1005 REAL_END. Notice if cursor gets overwritten.
1006 (notice_overwritten_cursor): Take X positions as parameters.
1007 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1008 around call to x_draw_glyphs.
1009
a50a10a0
PJ
10102001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1011
fc11dff0
PJ
1012 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1013 instead of C) and usage.
a50a10a0 1014
fc11dff0
PJ
1015 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1016 of C) and usage.
a50a10a0
PJ
1017
1018 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1019 `left', `max_width' and `max_height'.
1020
8738febd
GM
10212001-10-23 Gerd Moellmann <gerd@gnu.org>
1022
1023 * xdisp.c (display_line): For a tab continued to the next line,
1024 set row's ends_in_middle_of_char_p.
1025
653c329b
GM
10262001-10-22 Gerd Moellmann <gerd@gnu.org>
1027
1028 * xdisp.c (display_line): Fix computation of continuation lines
1029 width for TABs.
1030
f958c5ac
PJ
10312001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1032
7ba51063
PJ
1033 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1034 `Qlaplace'.
1035
f958c5ac
PJ
1036 * fileio.c: Remove unused code.
1037
eb360291
MB
10382001-10-22 Miles Bader <miles@gnu.org>
1039
1040 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1041 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1042 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1043
98515cf0
JR
10442001-10-21 Jason Rumney <jasonr@gnu.org>
1045
1046 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1047
93026d88
EZ
10482001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1049
1050 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1051 (Finsert_string): Avoid the multi-line string literals warning.
1052
c9a95b79
MB
10532001-10-22 Miles Bader <miles@gnu.org>
1054
1055 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1056 (Fdocumentation): Don't use it.
1057 (syms_of_doc): Don't initialize it.
1058
1059 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1060 * print.c (Fwith_output_to_temp_buffer): Likewise.
1061 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1062 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1063 (Fsave_restriction): Likewise.
c2d53558
SM
1064 * eval.c (Frun_hooks, Frun_hook_with_args)
1065 (Frun_hook_with_args_until_failure)
1066 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1067 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1068 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1069 (Funwind_protect, Fcondition_case): Likewise.
1070 * coding.c (Ffind_operation_coding_system): Likewise.
1071 * keyboard.c (Ftrack_mouse): Likewise.
1072
a3b10252
MB
10732001-10-21 Miles Bader <miles@gnu.org>
1074
c2d53558 1075 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1076 (Fmake_hash_table): Add usage: string to doc string.
1077 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1078 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1079 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1080 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1081 (Fml_prefix_argument_loop): Likewise.
1082
c6f73eec
PJ
10832001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1084
c2d53558 1085 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1086
c6f73eec
PJ
1087 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1088 style' [w/`doc:' keyword].
1089
1090 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1091 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1092 comments to `new style' [w/`doc:' keyword].
1093
3cf3436e
JR
10942001-10-21 Jason Rumney <jasonr@gnu.org>
1095
1096 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1097
c169b8f1
JR
1098 * w32term.c (remember_mouse_glyph): New function.
1099 (w32_mouse_position): Use it.
1100 (note_mouse_movement): If the mouse moved off the glyph, remember
1101 its new position.
c2d53558 1102
4fdd691b
JR
1103 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1104 (w32_display_info): Add mouse_face_overlay.
1105
c169b8f1
JR
1106 * w32term.c (notice_overwritten_cursor): Renamed from
1107 note_overwritten_text_cursor. Rewritten to take glyph widths into
1108 account.
1109 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1110 (fast_find_string_pos): New function.
1111 (fast_find_position): Return the correct vpos. Add parameter
1112 STOP. In the final row, stop before glyphs having STOP as object.
1113 Don't consider glyphs that are not from a buffer.
1114 (fast_find_position) [0]: Add a presumably more correct version
1115 for after 21.1.
1116 (expose_window_tree, expose_frame): Don't compute intersections here.
1117 (expose_window): Do it here instead.
1118 (expose_window_tree, expose_window, expose_line): Return 1 when
1119 overwriting mouse-face.
1120 (expose_window): If W is the window currently being updated, mark
1121 the frame garbaged.
1122 (expose_frame): If mouse-face was overwritten, redo it.
1123 (x_use_underline_position_properties): New variable.
1124 (syms_of_xterm): DEFVAR_BOOL it.
1125 (x_draw_glyph_string): Add comment to use it in future.
1126 (x_draw_glyph_string): Restore clipping after drawing box.
1127 Fix a computation of the underline position.
1128 (w32_get_glyph_string_clip_rect): Minor cleanup.
1129 (x_fill_stretch_glyph_string): Remove an assertion.
1130 (x_produce_glyphs): Don't convert multibyte characters
1131 to unibyte characters in unibyte buffers.
1132 (cursor_in_mouse_face_p): New function.
1133 (x_draw_stretch_glyph_string): Use it to choose a different GC
1134 when drawing a cursor within highlighted text. Don't draw
1135 background again if it has already been drawn.
1136 (x_draw_glyph_string_box): Don't draw a full-width
1137 box just because the glyph row's full_width_p flag is set.
1138 (x_draw_glyphs): Fix computation of rightmost x for
1139 full-width rows.
1140 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1141 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1142 change bottom shadow accordingly. Some cleanup.
1143 (x_update_window_end): Handle overwritten mouse face
1144 also for tool bar windows.
1145 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1146 DRAW is DRAW_IMAGE_RAISED.
1147 (clear_mouse_face): Return 1 if text with mouse face was
1148 actually redrawn. Make the function static. Reset
1149 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1150 optimize away highlighting if we pass over that same overlay again.
1151 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1152 to detect a case where we have to highlight a different region
1153 despite not having left the currently highlighted region.
1154 Set mouse_face_overlay in the x_display_info. Avoid changing the
1155 mouse pointer shape when show_mouse_face has already done it, or
1156 there is no need. Handle mouse-face and help-echo in strings.
1157 (glyph_rect): New function.
1158 (w32_mouse_position): Use it to raise the threshold for mouse
1159 movement event generation.
1160 (w32_initialize_display_info): Initialize the x_display_info's
1161 mouse_face_overlay.
1162 (w32_set_vertical_scroll_bar): Don't clear a zero height
1163 or width area.
1164 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1165 a widget to zero height.
1166
3cf3436e 1167 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1168 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1169 equivalents in menu_items.
1170 (w32_menu_show): Don't overwrite an item's name with its key
1171 description in case the description is a multibyte string.
1172 (single_submenu): Some cleanup.
1173
1174 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1175 (postprocess_image): New function.
1176 (lookup_image): Call it for all image types except PostScript.
1177 (x_kill_gs_process): Call postprocess_image.
1178 (tiff_error_handler, tiff_warning_handler): New functions.
1179 (tiff_load): Install them as handlers.
1180 (x_kill_gs_process): Recognize if someone has cleared the image
1181 cache under us.
1182 (valid_image_p): Protect better against invalid image
1183 specifications. Previous code could signal an error.
1184 (Fx_hide_tip, Fshow_tip): Doc fix.
1185 (Fv_max_tooltip_size): New variable.
1186 (syns_of_xfns): DEFVAR_LISP it.
1187 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1188 window buffer to *tip* right after creating the frame. Set frame's
1189 window_width. Use a maximum tooltip size specified by
1190 Vx_max_tooltip_size, if that has valid contents.
1191 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1192 Make sure the tooltip is completely visible.
1193 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1194 (Fx_create_frame): Adjust the frame's height for presence
1195 of the tool bar before calling x_figure_window_size.
1196 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1197 when the window gets smaller.
1198 (x_set_foreground_color): Set frame's cursor_pixel.
1199 (x_set_foreground_color, x_set_background_color): Cleaned up.
1200 (x_set_font): Handle case of x_new_fontset returning the same name
1201 as before, although there was a change in fontsets.
1202
386ca361
MB
12032001-10-21 Miles Bader <miles@gnu.org>
1204
c2d53558 1205 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1206 (Flogxor): Add usage: string to doc string.
1207 * charset.c (Fstring): Likewise.
1208 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1209 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1210
14ff1ee0
PJ
12112001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1212
03be2694
PJ
1213 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1214
1215 * alloc.c: Reindent DEFUNs with doc: keywords.
1216
1217 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1218
14ff1ee0
PJ
1219 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1220 keyword].
1221
71431a0e
GM
12222001-10-20 Gerd Moellmann <gerd@gnu.org>
1223
6aa97356 1224 * (Version 21.1 released.)
71431a0e 1225
39f624fa
PJ
12262001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1227
c2d53558 1228 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1229
1230 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1231 0 because unused.
1232
1233 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1234 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1235 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1236
abcce93a
MB
12372001-10-20 Miles Bader <miles@gnu.org>
1238
1239 The following changes remove the glyph_row `inverse_p' field,
1240 which is never set anymore, due to other changes:
1241
1242 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1243 (reassert_line_highlight, change_line_highlight): Declarations removed.
1244 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1245 (line_hash_code, row_equal_p, fake_current_matrices)
1246 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1247 (update_frame_line, update_frame_line, update_frame_line):
1248 Don't use `inverse_p' field.
1249 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1250 change_line_highlight_hook.
1251 (XTreassert_line_highlight, x_change_line_highlight):
1252 Functions removed.
c2d53558 1253 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1254 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1255 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1256 `inverse_p' field.
c2d53558 1257 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1258 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1259 (w32_reassert_line_highlight, x_change_line_highlight):
1260 Functions removed.
1261 * w32console.c (reassert_line_highlight, change_line_highlight):
1262 Functions removed.
1263 (initialize_w32_display): Don't set reassert_line_highlight_hook
1264 or change_line_highlight_hook.
1265 (hl_mode): Function removed.
c2d53558
SM
1266 (reset_terminal_modes, set_terminal_modes, update_begin)
1267 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1268 (clear_frame, ins_del_lines): Don't call it.
1269 * termhooks.h (reassert_line_highlight_hook)
1270 (change_line_highlight_hook): Declarations removed.
1271 * term.c (reassert_line_highlight_hook)
1272 (change_line_highlight_hook): Variables removed.
1273 (reassert_line_highlight, change_line_highlight): Functions removed.
1274 * msdos.c (IT_reassert_line_highlight)
1275 (IT_change_line_highlight): Functions removed.
1276 (internal_terminal_init): Don't set reassert_line_highlight_hook
1277 or change_line_highlight_hook.
1278 (highlight): Variable removed.
c2d53558 1279 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1280 (IT_set_terminal_modes): Don't set or use it.
1281
1282 The following changes remove inverse-video support for terminals
1283 that use a `magic cookie' standout mode. Due to changes in the
1284 way mode-lines are displayed, such support no longer works
1285 anyway, and it's probable that almost no one uses such terminals
1286 anymore:
1287
1288 * term.c (standout_requested): Variable removed.
1289 (update_end, highlight_if_desired): Don't use it.
1290 (chars_wasted, copybuf): Variables removed.
1291 (write_standout_marker): Function removed.
c2d53558 1292 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1293 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1294 Don't use `chars_wasted' or `copybuf'.
1295 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1296 Set `costs_set' to true.
1297 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1298 `chars_wasted'.
1299 (clear_end_of_line): Function removed.
1300 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1301 (clear_to_end): Call `clear_end_of_line' instead of
1302 `clear_end_of_line_raw'.
54800acb
MB
1303 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1304 (term_init): Don't set them.
1305 Turn off any standout/underline modes that require magic cookies.
c2d53558 1306 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1307 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1308 Remove special processing for magic-cookie standout modes.
1309 (turn_off_face, turn_on_face): Remove special processing for
1310 underline magic-cookie glitch.
abcce93a 1311
0b5f679f
RS
13122001-10-19 Richard M. Stallman <rms@gnu.org>
1313
1314 * eval.c (syms_of_eval): Doc fixes.
1315
5a4a5bd4
GM
13162001-10-19 Gerd Moellmann <gerd@gnu.org>
1317
1318 * xdisp.c (redisplay_internal): Don't clear echo area if the
1319 mini-window is selected.
1320
79f1f96c
MB
13212001-10-19 Miles Bader <miles@gnu.org>
1322
b57c2708
MB
1323 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1324 doesn't take precedence if the affected property's value is nil.
1325
1326 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1327
79f1f96c
MB
1328 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1329 with fields and suggest using `forward-line' to avoid them.
1330 * editfns.c (Fline_beginning_position, Fline_end_position):
1331 Clarify documentation.
1332
ef879104
SM
13332001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1334
1335 * keymap.c (current_minor_maps): `override' only shadows its
1336 correspondent in minor-mode-map-alist, not the whole tail.
1337
97f4db8c
AI
13382001-10-18 Andrew Innes <andrewi@gnu.org>
1339
1340 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1341 optimization. The fontp->encoding array was not being initialized
1342 correctly when compiled with optimizations by MSVC.
1343
e6b70fd8
GM
13442001-10-18 Gerd Moellmann <gerd@gnu.org>
1345
30903479 1346 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1347
0e804d38
AI
13482001-10-17 Andrew Innes <andrewi@gnu.org>
1349
1350 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1351
1352 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1353 font_info.charset field.
1354
1355 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1356 rather than working it out by calling w32_codepage_for_font for
1357 every glyph.
1358
66e5868a
AI
13592001-10-17 Andrew Innes <andrewi@gnu.org>
1360
1361 * w32term.c (w32_read_socket): Determine clipping rectangle for
1362 the entire frame, including areas covered by scrollbars and the
1363 menubar. This avoids internal arguments about whether a frame is
1364 fully obscured or not.
1365
15b00083
GM
13662001-10-17 Gerd Moellmann <gerd@gnu.org>
1367
23e8bd86
GM
1368 * xdisp.c (try_window_id): Undo last change. Give up if
1369 window ends in strings.
30903479 1370
9c6ba6d1 1371 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1372 end if the rest of the window after the window end was already blank.
23e8bd86 1373
30903479 1374 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1375 for the release of 21.1.
1376
30903479 1377 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1378
945220bd
MB
13792001-10-17 Miles Bader <miles@gnu.org>
1380
1381 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1382 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1383 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1384 Change doc-string comments to `new style' [w/`doc:' keyword].
1385 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1386 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1387 out make-docfile.
1388
14242528
MB
13892001-10-16 Miles Bader <miles@gnu.org>
1390
1391 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1392
3ddf952f
GM
13932001-10-16 Gerd Moellmann <gerd@gnu.org>
1394
1395 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1396 *scratch*.
1397
f3fbd155
KR
13982001-10-16 Ken Raeburn <raeburn@gnu.org>
1399
1400 Avoid the assumption that car and cdr slots of cons cells are
1401 addressable lvalues; this allows for easier experimentation with
1402 other lisp implementations that may not permit such accesses for
1403 various reasons. Not quite complete -- buffer.c still needs some
1404 work, and w32/mac files need rechecking -- so compile-time
1405 enforcement is left disabled for now.
1406
1407 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1408 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1409 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1410 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1411 (XSETCAR, XSETCDR): New macros.
1412 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1413 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1414 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1415 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1416 XSETCDR.
1417 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1418 * buffer.c (record_buffer, Fbury_buffer)
1419 (swap_out_buffer_local_variables, recenter_overlay_lists)
1420 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1421 fields of a cons cell respectively.
1422 * callint.c (quotify_args, Fcall_interactively): Likewise.
1423 * ccl.c (Fregister_code_conversion_map): Likewise.
1424 * coding.c (detect_coding_system): Likewise.
1425 * composite.c (get_composition_id, make_composition_value_copy):
1426 Likewise.
30903479
SM
1427 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1428 (swap_in_symval_forwarding, set_internal, Fset_default)
1429 (Fmake_variable_buffer_local, Fmake_local_variable)
1430 (Fmake_variable_frame_local): Likewise.
f3fbd155 1431 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1432 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1433 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1434 * minibuf.c (get_minibuffer): Likewise.
1435 * search.c (Fmatch_data): Likewise.
1436 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1437 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1438 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1439 Likewise.
1440 * w32term.c (x_delete_display): Likewise.
1441 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1442 Likewise.
c2d53558 1443 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1444 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1445 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1446 (Fread_file_name): Use XSETCAR.
1447 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1448 CHECK_NUMBER_CDR.
1449 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1450 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1451 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1452 CHECK_NUMBER_CDR.
1453 * keyboard.c (read_char): Alter list traversal to avoid taking the
1454 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1455 (parse_menu_item): Use XSETCAR and XSETCDR.
1456 (reach_char_x_menu_prompt): Use XSETCAR.
1457 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1458 (Fcommand_execute): Use XSETCDR.
1459 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1460 (openp): Change list traversal to avoid using XCAR as lvalue.
1461 (read_list): Use XSETCDR.
1462 * process.c (wait_reading_process_input): Change wait_for_cell
1463 handling to avoid taking addresses of cons cell slots.
30903479
SM
1464 * xselect.c (x_own_selection, x_handle_selection_clear)
1465 (x_clear_frame_selections): Use XSETCDR.
1466 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1467 (x_handle_property_notify, x_get_foreign_selection)
1468 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1469
502150e5
PJ
14702001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1471
018ba359
PJ
1472 * buffer.c: Put doc strings in comments.
1473
30903479 1474 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1475
b56ba8de
SS
14762001-10-15 Sam Steingold <sds@gnu.org>
1477
1478 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1479
6a0b793a
PJ
14802001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1481
30903479
SM
1482 * process.c (process-inherit-coding-system-flag)
1483 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1484 in comment.
1485
a1f17501 1486 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1487 arguments. Put doc strings in comments.
a65da641
PJ
1488
1489 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1490
aa601ad0
GM
14912001-10-15 Gerd Moellmann <gerd@gnu.org>
1492
30903479 1493 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1494
aa601ad0
GM
1495 * window.c (select_window_1): Unfreeze window start. Remove a
1496 doubled test for WINDOW being live.
1497
288148a1
PJ
14982001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1499
dd8d1e71
PJ
1500 * fns.c (Fmapconcat): Fix typo in a doc string.
1501
288148a1
PJ
1502 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1503
9f5eb4a3
GM
15042001-10-15 Gerd Moellmann <gerd@gnu.org>
1505
1506 * xterm.c (x_draw_glyph_string): Restore clipping after
1507 drawing box.
1508
dbae44c8
PJ
15092001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1510
30903479 1511 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1512
0c88c937
SM
15132001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1514
56378db4
GM
1515 * indent.c (skip_invisible): Use new retval of
1516 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1517
845e4cf4
SM
1518 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1519 If a parent is reached and noinherit is set, exit immediately.
1520 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1521
0c88c937
SM
1522 * s/ms-w32.h (EXEC_SUFFIXES):
1523 * s/msdos.h (EXEC_SUFFIXES):
1524 * process.h (EXEC_SUFFIXES): Remove.
1525
1526 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1527 (decode_suffixes): Remove.
1528
1529 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1530 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1531 (invisible_ellipsis_p): Remove.
0c88c937
SM
1532
1533 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1534 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1535 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1536 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1537 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1538
d19be8a9
PJ
15392001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1540
04d7d066
PJ
1541 * lisp.h (Ftop_level): Add prototype.
1542
d624284c
PJ
1543 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1544 (XTread_socket): Improve style of comments to follow other
1545 comments.
1546
a87414f9
PJ
1547 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1548 is already prototyped in included lisp.h).
1549
d19be8a9
PJ
1550 * frame.c (Fset_mouse_position): Improve style of comment to
1551 follow other comments.
1552 (Fset_mouse_pixel_position): Improve style of comment to follow
1553 other comments.
1554 (Fmake_frame_visible): Doc fix and typo in comment.
1555 (Fmake_frame_invisible): Doc fix and typo in comment.
1556 (Ficonify_frame): Fix typo in comment.
1557
c061c855
GM
15582001-10-14 Gerd Moellmann <gerd@gnu.org>
1559
37f6b5b6 1560 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1561 * term.c, alloc.c: Put doc strings in comments.
c061c855 1562
e641b454
GM
15632001-10-13 Gerd Moellmann <gerd@gnu.org>
1564
1565 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1566 Provide definitions for doc strings in comments.
1567
1568 * fns.c: Put doc strings in comments.
1569
51724e26
EZ
15702001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1571
1572 * dired.c (file_name_completion): Ignore a candidate directory if
1573 it matches an element in completion-ignored-extensions that ends
1574 in a slash.
1575 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1576 feature in the doc string.
1577 (Ffile_name_completion): Ditto.
1578
be5fc59b
SM
15792001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1580
5a1373f3
SM
1581 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1582
1583 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1584
1585 * lisp.h (Fprovide): Update prototype.
1586 (Ffeaturep, invisible_p): Remove.
1587
bbc4a3d3 1588 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1589 (DOLIST, LOOP_PROPVAL): New macros.
1590 (invisible_p, invisible_ellipsis_p): Use them.
1591 (invisible_noellipsis_p): New function.
1592 (syms_of_xdisp): Use empty_string.
1593
1594 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1595
1596 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1597 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1598
1599 * print.c (Fwith_output_to_temp_buffer): Align with
1600 internal_with_output_to_temp_buffer.
1601 (print_preprocess): Use traverse_intervals_noorder.
1602 (print_object): Update call to traverse_intervals.
1603
1604 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1605 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1606
1607 * intervals.c (traverse_intervals_noorder): New function.
1608 (search_for_interval, count_intervals): Use it.
1609 (traverse_intervals): Use less stack space and drop `depth' arg.
1610
1611 * fns.c (Ffeaturep): Add new `subfeature' arg.
1612 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1613 (Qsubfeatures): New var.
1614 (syms_of_fns): Initialize it.
1615
026f408d
SM
1616 * keymap.c (Fkey_description): Use empty_string.
1617 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1618 (syms_of_keymap): Setup inheritance between maps.
1619 Don't export Sdescribe_bindings_internal any more.
1620
be5fc59b
SM
1621 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1622
3365175e
GM
16232001-10-12 Gerd Moellmann <gerd@gnu.org>
1624
1625 * xterm.c (notice_overwritten_cursor): Renamed from
1626 note_overwritten_text_cursor. Rewritten to take glyph widths into
1627 account.
1628
2ab7765c
EZ
16292001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1630
1631 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1632 multi-line strings without a trailing "\n\".
1633
311346bb
PJ
16342001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1635
1636 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1637 defined.
1638
2168e04d
SM
16392001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1640
026f408d
SM
1641 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1642
c0ec53ad
SM
1643 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1644 * w32proc.c (sys_spawnve):
1645 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1646 * w32.c (check_windows_init_file):
1647 * sound.c (Fplay_sound):
026f408d 1648 * emacs.c (init_cmdargs):
c0ec53ad
SM
1649 * process.c (Fstart_process): Update calls to openp.
1650
1651 * callproc.c (Vexec_suffixes): New var.
1652 (Fcall_process): Update call to openp.
1653 (decode_suffixes): New function.
1654 (syms_of_callproc): Init exec-suffixes.
1655
1656 * lread.c (Vload_suffixes, default_suffixes): New vars.
1657 (openp): Take a lisp list of suffixes.
1658 Check for file-name-handlers even if the file was absolute already.
1659 (syms_of_lread): Declare load-suffixes.
1660 (Fload): Fix up call to openp.
1661 Don't bother checking for file-name-handler at the very beginning.
1662
f6333468
SM
1663 * keymap.h (Fcopy_keymap): Don't export.
1664
1665 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1666 (Vload_suffixes, Vexec_suffixes): Declare.
1667 (openp): Update prototype.
f6333468
SM
1668
1669 * emacs.c (empty_string): New var.
1670 (syms_of_emacs): Initialize it.
1671
1672 * search.c (wordify): Use it.
1673
1674 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1675 selected window if it's not displayed there. Handle the case
1676 when the window is dedicated.
1677 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1678
1679 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1680
2168e04d
SM
1681 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1682 Remove left_ok and right_ok.
1683 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1684 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1685 new meaning of b_property.
1686
1687 * syntax.c (update_syntax_table): Simplify.
1688 (Fforward_comment): Don't skip quoted chars when going backward.
1689
13d95cc0
GM
16902001-10-11 Gerd Moellmann <gerd@gnu.org>
1691
beb0990f
GM
1692 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1693 in case I is of some unsigned type, in which case
1694 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1695 comparison becomes bogus.
1696
cb938d46
GM
1697 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1698 (Fuser_full_name): Fix bug treating a float as a fixnum.
1699
1700 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1701
1702 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1703
13d95cc0
GM
1704 * lisp.h (circular_list_error): Add prototype.
1705
1706 * data.c (Qcircular_list): New variable.
1707 (circular_list_error): New function.
1708 (syms_of_data): Initialize it Qcircular_list.
1709
e35f6ff7
SM
17102001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1711
1712 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1713 casefiddle.c, buffer.c: Include keymap.h.
1714
619632ac
GM
17152001-10-10 Gerd Moellmann <gerd@gnu.org>
1716
1717 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1718 options. From Dave Love <d.love@dl.ac.uk>.
1719
5e5388f6
GM
17202001-10-09 Gerd Moellmann <gerd@gnu.org>
1721
1722 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1723 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1724
14a3dff7
GM
1725 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1726 unsigned char.
1727 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1728
76ba8daf
AI
17292001-10-08 Andrew Innes <andrewi@gnu.org>
1730
1731 * lisp.h [max]: Undef min and max before redefining them.
1732
1733 * w32gui.h: Do not undef min and max.
1734
1735 * w32heap.h: Do not undef min and max.
1736
1737 * s/ms-w32.h: Do not undef min and max.
1738
166253cb
SM
17392001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1740
1741 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1742
0c4d9527
SS
17432001-10-08 Sam Steingold <sds@gnu.org>
1744
1745 * keymap.c (current-active-maps): Quote newlines (compilation error).
1746
14bfa771
EZ
17472001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1748
1749 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1750 bindings.elc, since otherwise doc strings in bindings.el get wrong
1751 offsets in etc/DOC.
1752
bdb7aa47
SM
17532001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1754
9985827f
SM
1755 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1756
1757 * keyboard.h (map_prompt): Remove.
1758
1759 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1760 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1761
bdb7aa47
SM
1762 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1763
1764 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1765
1766 * keyboard.c (map_prompt): Remove.
1767 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1768 Use Fkeymap_prompt.
1769
1770 * keymap.h: New file. Extracted from lisp.h.
1771
9985827f
SM
1772 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1773 (accessible_keymaps_1): New function.
1774 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1775 (Fwhere_is_internal): Use Fcurrent_active_maps.
1776 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1777 Insert in current buffer rather than standard-output.
1778 Don't call `help-mode'. Export to elisp.
1779 (describe_buffer_bindings): New wrapper.
1780 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1781 and Sdescribe_buffer_bindings.
1782
402c9a51
GM
17832001-10-08 Gerd Moellmann <gerd@gnu.org>
1784
9985827f 1785 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1786 Remove code setting signal handler.
1787
9985827f 1788 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1789 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1790
3fe81fdf
PJ
17912001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1792
1793 * keyboard.c: Don't define min/max.
1794
55fa7820
GM
17952001-10-08 Gerd Moellmann <gerd@gnu.org>
1796
9985827f 1797 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1798 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1799 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1800 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1801 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1802 Don't define min/max.
1803
1804 * lisp.h (min, max): New macros.
1805
55fa7820
GM
1806 * puresize.h (BASE_PURESIZE): Increase to 725000.
1807
1aad31e4
PJ
18082001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1809
9180dc8c
PJ
1810 * xfaces.c (free_frame_menubar): Add prototype.
1811
01f67d2c
PJ
1812 * lisp.h (init_window): Add prototype.
1813
1814 * editfns.c: Include ctype.h.
1815
1816 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1817 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1818 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1819 variable `sb'.
1820
5f351ff1
PJ
1821 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1822 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1823 `popup_activated_flag' and `title'.
1824
479dfe87
PJ
1825 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1826
dff49fc8
PJ
1827 * emacs.c (main): Remove extra `;'.
1828
248ac615
PJ
1829 * atimer.h (struct atimer): Fix typos in a comment.
1830
1831 * atimer.c: Fix typo.
1832
af232c7d
PJ
1833 * Makefile.in: Fix typo.
1834
1835 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1836
d876f455
MB
18372001-10-07 Miles Bader <miles@gnu.org>
1838
1839 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1840
0037e2f2
KR
18412001-10-07 Ken Raeburn <raeburn@gnu.org>
1842
b056f36d
KR
1843 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1844 Lisp_Object.
1845
0037e2f2
KR
1846 * lisp.h (Ffield_end): Declare.
1847
1a4372ef
GM
18482001-10-07 Gerd Moellmann <gerd@gnu.org>
1849
a4a74e8c
GM
1850 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1851
1852 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1853
1854 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1855
1856 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1857
1a4372ef
GM
1858 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1859 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1860
1861 * alloc.c (inhibit_garbage_collection): Simplify.
1862 (Fmemory_use_counts): Ditto.
1863
9985827f 1864 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1865 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1866 most-negative-fixnum.
1867
9985827f 1868 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1869 (FIXNUM_OVERFLOW_P): New macros.
1870
4650e362
MB
18712001-10-06 Miles Bader <miles@gnu.org>
1872
1873 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1874 scroll_bar_bottom_shadow_pixel fields.
1875 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1876 for the shadows, and tell the toolkit about them if we succeed.
1877 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1878 Free scroll-bar shadow colors.
1879 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1880 Free scroll-bar shadow colors when the background color changes.
1881 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1882 Initialize scroll-bar shadow-color fields.
1883
ace64e0a
GM
18842001-10-05 Gerd Moellmann <gerd@gnu.org>
1885
1886 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1887
ec66bdc7
MB
18882001-10-05 Miles Bader <miles@gnu.org>
1889
9985827f
SM
1890 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1891 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1892 New functions (were in simple.el).
9985827f 1893 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1894 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1895 (syms_of_minibuf): Initialize them.
1896
a0fb4492
GM
18972001-10-05 Gerd Moellmann <gerd@gnu.org>
1898
1899 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1900 (tiff_load): Install them as error and warning handler.
1901
0bcf87c1
AI
19022001-10-04 Andrew Innes <andrewi@gnu.org>
1903
1904 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1905 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1906 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1907 (x_to_w32_charset): Handle private format for unknown charsets.
1908 Handle wildcards in charset spec, by ignoring them.
1909 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1910 "*-" prefix from charset.
1911 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1912 handle the truncated font spec form constructed by font_list_1, so
1913 that we correctly identify the charset fields. Don't remove "*-"
1914 prefix from charset.
1915 (w32_list_synthesized_fonts): Fix argument to alloca.
1916
c89e4bc5
GM
19172001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1918
1919 * window.h (MINI_WINDOW_P): Use NILP.
1920
1921 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1922
1923 * termhooks.h (struct input_event): Use proper type for `kind'.
1924
19252001-10-04 Gerd Moellmann <gerd@gnu.org>
1926
1927 This handles unknown keysyms better than before. For example,
1928 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1929 Emacs formerly completely ignored F5. With the change, it derives
1930 a key symbol from the name of the X keysym, `ccaron' in this case.
1931 Reported by Martin Buchholz.
1932
1933 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1934 unknown keysyms.
1935
1936 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1937 that EVENT->code isn't a function key, use the keysym's name.
1938
19392001-10-04 Gerd Moellmann <gerd@gnu.org>
1940
1941 FOREACH is a macro that should make it easier to loop over Lisp
1942 lists with checks for cycles and proper lists.
1943
1944 * lisp.h (LIST_END_P, FOREACH): New macros.
1945
19462001-10-04 Gerd Moellmann <gerd@gnu.org>
1947
1948 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1949 called for a lost connection. Prevent dumping core in this case.
1950 Instead print the X error, and exit. On user request.
1951
1952 * xterm.c (error_msg): New variable.
1953 (x_fatal_error_signal): New function.
1954 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1955 as fatal_error_signal_hook around the call to XtCloseDisplay.
1956
1957 * emacs.c (fatal_error_signal_hook): New variable.
1958 (fatal_error_signal): Call that function.
1959
19602001-10-04 Gerd Moellmann <gerd@gnu.org>
1961
1962 With this, Emacs prints how much pure storage it will
1963 approximately need in case pure storage overflows while dumping.
1964
1965 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1966 New variables.
1967 (init_alloc_once): Initialize new variables.
1968 (PURE_POINTER_P): Use new variables.
1969 (pure_alloc): If pure storage overflows, allocate from the heap.
1970 (check_pure_size): New function.
1971 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1972
1973 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1974 (check_pure_size): Add prototype.
1975
1976 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1977
19782001-10-04 Gerd Moellmann <gerd@gnu.org>
1979
1980 This adds a post-gc-hook that's run with GC inhibited.
1981 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1982
1983 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1984 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1985 (Fgarbage_collect): Run post-gc-hook.
1986
19872001-10-04 Gerd Moellmann <gerd@gnu.org>
1988
1989 This adds `defvaralias' and `indirect-variable'. Changes not
1990 directly related to this feature are there to gain the same
1991 performance again as before variable aliases.
1992
1993 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1994 code to get and set symbol values, to take defvaralias into account.
1995
1996 (Note: the new `constant' bit-flag in symbols would make it
1997 possible to define arbitrary read-only variables, e.g. with
1998 `defconst'.)
1999
2000 Documentation is in lispref/variables.texi. Added to NEWS.
2001
2002 * lisp.h (enum symbol_interned): New enumeration.
2003 (struct Lisp_Symbol): Remove member `obarray', add
2004 `indirect_variable', `constant', and `interned'.
2005 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2006 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2007 (indirect_variable): Add prototype.
2008
2009 * print.c (print_preprocess, print_object): Test internedness of
2010 symbols differently.
2011
2012 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2013 bit-fields.
2014 (init_obarray): Likewise for t and nil.
2015
2016 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2017 (Fdefvaralias): New function.
2018 (specbind): Simplify the test if symbol is a constant.
2019 (syms_of_eval): Defsubr Fdefvaralias.
2020
2021 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2022 (Qcyclic_variable_indirection): New variable.
2023 (Fkeywordp): Check for internedness differently.
2024 (Fmakunbound): Simplify the test if symbol is a constant.
2025 (indirect_variable, Findirect_variable): New functions.
2026 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2027 aliased symbol.
2028 (let_shadows_buffer_binding_p): Check for variable aliases.
2029 (set_internal): Simplify the test if SYMBOL is a constant.
2030 If SYMBOL has a buffer-local value and is an alias, use the aliased
2031 symbol instead.
2032 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2033 Sindirect_variable.
2034
2035 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2036 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2037 set directly.
2038
2039 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2040
2041 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2042 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2043 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2044
ab952a4f
GM
20452001-10-04 Gerd Moellmann <gerd@gnu.org>
2046
2047 * Branch for 21.1.
b56ba8de 2048
ba88ff28
MB
20492001-10-03 Miles Bader <miles@gnu.org>
2050
2051 * callproc.c (syms_of_callproc): Explicitly state in the
2052 documentation for `process-environment' that earlier entries take
2053 precedence over later ones.
2054
ae1a9581
MB
20552001-10-02 Miles Bader <miles@gnu.org>
2056
2057 * textprop.c (Fnext_char_property_change)
2058 (Fprevious_char_property_change): Remove reference to non-existant
2059 argument OBJECT from doc-string.
2060
257e3f57
GM
20612001-10-01 Gerd Moellmann <gerd@gnu.org>
2062
2063 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2064 (try_window_id): Skip back over lines ending in a newline from a
2065 string.
2066
2067 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2068 New bit flag
2069
c1f29759
RS
20702001-10-01 Richard M. Stallman <rms@gnu.org>
2071
2072 * search.c (Freplace_match): Doc fix.
2073
c30dce3d
AI
20742001-09-28 Andrew Innes <andrewi@gnu.org>
2075
2076 * w32menu.c (set_frame_menubar): Take into account that
2077 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2078 <raeburn@gnu.org>.
2079
03be5931
EZ
20802001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2081
2082 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2083
75bec752
PJ
20842001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2085
2086 * s/gnu-linux.h: Fix a typo in comment.
2087
83100e0a
AS
20882001-09-28 Andreas Schwab <schwab@suse.de>
2089
2090 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2091 nocombreloc, in case -z combreloc is the default.
2092
a74b48cf
GM
20932001-09-28 Gerd Moellmann <gerd@gnu.org>
2094
2095 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2096 really going on here.
2097
09c4719e
SM
20982001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2099
2100 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2101
f7d5d963
EZ
21022001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2103
2104 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2105 utf-8, menu-bar, and latin-N.
2106 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2107 unconditionally now.
2108 (lisp): Add latin-N, since they are preloaded.
2109
9240e746
GM
21102001-09-27 Gerd Moellmann <gerd@gnu.org>
2111
14531065
GM
2112 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2113 to the left. Some cleanup.
2114
9240e746
GM
2115 * xdisp.c (display_mode_element): One more case where a string's
2116 multibyteness should be used for display.
2117
edd1e654
GM
21182001-09-26 Gerd Moellmann <gerd@gnu.org>
2119
b02439c8
GM
2120 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2121 reading at EOF.
2122
032906b1 2123 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2124 of the only temporarily set echoing flag for deciding when
032906b1
GM
2125 the cancel echoing.
2126
2127 * keyboard.c (echo_kboard): Make externally visible.
2128
2129 * lisp.h (echo_kboard): Declare extern.
2130
cb617e7c 2131 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2132 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2133 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2134 this round of redisplay if make_cursor_line_fully_visible fails.
2135 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2136 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2137
2138 * dispextern.h (required_matrix_width, required_matrix_height):
2139 Add prototypes.
2140
09c4719e
SM
2141 * dispnew.c (required_matrix_width, required_matrix_height):
2142 New functions.
cb617e7c 2143 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2144 (allocate_matrices_for_frame_redisplay: Use them.
2145 Remove parameters CH_DIM.
cb617e7c 2146
edd1e654
GM
2147 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2148 and selected_window to the frame of the window whose mode-lines
2149 are displayed, and to the window itself.
2150 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2151 here.
edd1e654 2152
924b604c
GM
21532001-09-25 Gerd Moellmann <gerd@gnu.org>
2154
daba7643
GM
2155 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2156 the image cache under us.
2157
b7a22712 2158 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2159 with a string value, use that string's multibyteness for displaying.
b7a22712 2160
ad648212
GM
2161 * keyboard.c (read_char): Don't clear a message for a switch-frame
2162 event. From Stefan Monnier <monnier@cs.yale.edu>.
2163
9f8531e5
GM
2164 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2165 version for after 21.1.
2166
2167 * xdisp.c (row_containing_pos): Make externally visible.
2168
2169 * dispextern.h (row_containing_pos): Add prototype.
2170
924b604c
GM
2171 * process.c (send_process): Disable composition if from_byte < 0.
2172 From Kenichi Handa <handa@etl.go.jp>.
2173
6f3f0db4
GM
21742001-09-24 Gerd Moellmann <gerd@gnu.org>
2175
c69c0ebc
GM
2176 * xterm.c (refreshicon): Function removed.
2177
d1182bc4
GM
2178 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2179
2180 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2181
2182 * xterm.c (toplevel): Remove includes in #if 0.
2183
6f3f0db4
GM
2184 * process.c (sigchld_handler) [LINUX]: Don't return from
2185 the signal handler at the end of the loop.
2186
59957f85
GM
21872001-09-21 Gerd Moellmann <gerd@gnu.org>
2188
09c4719e
SM
2189 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2190 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2191
a0528984
EZ
21922001-09-21 Markus Rost <rost@math.ohio-state.edu>
2193
2194 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2195
db92b288
GM
21962001-09-20 Gerd Moellmann <gerd@gnu.org>
2197
3fed8ad5
GM
2198 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2199 since this function can be called during GC.
2200
db92b288
GM
2201 * callproc.c (Fcall_process): Handle errors from pipe(2).
2202 (child_setup): Delete code in #ifdef vipc.
2203
7121b85a
GM
22042001-09-19 Gerd Moellmann <gerd@gnu.org>
2205
72f62cb5
GM
2206 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2207 (display_mode_element): Display the string from decode_mode_spec
2208 depending on its multibyteness.
2209
a2697022
GM
2210 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2211
7121b85a
GM
2212 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2213
bfc97351
GM
22142001-09-18 Gerd Moellmann <gerd@gnu.org>
2215
c9063433
GM
2216 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2217 recursive_edit_unwind.
2218 (recursive_edit_unwind): Set kboard state according to
2219 SINGLE-KBOARD.
2220
3fbdba3e
GM
2221 * buffer.c (modify_overlay): Don't do nothing if START == END;
2222 This can still be a modification, for example when an overlay has
2223 a before-string or after-string.
2224 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2225 an overlay with before-string or after-string.
2226
1270031d
GM
2227 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2228 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2229
bfc97351
GM
2230 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2231 first_unchanged_at_end_row is in front of
2232 last_unchanged_at_beg_row. This code should be removed after the
2233 release of 21.1.
2234
d8a973aa
GM
22352001-09-17 Gerd Moellmann <gerd@gnu.org>
2236
e18c8b8d
GM
2237 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2238 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2239
d8a973aa
GM
2240 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2241 versions >= 2.95.
2242
ed7d6ba4
EZ
22432001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2244
2245 * dired.c (Ffile_attributes): Doc fix.
2246
551629f9
GM
22472001-09-14 Gerd Moellmann <gerd@gnu.org>
2248
2249 * fileio.c (Ffile_symlink_p): Fix last change.
2250
2251 * filelock.c (current_lock_owner): Fix last change.
2252
4c8c7926
GM
22532001-09-13 Gerd Moellmann <gerd@gnu.org>
2254
620c4704
GM
2255 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2256 take that to mean that the buffer is too small.
2257
81c3310d
GM
2258 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2259 that to mean that the buffer is too small.
2260
06fd3792
GM
2261 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2262 current buffer's multibyteness when discarding the iterator's
2263 stack.
2264
4c8c7926
GM
2265 * xfns.c (Fx_window_property): Handle case that property gets
2266 deleted between the two calls to XGetWindowProperty.
2267
9a72e4c1
GM
22682001-09-11 Gerd Moellmann <gerd@gnu.org>
2269
bd819d14 2270 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2271
a41edd99
GM
2272 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2273 in addition to read-only.
2274
2275 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2276 to t in addition to read-only.
2277
2278 * lisp.h (Qinhibit_modification_hooks): Declare.
2279
2280 * insdel.c (Qinhibit_modification_hooks): New variable.
2281 (syms_of_insdel): Initialize and staticpro it.
2282
d4881c6a
GM
2283 * textprop.c (verify_interval_modification): Don't run
2284 modification-hooks if inhibit_modification_hooks.
2285
2286 * dispnew.c (set_window_cursor_after_update): Fix code
2287 finding glyph row containing cursor when cursor_in_echo_area
2288 is >= 0.
2289
9a72e4c1
GM
2290 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2291 (add_to_log): Use bcopy instead of strcpy.
2292 (init_from_display_pos): Use an explicit loop over bytes in
2293 overlay strings instead of calling index.
2294
f4a374a1
GM
22952001-09-10 Gerd Moellmann <gerd@gnu.org>
2296
300e57bd
GM
2297 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2298
2299 * dispnew.c (direct_output_for_insert): Don't change IT's
2300 stop_charpos to something in front of its current position.
2301
f4a374a1
GM
2302 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2303 `format'.
2304
7e4cbc91
RS
23052001-09-10 Richard M. Stallman <rms@gnu.org>
2306
2307 * frame.c (Fmouse_position): Doc fix.
2308
6afad91e
GM
23092001-09-07 Gerd Moellmann <gerd@gnu.org>
2310
2311 * xdisp.c (init_from_display_pos): Don't compare the result
2312 of calling index with NULL.
2313
f76e0368
GM
23142001-09-06 Gerd Moellmann <gerd@gnu.org>
2315
2316 * xfns.c (x_set_background_color): Don't change the colors
2317 of the X window of scroll bar widgets.
2318
9ead1b60
AI
23192001-09-05 Andrew Innes <andrewi@gnu.org>
2320
2321 * w32fns.c (w32_createwindow): Undo last change.
2322
c3b497b3
GM
23232001-09-05 Gerd Moellmann <gerd@gnu.org>
2324
08e1d6df
GM
2325 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2326
c3b497b3
GM
2327 * xdisp.c (string_buffer_position): Use *single_char_property*
2328 functions instead of the *single_property* functions.
b56ba8de 2329
8f860180
AI
23302001-09-04 Andrew Innes <andrewi@gnu.org>
2331
9a72e4c1
GM
2332 * w32term.c (w32_read_socket): Add more information to debugging
2333 output.
8f860180
AI
2334
2335 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2336 from Emacs frames, so that calls to GetClipBox in w32term.c
2337 correctly report when part of a frame is visible (including
2338 scrollbars, etc). This prevents repeated redrawing of frames when
2339 only a scrollbar is visible.
2340 (w32_wnd_proc): Add more frame information to debugging output.
2341
2ee1aa00
SM
23422001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2343
2344 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2345
e3b22517
GM
23462001-09-03 Gerd Moellmann <gerd@gnu.org>
2347
7e376260
GM
2348 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2349 help-echo for a string which doesn't have help-echo itself, use
2350 get-char-property to obtain the help-echo from the string's buffer
2351 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2352 have mouse-face, look ``under'' the string for mouse-face from an
2353 overlay.
2354 (fast_find_position): Add parameter STOP. In the final row, stop
2355 before glyphs having STOP as object. Don't consider glyphs that
2356 are not from a buffer.
2357
e3b22517
GM
2358 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2359
9a249bba
EZ
23602001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2361
2362 * fns.c (Fmd5): Doc fix.
2363
c9979669
GM
23642001-08-31 Gerd Moellmann <gerd@gnu.org>
2365
2366 * composite.c (update_compositions): Do nothing if
2367 inhibit-modification-hooks is set.
2368
9584e63a
GM
23692001-08-30 Gerd Moellmann <gerd@gnu.org>
2370
986ec8f2 2371 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2372 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2373 glyph matrices etc. in a core dump.
2374
92a25631
GM
2375 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2376 (syms_of_xdisp): Initialize them.
2377 (handle_single_display_prop): Don't change point, bind `object',
2378 `position', and `buffer-position' instead to the object having the
2ee1aa00 2379 `display' property, position in the object and position in the buffer.
92a25631 2380
9584e63a
GM
2381 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2382 of the buffer if REPLACE is non-nil.
2383
d38633a3
GM
23842001-08-29 Gerd Moellmann <gerd@gnu.org>
2385
2386 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2387
f4fccc1e
EZ
23882001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2389
2390 * w32term.c (x_set_glyph_string_background_width)
2391 (show_mouse_face): Track the last changes in xterm.c.
2392
eaaa65b0
GM
23932001-08-28 Gerd Moellmann <gerd@gnu.org>
2394
7b0870b2
GM
2395 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2396 string's background width so that multi-line mouse-face is drawn
2397 to the right edge of the window.
2398 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2399 glyphs.
2400
6b6e2422 2401 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2402 before inserting/writing glyphs.
6b6e2422 2403
eaaa65b0
GM
2404 * xdisp.c (display_mode_element): Use string_byte_to_char to
2405 determine character positions in strings, use chars_in_text
2406 instead of strwidth.
2407 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2408 a matrix as parameter; this is easier to use from GDB.
2409
9ad62cf8
MB
24102001-08-28 Miles Bader <miles@gnu.org>
2411
2ee1aa00
SM
2412 * textprop.c (Fprevious_single_char_property_change)
2413 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2414
32171635
GM
24152001-08-27 Gerd Moellmann <gerd@gnu.org>
2416
47d57b22
GM
2417 * fileio.c (Finsert_file_contents): Allocate, restore, and
2418 free composition data in the case of REPLACE not being nil.
2419
2420 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2421 there exist overlay strings with newlines at POS.
2422 (text_outside_line_unchanged_p): Return 0 if changes start at
2423 START and overlays exist at START. Likewise for END.
2424 (try_window_id): Give up if init_to_row_end returns 0.
2425
32171635
GM
2426 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2427 unconditionally.
2428
e1249666
GM
24292001-08-24 Gerd Moellmann <gerd@gnu.org>
2430
33954c45
GM
2431 * keymap.c (access_keymap): Return the cdr of the binding of
2432 a generic character instead of its definition (KEY . BINDING).
2433
e1249666
GM
2434 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2435 to 0 also in the REPLACE case.
2436
fb4c6c96
AC
24372001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2438
2439 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2440 open to determine whether file is readable (as for DOS_NT).
2441
59ecf80b
GM
24422001-08-23 Gerd Moellmann <gerd@gnu.org>
2443
2444 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2445 coding.type is coding_type_no_conversion or coding_type_raw_text,
2446 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2447 non-nil instead of just setting enable_multibyte_characters in the
2448 buffer to nil.
2449
40e33037
GM
24502001-08-22 Gerd Moellmann <gerd@gnu.org>
2451
374388c3
GM
2452 * dispextern.h (struct face_cache): Add member
2453 menu_face_changed_p.
2454
2455 * xfaces.c (menu_face_changed_default): New variable.
2456 (menu_face_changed_count): Variable removed.
2457 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2458 the menu_face_changed_default flag, otherwise set the FRAME's
2459 menu_face_changed_p flag if the `menu' face has been changed.
2460 Prevent calling set_font_frame_param if FRAME is t.
2461 (make_face_cache): Initialize cache's menu_face_changed_p
2462 from menu_face_changed_default.
2463 (realize_basic_faces): Look into the frame's face cache to
2464 determine if the menu appearance needs updating.
2465
40e33037
GM
2466 * keymap.c (access_keymap): Fix last change to not consider
2467 IDX when it has modifiers.
2468
859ea4b8
GM
24692001-08-21 Gerd Moellmann <gerd@gnu.org>
2470
2471 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2472 . BINDING) exists, where GENERIC-CHAR is the generic character of
2473 the charset of IDX, return BINDING unless there exists a binding
2474 for IDX itself.
2475
e8660d73
GM
24762001-08-16 Gerd Moellmann <gerd@gnu.org>
2477
cca1b1d7
GM
2478 * xrdb.c (SYSV): Don't define on Solaris 2.
2479 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2480
e8660d73 2481 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2482 of the screen line, not text line, containing IT's current position.
e8660d73 2483
93aba6fc
GM
24842001-08-15 Gerd Moellmann <gerd@gnu.org>
2485
288d4e06
GM
2486 * window.c (window_scroll_pixel_based): Don't recenter if
2487 PT is partially visible in the window.
2488
3452efc2
SM
2489 * xterm.c (expose_window_tree, expose_window, expose_line):
2490 Return 1 when overwriting mouse-face.
82f053ab
GM
2491 (expose_frame): If mouse-face was overwritten, redo it.
2492
93aba6fc
GM
2493 * xfaces.c (x_update_menu_appearance): Don't call
2494 set_frame_menubar, let the next redisplay do it.
2495
858a55c1
AI
24962001-08-14 Andrew Innes <andrewi@gnu.org>
2497
2498 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2499 drawing glyph string.
2500
3a990b67
EZ
25012001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2502
2503 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2504 running HI-UX/MPP.
2505
04386463
GM
25062001-08-14 Gerd Moellmann <gerd@gnu.org>
2507
2508 * xfaces.c (x_update_menu_appearance): Save and restore value of
2509 interrupt_input_blocked.
2510
3e6385a4
GM
25112001-08-13 Gerd Moellmann <gerd@gnu.org>
2512
b0e619b4
GM
2513 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2514 a line start, move back to the line start.
3452efc2 2515
0de73d5a
GM
2516 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2517 exactly when a mini-buffer is active.
2518
3e6385a4
GM
2519 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2520 in units of 1/8 character on non window-system frames.
2521 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2522
d1b5f629
EZ
25232001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2524
2525 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2526 a doc string.
2527
eaa2319f
GM
25282001-08-09 Gerd Moellmann <gerd@gnu.org>
2529
8e3189f0
GM
2530 * keyboard.c (Vpre_help_message): New variable.
2531 (syms_of_keyboard): Initialize and staticpro it.
2532 (show_help_echo): Record current message before displaying a
2533 help-echo, and restore that message when clearing the help.
2534
eaa2319f
GM
2535 * xfns.c (x_create_im): Remove prototype.
2536
2537 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2538
2539 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2540
eaa2319f
GM
25412001-08-08 Gerd Moellmann <gerd@gnu.org>
2542
2543 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2544 windows whose height has changed, disable partially visible lines.
eaa2319f 2545
17fdcfc8
GM
25462001-08-07 Gerd Moellmann <gerd@gnu.org>
2547
22d01aed 2548 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2549 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2550
17fdcfc8
GM
2551 * xdisp.c (start_display): Don't try to determine the continuation
2552 lines width if lines are truncated. It's superfluous and leads to
2553 incorrect results if POS is not visible in the window after
2554 reseating the iterator at the previous line start.
2555
8e3fe78e
GM
25562001-08-06 Gerd Moellmann <gerd@gnu.org>
2557
2558 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2559
98a8938c
GM
25602001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2561
2562 * alloc.c (init_stack): Remove declaration.
2563
18f9986a
GM
25642001-08-03 Gerd Moellmann <gerd@gnu.org>
2565
5e1f85e0
GM
2566 * keyboard.c (read_key_sequence): Check that key is an integer
2567 before comparing it with quit_char.
2568 (add_command_key): Use larger_vector.
2569 (read_char_x_menu_prompt): Instead of converting symbol and
2570 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2571 which cannot be confused with valid events.
5e1f85e0
GM
2572 (read_char): When reading from Vunread_command_events, check for
2573 events of the form (EVENT . disabled) instead of
2574 (EVENT . nil).
2575
18f9986a
GM
2576 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2577 a float, determine the max height from the frame's height.
2578
fbc7f2a6
GM
25792001-08-02 Gerd Moellmann <gerd@gnu.org>
2580
2581 * xdisp.c (redisplay_internal): Take message_cleared_p into
2582 account only if minibuf_level == 0.
2583
81b1a79d
GM
25842001-08-01 Gerd Moellmann <gerd@gnu.org>
2585
e5c60873
GM
2586 * xdisp.c (redisplay_internal): Add a check for the last
2587 displayed message.
3452efc2 2588
6e019995
GM
2589 * xdisp.c (message_cleared_p): New variable.
2590 (clear_message): Set message_cleared_p when clearing the current
2591 message.
2592 (redisplay_internal): Look at message_cleared_p to capture
2593 the case that the echo area should be cleared.
2594
308a74d8
GM
2595 * keyboard.c (command_loop_1): Fix spelling of
2596 resize_echo_area_exactly.
2597
3452efc2 2598 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2599
2600 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2601
81b1a79d
GM
2602 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2603 current matrix when the window gets smaller.
2604
ada329e6
EZ
26052001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2606
2607 * print.c (strout): Cast the character passed to insert_char to
2608 unsigned char, to avoid sign extension when it is promoted to int.
2609
ed86208c
GM
26102001-07-31 Gerd Moellmann <gerd@gnu.org>
2611
2612 * fileio.c (Finsert_file_contents): Don't treat a return value
2613 of 0 from emacs_read as an IO error.
2614
6594ac22
GM
26152001-07-30 Gerd Moellmann <gerd@gnu.org>
2616
cef68af5
GM
2617 * keyboard.c (abs): New macro.
2618 (double_click_fuzz): New variable.
2619 (make_lispy_event): Use it to determine what makes a double-click.
2620 (syms_of_keyboard): DEFVAR_INT it.
2621
6594ac22
GM
2622 * xmenu.c (set_frame_menubar): Take into account that
2623 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2624 <raeburn@gnu.org>.
2625
75c5350a
GM
26262001-07-27 Gerd Moellmann <gerd@gnu.org>
2627
2628 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2629
2630 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2631 of row's visible height.
2632
2633 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2634 deal with the first overlay string having an image `display' property.
2635 (try_window_reusing_current_matrix, compute_line_metrics):
2636 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2637 row is invisible above and part of the row is at the same time
2638 invisible below the window.
2639
ac49effe
GM
26402001-07-26 Gerd Moellmann <gerd@gnu.org>
2641
2642 * xfns.c (x-show-tip): Doc fix.
3452efc2 2643
ac49effe
GM
2644 * xfns.c (Vx_max_tooltip_size): New variable.
2645 (syms_of_xfns): DEFVAR_LISP it.
2646 (Fx_show_tip): Set frame's window_width to the width of the
2647 window. Use a maximum tooltip size specified by
2648 Vx_max_tooltip_size, if that has valid contents.
2649 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2650
8c3b00cb
AI
26512001-07-26 Andrew Innes <andrewi@gnu.org>
2652
2653 * w32term.c (x_display_list): New variable.
2654 (w32_term_init): Set it.
2655
2656 * w32term.h (x_display_list): New extern.
2657
16098288
GM
26582001-07-26 Gerd Moellmann <gerd@gnu.org>
2659
2660 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2661 is non-nil, instead of when redisplaying_p is non-zero.
2662 See comment there.
16098288
GM
2663 (mark_window_display_accurate_1): Add an assertion.
2664
64c5be50
GM
26652001-07-25 Gerd Moellmann <gerd@gnu.org>
2666
e743f599
GM
2667 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2668
563b384d
GM
2669 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2670 events so that we get a chance of processing expose events.
2671
64c5be50
GM
2672 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2673
296808a5
GM
26742001-07-24 Gerd Moellmann <gerd@gnu.org>
2675
2676 * xfns.c (valid_image_p): Protect better against invalid image
2677 specifications. Previous code could signal an error.
2678
5247262a
GM
26792001-07-23 Gerd Moellmann <gerd@gnu.org>
2680
3452efc2 2681 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2682 presence of display table entries.
2683 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2684
dd42b31a
GM
2685 * dispnew.c (adjust_glyph_matrix): In the optimization for
2686 windows whose height has changed, use the new window height
2687 to compute which rows to invalidate.
2688
9e5a7f2a
GM
2689 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2690 (MAX_10_EXP): New macro.
2691 (Fformat): Use it.
2692
5247262a
GM
2693 * coding.c (code_convert_region): Handle the multibyte case if
2694 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2695
177ab8ce
GM
26962001-07-20 Gerd Moellmann <gerd@gnu.org>
2697
6e07c0a5
GM
2698 * dispextern.h (struct face): Change type of `stipple' to
2699 int; it's an ID.
2700
177ab8ce
GM
2701 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2702
b5b80599
GM
27032001-07-19 Gerd Moellmann <gerd@gnu.org>
2704
4e2a256b
GM
2705 * dispnew.c (update_window): Don't set the cursor at the end
2706 of the update if display update has been paused.
2707
3452efc2 2708 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2709
c1fd9232
KR
27102001-07-18 Ken Raeburn <raeburn@gnu.org>
2711
2712 * fns.c (Fset_char_table_default): Check that a charset is defined
2713 before checking its dimension.
2714
928a85c1
KR
27152001-07-17 Ken Raeburn <raeburn@gnu.org>
2716
2717 * coding.c (setup_coding_system): Don't do any designation based
2718 on reg_bits if charset is not yet defined.
2719
fb4c6c96 2720 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2721 pointer, using eassert.
2722
de11c1ea
GM
27232001-07-17 Gerd Moellmann <gerd@gnu.org>
2724
3452efc2
SM
2725 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2726 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2727
467f1209
GM
27282001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2729
2730 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2731
c3d6be34
GM
27322001-07-16 Gerd Moellmann <gerd@gnu.org>
2733
c1d61a7d
GM
2734 * fileio.c (unwind_read): Function removed.
2735 (read_non_regular, read_non_regular_quit): New functions.
2736 (Finsert_file_contents): When reading from non-regular files,
2737 arrange to catch a `quit' and terminate the loop. Rearrange
2738 code so that a `quit' when reading from a regular file doesn't
2739 insert text in the buffer.
2740
c3d6be34
GM
2741 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2742 Clear faces afterwards.
2743 (clear_font_table): Take a x_display_info parameter. Don't free
2744 fonts being the default font of any frame on the given display.
2745
e06aa1f9
GM
27462001-07-13 Gerd Moellmann <gerd@gnu.org>
2747
2748 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2749 instead of CHAR_STRING which can signal an error.
2750
2751 * charset.c (char_to_string_1): Extracted from char_to_string.
2752 Return -1 instead of signaling an error.
2753 (char_to_string): Use it.
2754
2755 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2756
176c92e6
SM
27572001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2758
2759 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2760 is t, don't try to append anything to it.
2761
1c56232f
EZ
27622001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2763
2764 * dired.c (file_name_completion): Pass dp->d_name to
2765 Fstring_match, not elt, which is always nil here.
2766
1d2b2268
GM
27672001-07-12 Gerd Moellmann <gerd@gnu.org>
2768
2769 * xselect.c (x_decline_selection_request): Handle errors
2770 caused by receivers that have vanished.
2771
2772 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2773 ignoring events on foreign windows in #if 0. Always dispatch
2774 the event after checking it with x_handle_property_notify.
2775
2776 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2777 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2778 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2779 (toplevel): Add prototypes for file-local functions.
2780 (x_atom_to_symbol): Remove DPYINFO parameter.
2781
fe5a0162
SM
27822001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2783
2784 * w32menu.c (menubar_selection_callback, w32_menu_show):
2785 Initialize `entry' to nil.
2786 (w32_dialog_show): Remove unused `save_wv' variable.
2787 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2788
a777242c
GM
27892001-07-11 Gerd Moellmann <gerd@gnu.org>
2790
8ee5b6a3
GM
2791 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2792
d0e2444e
GM
2793 * fileio.c (unwind_read): Print a message when discarding inserted
2794 text or switching the buffer to unibyte. Change parameter.
2795 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2796
a777242c
GM
2797 * fileio.c (unwind_read): New function.
2798 (Finsert_file_contents): Record it as unwind-function for
2799 the case that reading is interrupted by C-g.
2800
ae794295
GM
28012001-07-10 Gerd Moellmann <gerd@gnu.org>
2802
fe5a0162 2803 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2804 update when scrolling_window returns 0.
2805
6b05fae3
GM
2806 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2807
2808 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2809 for the case that x_decode_color signals an error.
6b05fae3 2810
ae794295
GM
2811 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2812
bb6e8cee
GM
28132001-07-09 Gerd Moellmann <gerd@gnu.org>
2814
2815 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2816 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2817 around ioctls.
2818
36b40a8a
EZ
28192001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2820
24b97d4b
EZ
2821 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2822 doc string line for dos-timezone-offset.
2823
36b40a8a
EZ
2824 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2825 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2826 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2827 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2828
2829 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2830
0967b4b0
GM
28312001-07-05 Gerd Moellmann <gerd@gnu.org>
2832
f25cfe53
GM
2833 * sound.c: Include Emacs' header files with #include "...".
2834
0967b4b0
GM
2835 * eval.c (specbind): Additionally record the buffer that was
2836 current when a buffer-local or frame-local variable was bound.
2837
c347a1c3
GM
28382001-07-04 Gerd Moellmann <gerd@gnu.org>
2839
2840 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2841 to unibyte characters in unibyte buffers.
2842
6332ca8a
GM
28432001-07-03 Gerd Moellmann <gerd@gnu.org>
2844
38472d44
GM
2845 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2846 the frame on the binding stack. Change format of entries for
2847 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2848 (unbind_to): Handle unbinding a frame-local variable.
2849
6332ca8a 2850 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2851 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2852 (dump_glyph_row): Print row's continuation_lines_width.
2853 (try_window_id): Take the shortcut if ZV is visible in the
2854 window, but there are actually no changes at ZV.
2855
63d1b174
GM
28562001-07-02 Gerd Moellmann <gerd@gnu.org>
2857
4c175203
GM
2858 * xterm.h (x_free_dpy_colors): Add prototype.
2859
2860 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2861 right number of arguments.
2862
0b54ce28
GM
2863 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2864 ($(lwlibdir)TAGS): New target.
4c175203 2865 (TAGS): Fix dependency list.
0b54ce28 2866
63d1b174
GM
2867 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2868 with input blocked.
2869
d827466c
GM
28702001-06-30 Gerd Moellmann <gerd@gnu.org>
2871
2872 * emacs.c (main): Remove extern declaration for sys_nerr, which
2873 isn't used and causes a compilation error with GCC 3.0 on
2874 FreeBSD 4.3.
2875
b5cb1ada
GM
28762001-06-27 Gerd Moellmann <gerd@gnu.org>
2877
a5d3ec3f 2878 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2879 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2880 (toplevel): Include <signal.h> and syssignal.h.
2881
b5cb1ada
GM
2882 * sound.c (vox_configure, vox_close): Turn off atimers
2883 around ioctls.
2884
d9bad487
GM
28852001-06-26 Gerd Moellmann <gerd@gnu.org>
2886
fdbb67fe
GM
2887 * keyboard.c (read_char) <non_reread>: Record the previous idle
2888 start time before calling timer_stop_idle.
2889 (read_char) <reread_first>: After processing a help-echo event,
2890 restore the previous idle start time.
2891
d9bad487
GM
2892 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2893 the start of invisible text.
2894 (setup_for_ellipsis): New function.
2895 (next_overlay_string): After all overlay strings have been
2896 processed, display an ellipsis if necessary.
2897 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2898 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2899
2900 * dispextern.h (struct iterator_stack_entry): Add member
2901 display_ellipsis_p.
2902
2b9c25e0
GM
29032001-06-25 Gerd Moellmann <gerd@gnu.org>
2904
80de57df
GM
2905 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2906 on the value of the wait-for-wm frame parameter.
2907
2908 * xterm.h (struct x_output): Add member wait_for_wm.
2909
2910 * xfns.c (Qwait_for_wm): New variable.
2911 (x_frame_parms): Add entry for `wait-for-wm".
2912 (x_set_wait_for_wm): New function.
2913 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2914 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2915
2b9c25e0
GM
2916 * xdisp.c (try_window_id) <all changes below window end>: Don't
2917 take this shortcut if ZV is visible in the window.
2918 (try_window_id): When checking for window start being in changed
2919 text, don't check that the buffer's size has changed.
2920
f772775c
RS
29212001-06-23 Richard M. Stallman <rms@gnu.org>
2922
2923 * minibuf.c (Fcompleting_read): Doc fix.
2924
fa9090b8
GM
29252001-06-19 Gerd Moellmann <gerd@gnu.org>
2926
2927 * composite.c (Ffind_composition_internal): Accept ZV
2928 and a string's end position as POS.
2929
f6f1beba
GM
29302001-06-18 Gerd Moellmann <gerd@gnu.org>
2931
2932 * composite.c (Ffind_composition_internal): Check POS
2933 for validity.
2934
0ae83348
EZ
29352001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2936
2937 * editfns.c (Fmessage_box): If the frame is not under a window
2938 system, output the message in the echo area.
2939
e4cdc335
RS
29402001-06-14 Richard M. Stallman <rms@gnu.org>
2941
2942 * xdisp.c (try_window_id): When EOB is visible, don't treat
2943 insertion at EOB as if it were "off the bottom of the screen."
2944
a55a5f3c
AI
29452001-06-11 Andrew Innes <andrewi@gnu.org>
2946
2947 * w32proc.c (create_child): Add new parameter is_gui_app.
2948 (w32_executable_type): Add new parameter is_gui_app.
2949 (sys_spawnve): Use it.
2950 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2951 SIGQUIT. This matches better how the signals are interpreted by
2952 MSVC compiled programs.
2953 (syms_of_ntproc): Update docstring.
2954
1b85dc1c
SM
29552001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2956
2957 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2958 well otherwise note_mouse_highlight might optimize away highlighting
2959 if we pass over that same overlay again.
2960
b75f8eab
EZ
29612001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2962
2963 * lread.c (Fload): Document that the argument is run via
2964 substitute-in-file-name.
2965
94843cc1
GM
29662001-05-31 Gerd Moellmann <gerd@gnu.org>
2967
b14659e6
GM
2968 * Makefile.in (bootstrap-doc): New target.
2969 (bootstrap-emacs): Depend on it.
2970
0894672f
GM
2971 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2972 auto-save-list-file-name when shutting down Emacs, because
2973 creating the directory might signal an error, and leaves
2974 Emacs in a strange state.
2975
94843cc1
GM
2976 * term.c: (tty_cursor_hidden): New variable.
2977 (update_begin): Don't call tty_hide_cursor. Clean up.
2978 (update_end, set_terminal_window, set_scroll_region): Clean up.
2979 (ring_bell, reset_terminal_modes): Clean up.
2980 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2981 on tty_cursor_hidden.
2982 (write_glyphs): Call tty_hide_cursor.
2983
db3a49a6
SM
29842001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2985
2986 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2987
8bd189fb
GM
29882001-05-30 Gerd Moellmann <gerd@gnu.org>
2989
6f1be3b9
GM
2990 * xfns.c (enum image_value_type): New enumerator
2991 IMAGE_STRING_OR_NIL_VALUE.
2992 (parse_image_spec): Handle it.
2993 (xbm_format, pbm_format): Use it for :foreground and :background.
2994 (xbm_load, pbm_load): Check for nil color names.
2995
8bd189fb
GM
2996 * xterm.c (note_mouse_highlight): If an overlapping overlay
2997 exists, but we find that we highlight the same overlay as before,
2998 don't do the highlighting again.
2999
7bdba03c
GM
30002001-05-29 Gerd Moellmann <gerd@gnu.org>
3001
4c329aa8
GM
3002 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3003 Protect unibyte strings created by replacing their multibyte
3004 equivalents in menu_items.
3005
e15e2828
GM
3006 * keymap.c (Fsingle_key_description): NUL-terminate the string
3007 buffer before calling build_string.
3008
7bdba03c
GM
3009 * callproc.c (Fcall_process): Deal with decode_coding returning
3010 CODING_FINISH_INCONSISTENT_EOL.
3011
89c8dc6c
GM
30122001-05-28 Gerd Moellmann <gerd@gnu.org>
3013
db3a49a6 3014 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3015 an item's name with its key description in case the description
3016 is a multibyte string.
3017
3018 * keymap.c (Fsingle_key_description): Create a multibyte string
3019 only if necessary.
3020
eb04d6cd
GM
3021 * macros.c (Fstart_kbd_macro): Doc fix.
3022
8bd6307f
GM
3023 * xterm.c (cursor_in_mouse_face_p): New function.
3024 (x_draw_stretch_glyph_string): Use it to choose a different GC
3025 when drawing a cursor within highlighted text.
3026
e26c4089
GM
3027 * editfns.c (char_property_eq): Put in #if 0.
3028
3029 * indent.c (string_display_width): Put in #if 0.
3030
3031 * lread.c (Fload): Remove unused label.
3032
89c8dc6c
GM
3033 * termcap.c (speeds): Put in #if 0.
3034
9a1211f2
GM
30352001-05-18 Gerd Moellmann <gerd@gnu.org>
3036
29148a3f
GM
3037 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3038
9a1211f2
GM
3039 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3040 transformation matrix by 10.
3041
09393d07
GM
30422001-05-16 Gerd Moellmann <gerd@gnu.org>
3043
3044 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3045 only if it's equal to the former foreground pixel color.
db3a49a6 3046 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3047 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3048
460e6bae
GM
30492001-05-16 Dave Love <fx@gnu.org>
3050
3051 * insdel.c (signal_before_change, signal_after_change): Consider a
3052 local change hook which changes the buffer.
99c78ce8
GM
3053
3054 * process.c (read_process_output): Don't call signal_after_change
3055 and update_compositions after insert_from_string_before_markers.
3056
dbcf3c03
GM
30572001-05-16 Gerd Moellmann <gerd@gnu.org>
3058
a90b3d3c
GM
3059 * xfaces.c (split_font_name): Use the right field when
3060 checking for `[...]' syntax.
3061
1b7818b4
GM
3062 * buffer.c (copy_overlays): New function.
3063 (clone_per_buffer_values): Use it.
3064
3065 * buffer.h (OVERLAY_PLIST): New macro.
3066
9bae8781
GM
3067 * keymap.c (Fsingle_key_description): Replace a build_string with
3068 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3069
dbcf3c03
GM
3070 * fontset.c (Ffontset_info): Check that face is non-null
3071 before accessing its fields.
3072
8a1ae4dd
GM
30732001-05-15 Gerd Moellmann <gerd@gnu.org>
3074
18a0a39e
GM
3075 * keyboard.c (read_key_sequence): Prevent generating a fake
3076 prefix key twice.
3077
e335b66a
GM
3078 * xfaces.c (split_font_name): Handle `[...]' for the right
3079 font name fields.
3080
8a1ae4dd
GM
3081 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3082 of CCL_STAT_INVALID_CMD.
3083
3cf80731
SM
30842001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3085
33568849
SM
3086 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3087 in <var> has no default value yet.
3088
3cf80731
SM
3089 * xfaces.c (try_alternative_families): First try the FAMILY.
3090 And if nothing is found in the end, try again with scalable fonts.
3091 (try_font_list): Let try_alternative_families do a bit more of
3092 the work. Only use FAMILY if it is not nil.
3093 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3094
933b0249
GM
30952001-05-14 Gerd Moellmann <gerd@gnu.org>
3096
58e5af83
GM
3097 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3098 pointer shape when show_mouse_face has already done it.
33568849 3099
58e5af83 3100 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3101 full-width rows.
3102
7b16a6bf
GM
3103 * xfaces.c (split_font_name): Make sure to leave the loop
3104 with the right value of `i'.
3cf80731 3105
933b0249
GM
3106 * xfaces.c (split_font_name): Handle matrix transformations
3107 in the pixel and point size fields of XLFD font names.
3108 (xlfd_point_size): Likewise.
3109
dddcbf00
EZ
31102001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3111
3cf80731 3112 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3113 (x_to_w32_font): Add prototype.
3114
7689ef0b
EZ
3115 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3116 redefining, to avoid compiler warnings.
3117
e7c15bba
EZ
3118 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3119
dddcbf00
EZ
3120 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3121 (w32_get_bdf_glyph): Cast between unsigned char and char when
3122 passing arguments to subroutines, to shut up compiler warnings.
3123 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3124 GET_HEX_VAL.
3125
3126 * xfaces.c: Include keyboard.h before frame.h, not after it.
3127
3128 * widget.c: Include keyboard.h before frame.h.
3129
3130 * w32term.h (struct image, struct face): Forward declaration, to
3131 avoid compiler warnings.
3132
7bd2d083
GM
31332001-05-11 Gerd Moellmann <gerd@gnu.org>
3134
47e72862
GM
3135 * keyboard.c (read_key_sequence): Don't modify events when
3136 generating fake prefix keys (mode-line, scroll-bar, ...) since
3137 this prevents proper processing of such events when pushed back
3138 into unread-command-events.
3139
dd5f324b
GM
3140 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3141 actually redrawn. Make the function static.
3142 (note_mouse_highlight): Fix a case where the mouse cursor
3143 was changed back to the text cursor.
3144
3145 * xterm.h (clear_mouse_face): Remove prototype.
3146
d88a79d4
GM
3147 * xdisp.c (try_window_id): Fix the fix and set the right
3148 window_end_vpos.
3149
3150 * xdisp.c (try_window_id): Fix computation of window end in the
3151 case that lines were deleted at the end of the window. Add some
3152 more debug_method_adds.
0416532f 3153
7bd2d083
GM
3154 * xfaces.c (try_alternative_families): New function.
3155 (try_font_list): Use it. If ATTRS specifies a family, check
3156 fonts from that family first.
3157 (choose_face_font): Remove code setting the family part of
3158 the pattern to nil.
3159
23fca891
GM
31602001-05-10 Gerd Moellmann <gerd@gnu.org>
3161
ff9aa2ca
GM
3162 * xdisp.c (try_window_id): Fix case of all changes before
3163 the window start.
7b2654b5 3164
23fca891
GM
3165 * xdisp.c (try_window_id): Add some xasserts.
3166
e9726794
GM
31672001-05-09 Gerd Moellmann <gerd@gnu.org>
3168
3169 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3170
9e53a675
GM
31712001-05-09 Dave Love <fx@gnu.org>
3172
3173 * xdisp.c (GIVE_UP): Fix for K&R C.
3174
0d487c52
GM
31752001-05-09 Gerd Moellmann <gerd@gnu.org>
3176
fe88d421
GM
3177 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3178
0d487c52
GM
3179 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3180 back to the text cursor shape without need.
3181
1e9fc92e
GM
31822001-05-07 Gerd Moellmann <gerd@gnu.org>
3183
a2a6232e
GM
3184 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3185
3186 * dispextern.h (inverse_video): Declare extern.
3187
1e9fc92e
GM
3188 * keyboard.c (delete_kboard): Handle the case that selected_frame
3189 has been deleted in the course of x_connection_closed.
3190
12949a7f
EZ
31912001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3192
7b2654b5
SM
3193 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3194 Fix the change from 2001-04-30.
12949a7f 3195
2fa2f461
GM
31962001-05-03 Gerd Moellmann <gerd@gnu.org>
3197
a779d213
GM
3198 * xfns.c (file_dialog_unmap_cb): New function.
3199 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3200 where a dialog is closed via the window manager.
3201
7b2654b5 3202 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3203 the window start or all below the window end mostly rewritten.
3204 (redisplay_window): Move the tests if try_window_id is
3205 applicable to try_window_id.
3206 (GIVE_UP): New macro.
3207
3356df63
GM
32082001-05-02 Gerd Moellmann <gerd@gnu.org>
3209
a39202f6 3210 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3211 currently being updated, mark the frame garbaged.
3212 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3213 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3214
3356df63
GM
3215 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3216 again if it has already been drawn.
3217
a9d2fd1d
SM
32182001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3219
3220 * syntax.c (update_syntax_table): Check that oldi has the same
3221 properties as old_prop before deciding not to invalidate.
3222
c95fc5f1
GM
32232001-04-30 Gerd Moellmann <gerd@gnu.org>
3224
a9793e45
GM
3225 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3226 read-only text that is so because of text properties.
3227
c95fc5f1 3228 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3229 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3230 windows that are components of a Lucid menu bar.
3231
5a5d9185
GM
32322001-04-27 Gerd Moellmann <gerd@gnu.org>
3233
3234 * term.c (turn_on_face): Fix reverse video handling on terminals
3235 that don't support colors.
3236
ba973f7a
GM
32372001-04-26 Gerd Moellmann <gerd@gnu.org>
3238
3239 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3240 a non-buffer.
3241
8c56a983
GM
32422001-04-25 Gerd Moellmann <gerd@gnu.org>
3243
a728644c
GM
3244 * term.c (toggle_highlight): New function.
3245 (turn_on_face): Change handling of reverse video.
3246
7b2654b5
SM
3247 * process.c (wait_reading_process_input):
3248 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3249
bfd8410f
GM
3250 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3251 of the number of overlays to check.
3252
be2488ca
GM
3253 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3254
8c56a983
GM
3255 * xdisp.c (try_window_id): Fix a case where window_end_pos
3256 and window_end_bytepos were not adjusted.
3257
522d42f7
GM
32582001-04-23 Gerd Moellmann <gerd@gnu.org>
3259
3260 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3261 zero instead of -1.
3262
78c1afb6
EZ
32632001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3264
a9d2fd1d
SM
3265 * process.c (wait_reading_process_input) [!subprocesses]:
3266 Don't reference waiting_for_user_input_p, it's not defined in the
3267 branch without async subprocesses support.
78c1afb6 3268
a2fab450
GM
32692001-04-19 Gerd Moellmann <gerd@gnu.org>
3270
a122a38e
GM
3271 * keyboard.c (delete_kboard): Prevent a dangling reference
3272 from current_kboard to KB, which is freed.
3273
a9d2fd1d
SM
3274 * process.c (wait_reading_process_input):
3275 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3276 read_key_sequence aware of buffer changes from under it.
3277
0f8d6dc7
GM
32782001-04-18 Gerd Moellmann <gerd@gnu.org>
3279
eeffb293
GM
3280 * xfaces.c (Qscalable_fonts_allowed): New variable.
3281 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3282 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3283 removed.
eeffb293 3284 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3285 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3286 for scalable-fonts-allowed to t.
eeffb293 3287
0f8d6dc7
GM
3288 * fileio.c (Finsert_file_contents): If the file size returned from
3289 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3290 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3291
eec2d1de
EZ
32922001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3293
3294 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3295 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3296 (__memalign_hook): Make the two prototypes consistent.
3297
f4f480bd
GM
32982001-04-17 Gerd Moellmann <gerd@gnu.org>
3299
3300 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3301 matrix of mini-windows.
3302
52283633
SM
33032001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3304
3305 * intervals.c (find_interval): Don't rebalance during signal handling.
3306
ec2423c9
GM
33072001-04-11 Gerd Moellmann <gerd@gnu.org>
3308
30cb0001 3309 * fns.c: Include blockinput.h.
52283633 3310
ec2423c9
GM
3311 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3312
719d83ad
GM
33132001-04-10 Gerd Moellmann <gerd@gnu.org>
3314
60f8d735
GM
3315 * fns.c (Fcompare_strings): Fix return values.
3316
afffeb57
GM
3317 * window.c (window_scroll): Change the meaning of N to mean
3318 N screen-fulls or N lines.
3319 (window_scroll_pixel_based, window_scroll_line_based)
3320 (scroll_command, Fscroll_other_window): Change accordingly.
3321
52283633
SM
3322 * window.c (window_scroll_pixel_based, Frecenter):
3323 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3324 height of the window.
3325
3326 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3327 instead of using it.last_visible_y for the height of the window.
52283633 3328
719d83ad 3329 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3330 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3331
3332 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3333 able to write to hidden and system files. From Dan Holmsand
3334 <dan@eyebee.com>.
719d83ad 3335
8ddf3ee1
GM
3336 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3337 Holmsand <dan@eyebee.com>.
719d83ad 3338
522ed7fb
GM
33392001-04-09 Gerd Moellmann <gerd@gnu.org>
3340
9170e5d4
GM
3341 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3342
522ed7fb
GM
3343 * window.c (window_internal_height): Return 1 less if the
3344 window has a header line.
3345
3346 * xdisp.c (try_window_id): When scrolling on a terminal, take
3347 the change of window_internal_height into account.
3348
ceeb3d7d
EZ
33492001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3350
3351 * gmalloc.c (align): If the argument SIZE would overflow
3352 __malloc_ptrdiff_t, fail right away.
3353
63685b9d
GM
33542001-04-06 Gerd Moellmann <gerd@gnu.org>
3355
3356 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3357 Make sure the tooltip is completely visible.
3358 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3359
3360 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3361
3362 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3363
3ffb33bb
DL
33642001-04-06 Dave Love <fx@gnu.org>
3365
52283633
SM
3366 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3367 Fix test of `from'.
3ffb33bb 3368
869fb12c
GM
33692001-04-06 Gerd Moellmann <gerd@gnu.org>
3370
52283633 3371 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3372
869fb12c
GM
3373 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3374
441bf856
GM
33752001-04-05 Gerd Moellmann <gerd@gnu.org>
3376
4d664b04
GM
3377 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3378
52283633 3379 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3380
30ca89f5
GM
3381 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3382 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3383
3384 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3385 shell widget's position only if it is non-null.
3386
52283633
SM
3387 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3388 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3389
81a81c0f
GM
3390 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3391 FILENAME to bring it in synch with the documentation.
3392
441bf856
GM
3393 * xfaces.c (realizing_basic_faces_p): Renamed from
3394 realize_default_face_p.
3395 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3396 (realize_default_face): Don't set the flag.
3397
702a1e8e
GM
33982001-04-04 Gerd Moellmann <gerd@gnu.org>
3399
1013f4e3
GM
3400 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3401
52283633
SM
3402 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3403
1013f4e3
GM
3404 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3405 the buffer that was used for echoing.
3406
702a1e8e
GM
3407 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3408 (first_font_matching): Removed unused function.
3409 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3410 (may_use_scalable_font_p): Remove parameter FONT; rename
3411 parameter NAME to FONT.
3412 (x_face_list_fonts): Fix missing bounds check.
3413 (realizing_default_face_p): New variable.
3414 (realize_default_face): Set and clear that flag.
3415 (x_face_list_fonts): When called during the realization of the
3416 default face, and no matching fonts are found when ignoring
3417 scalable fonts and fonts matching a regexp from
3418 face-ignored-fonts, try without ignoring fonts.
3419
f9dbcda4
GM
34202001-04-03 Gerd Moellmann <gerd@gnu.org>
3421
ad18ffb1
GM
3422 * xfns.c (postprocess_image): New function.
3423 (lookup_image): Call it for all image types except PostScript.
3424 (x_kill_gs_process): Call postprocess_image.
3425
f9dbcda4
GM
3426 * xterm.c (x_use_underline_position_properties): New variable.
3427 (x_draw_glyph_string): Use it.
3428 (syms_of_xterm): DEFVAR_BOOL it.
3429
651f03b6
GM
34302001-04-02 Gerd Moellmann <gerd@gnu.org>
3431
3432 * xterm.c (x_alloc_nearest_color_1): New function.
3433 (x_alloc_nearest_color): Use it.
3434 (x_color_cells): Take a Display as argument, instead of a frame.
3435 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3436 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3437 (x_initialize): Register cvt_string_to_pixel as resource converter
3438 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3439
73d75a62
GM
34402001-03-30 Gerd Moellmann <gerd@gnu.org>
3441
b2046df8
GM
3442 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3443 (set_iterator_to_next): If a string from a display property ends,
3444 consider the case that this might also be the end of an
3445 overlay string having the display property.
3446
52283633 3447 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3448
87d8eba4
GM
3449 * xdisp.c (reseat_to_string): Undo last change.
3450
73d75a62
GM
3451 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3452 matrix of a window when the header line changes, when
3453 new rows are allocated, or when the width changes.
3454
911a2406
EZ
34552001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3456
52283633 3457 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3458
aea51abe
EZ
34592001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3460
3461 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3462 deprecated.
3463
176bc847
GM
34642001-03-29 Gerd Moellmann <gerd@gnu.org>
3465
ed31fabf
GM
3466 * data.c (Fsubr_interactive_form): New function.
3467 (syms_of_data): Defsubr it.
3468
176bc847
GM
3469 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3470 (live_float_p, live_misc_p): Return 1 only if the offset of the
3471 pointer in its block is >= 0.
3472
e59d0e9d
GM
34732001-03-28 Paul Eggert <eggert@twinsun.com>
3474
3475 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3476 microseconds calcuation. Avoid double-rounding problem.
3477 In doc string, warn that the result is approximate.
3478
f827b862
GM
34792001-03-28 Gerd Moellmann <gerd@gnu.org>
3480
30a3f61c
GM
3481 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3482 bind `inhibit-eval-during-redisplay' to t.
3483
3484 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3485
3486 * xdisp.c (inhibit_eval_during_redisplay)
3487 (Qinhibit_eval_during_redisplay): New variables.
3488 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3489 don't eval, return nil instead.
3490 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3491 Initialize Qinhibit_eval_during_redisplay.
3492
e719f5ae
GM
3493 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3494 the iterator's multibyte_p flag.
3495
deb2613a
GM
3496 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3497 instead of setting it to zero; it's incremented for each frame
3498 where the menu face is changed.
3499
52283633
SM
3500 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3501 change bottom shadow accordingly.
3502
3503 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3504 intersections here.
3505 (expose_window): Do it here instead.
52283633 3506 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3507
f827b862
GM
3508 * bytecode.c (BYTE_CODE_QUIT): New macro.
3509 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3510
4bde0ebb
GM
35112001-03-27 Gerd Moellmann <gerd@gnu.org>
3512
607ec83c
GM
3513 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3514 Give up if matrix starts in an ellipsis.
3515 (init_from_display_pos): Do nothing if POS doesn't specify
3516 a dpvec_index but the iterator has such a position.
3517
0245398f
GM
3518 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3519
aba25348
GM
3520 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3521 x/y position is (0, 0) after destroying the menu bar, restore
3522 its original position.
3523
4bde0ebb
GM
3524 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3525 (init_from_display_pos): Use it.
3526 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3527
8cdb267e
GM
35282001-03-26 Gerd Moellmann <gerd@gnu.org>
3529
3530 * xdisp.c (try_window_id): Undo last change.
3531
9948db79
EZ
35322001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3533
3534 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3535
3536 * buffer.c (syms_of_buffer): Doc fix.
3537
2eddf899
GM
35382001-03-26 Gerd Moellmann <gerd@gnu.org>
3539
3540 * xfaces.c (x_update_menu_appearance): Use local variable
3541 popup_path for setting font resources.
3542
6c145d35
EZ
35432001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3544
6a65b1b5
EZ
3545 * frame.c (Fframe_list): Don't reference tip_frame if
3546 HAVE_WINDOW_SYSTEM is not defined.
3547
6c145d35
EZ
3548 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3549 <wl@gnu.org>.
3550
d74c1900
GM
35512001-03-25 Gerd Moellmann <gerd@gnu.org>
3552
20fbd925
GM
3553 * xdisp.c (init_from_display_pos): Test invisible property
3554 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3555
927c5b3b
GM
3556 * xdisp.c (redisplay_internal) <update one window>: Make sure
3557 last_arrow_position and last_arrow_string are set.
3558
d74c1900
GM
3559 * frame.c (Fframe_list): Don't return a tooltip frame.
3560
091f8878
GM
35612001-03-23 Gerd Moellmann <gerd@gnu.org>
3562
52283633
SM
3563 * xdisp.c (mark_window_display_accurate_1): New function,
3564 extracted from mark_window_display_accurate.
3565 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3566 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3567 (mark_window_display_accurate): Use it.
3568 (redisplay_internal): Use it for the selected window.
3569 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3570 for the selected frame.
3571
ac90c44f
GM
3572 * xdisp.c Use make_number, for readability.
3573 (try_window_id): Disable rows below the window end.
3574 (try_window_reusing_current_matrix): Use cursor_row_p.
3575 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3576 of rows.
3577 (init_from_display_pos): If POS specifies a position in a display
3578 vector, maybe get the iterator set up for that ellipsis.
43c09969 3579
091f8878
GM
3580 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3581
991786dd
EZ
35822001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3583
3584 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3585
6c29b43c
GM
35862001-03-23 Gerd Moellmann <gerd@gnu.org>
3587
3588 * xfaces.c (x_update_menu_appearance): Use a different path
3589 for Lucid popup menus.
3590
d8731202
SM
35912001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3592
3593 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3594
3595 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3596 (string_buffer_position): Use `make_number'.
3597
f61a541b
GM
35982001-03-22 Gerd Moellmann <gerd@gnu.org>
3599
3c9e997b
GM
3600 * xfaces.c (x_update_menu_appearance): Renamed from
3601 x_set_menu_face_resources. Use different resources for popups.
3602
3603 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3604 (GC_CHECK_STRING_BYTES): Don't define.
3605
364cd450
GM
3606 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3607 Removed, together with subroutines.
3608 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3609 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3610
d8731202
SM
3611 * dispextern.h (x_set_menu_resources_from_menu_face):
3612 Remove prototype.
364cd450 3613
d8731202 3614 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3615 Remove calls to x_set_menu_resources_from_menu_face.
3616
d8731202
SM
3617 * xfaces.c (xm_set_menu_resources_from_menu_face):
3618 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3619
3620 * xmenu.c: Include widget.h.
3621 (single_submenu): Return int. Some cleanup.
3622 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3623
140330de
GM
36242001-03-21 Gerd Moellmann <gerd@gnu.org>
3625
3626 * xterm.c (x_update_window_end): Handle overwritten mouse face
3627 also for tool bar windows.
3628 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3629 DRAW is DRAW_IMAGE_RAISED.
3630
1741905c
GM
36312001-03-20 Gerd Moellmann <gerd@gnu.org>
3632
fa88947e
GM
3633 * print.c (syms_of_print): Doc fixes.
3634
1741905c
GM
3635 * fns.c (Fmd5): Doc fix.
3636
ade0bee1
GM
36372001-03-19 Gerd Moellmann <gerd@gnu.org>
3638
357e7376
GM
3639 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3640 Clear area of the frame not occupied by the scroll bar.
3641
c2c097cc
GM
3642 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3643 tip frame's root window buffer to *tip* right after creating
3644 the frame.
3645
ade0bee1
GM
3646 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3647 is an integer don't have to be for space characters.
3648
88c6e37e
GM
36492001-03-16 Gerd Moellmann <gerd@gnu.org>
3650
52283633
SM
3651 * indent.c (current_column, current_column_1, Fmove_to_column)
3652 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3653
c62eed76
KH
36542001-03-15 Kenichi Handa <handa@etl.go.jp>
3655
3656 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3657 drawing glyph string.
3658
c899e7e6
GM
36592001-03-15 Gerd Moellmann <gerd@gnu.org>
3660
d0bbfc99
GM
3661 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3662 (command_loop_1): Undo last change.
3663
03d1a189
GM
3664 * xterm.c (fast_find_position): Return the correct vpos.
3665
c899e7e6 3666 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3667 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3668 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3669 Call store_symval_forwarding with BUF null.
3670 (set_internal): Call store_symval_forwarding with the BUF
3671 parameter passed to set_internal. Formerly, the value was always
3672 set in the current buffer; the buffer recorded in specbind for
3673 this case wasn't used.
3674 (arith_driver): Reindent.
3675
52283633
SM
3676 * buffer.c (swap_out_buffer_local_variables):
3677 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3678
3679 * lisp.h (store_symval_forwarding): Change prototype.
3680
3681 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3682
57ac7c81
GM
36832001-03-14 Gerd Moellmann <gerd@gnu.org>
3684
697617d9
GM
3685 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3686 FOR_DELETION. Avoid resizing the mini-window of the selected
3687 frame if FOR_DELETION is set.
3688 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3689 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3690 signature.
3691
3692 * window.c (Fset_window_configuration): Change call to
3693 do_switch_frame to new format.
3694
3695 * keyboard.c (quit_throw_to_read_char): Change call to
3696 do_switch_frame to new format.
3697
3698 * lisp.h (do_switch_frame): Change prototype.
3699
819dce0f
GM
3700 * frame.c (Fframe_parameters): In the `buffer-list' frame
3701 parameter, store the buffer list of FRAME, not the list of the
3702 selected frame.
3703
57ac7c81
GM
3704 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3705 box just because the glyph row's full_width_p flag is set.
3706
65008712
GM
37072001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3708
3709 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3710 skip the padding blanks inserted in extend_face_to_end_of_line,
3711 before checking for trailing whitespace.
3712
159cf431
GM
37132001-03-13 Gerd Moellmann <gerd@gnu.org>
3714
52283633 3715 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3716 Remove special handling for LessTif/Motif.
3717 (toplevel): Don't include Xm/Xm.h.
3718
52283633
SM
3719 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3720 Remove workaround code for LessTif; it doesn't work anymore.
3721
2564ea1b 3722 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3723 Xm/ScrollBarP.h.
afcdc0a1 3724
52283633
SM
3725 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3726 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3727 contemporary LessTif.
3728
52283633
SM
3729 * xfaces.c (xm_set_menu_resources_from_menu_face):
3730 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3731
159cf431
GM
3732 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3733 removing button grabs.
3734
c6f7429a
KH
37352001-03-13 Kenichi Handa <handa@etl.go.jp>
3736
cb82d767
KH
3737 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3738 and clip-large-size-font as obsolete.
3739
c6f7429a
KH
3740 * lread.c (read_multibyte): Check the validity of multibyte
3741 sequence. If invalid, return the first byte.
3742
760cefb5
GM
37432001-03-12 Gerd Moellmann <gerd@gnu.org>
3744
3745 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3746 before running the command; timer functions or process
3747 filters may have set it.
3748
5141f9d0
EZ
37492001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3750
3751 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3752 Doc fix.
3753
b6a15240
GM
37542001-03-12 Gerd Moellmann <gerd@gnu.org>
3755
3756 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3757 to sprintf.
3758
95522746
GM
37592001-03-09 Gerd Moellmann <gerd@gnu.org>
3760
db14cfc5
GM
3761 * dispextern.h (string_buffer_position): Add prototype.
3762
52283633 3763 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3764 (single_display_prop_string_p): New functions.
3765
3766 * xterm.c (note_mouse_highlight): If there's no help-echo on
3767 a string, look at the buffer text ``under'' it.
3768
3769 * keyboard.c (make_lispy_event): Add string info to the event,
3770 analogous to what's done on mode lines.
3771 (read_key_sequence): For a click on a string, consider `local-map'
3772 and `keymap' of that string.
3773
52283633
SM
3774 * keyboard.c (make_lispy_event, make_lispy_movement):
3775 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3776
3777 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3778
3779 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3780 POS; return void.
3781
95522746
GM
3782 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3783 flags argument to emacs_open; it seems to conflict with O_EXCL.
3784
898a399d
KH
37852001-03-09 Kenichi Handa <handa@etl.go.jp>
3786
28cd4910
KH
3787 * composite.h (struct composition): Change types of members;
3788 glyph_len to unsigned, width to unsigned short.
898a399d 3789
4cdf6a6c
AI
37902001-03-08 Andrew Innes <andrewi@gnu.org>
3791
3792 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3793 menu titles.
3794
129004d3
GM
37952001-03-08 Gerd Moellmann <gerd@gnu.org>
3796
221dd3e7
GM
3797 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3798 instead of nil.
3799
52283633 3800 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3801 help-echo in strings.
3802 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3803 (fast_find_string_pos): New function.
3804
52283633
SM
3805 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3806 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3807
3808 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3809 Handle `mouse-face'.
3810
3811 * dispextern.h (face_at_string_position): Change prototype.
3812
52283633 3813 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3814
129004d3
GM
3815 * keyboard.c (make_lispy_event): Avoid generating drag events
3816 if the mouse hasn't actually moved to another buffer position.
52283633 3817
80c8ab8c
DL
38182001-03-08 Dave Love <fx@gnu.org>
3819
129004d3 3820 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3821
989521fd
GM
38222001-03-08 Gerd Moellmann <gerd@gnu.org>
3823
3824 * process.c (Fset_process_window_size): Fix a typo.
3825
bb5c338d
KH
38262001-03-08 Kenichi Handa <handa@etl.go.jp>
3827
3828 * coding.c (detect_coding_sjis): Do more rigid check.
3829 (detect_coding_big5): Likewise.
3830 (decode_coding_sjis_big5): Likewise.
3831 (Fdetect_coding_region): Call detect_coding_system with tailing
3832 anchor byte `\0' for more rigid detection.
52283633 3833 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3834 (Fdetect_coding_string): Likewise.
3835
8b8f9197
SM
38362001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3837
3838 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3839 a string before extracting its data.
3840
3bdf2660
GM
38412001-03-07 Gerd Moellmann <gerd@gnu.org>
3842
3843 * window.c (Frecenter): Rewrite code handling negative values
3844 of ARG on graphical frames.
3845
38462001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3847
3848 * window.c (displayed_window_lines): If W->start is outside the
3849 accessible portion of the buffer, call start_display with BEGV or
3850 ZV instead of W->start.
3851
471f86b9
GM
38522001-03-07 Gerd Moellmann <gerd@gnu.org>
3853
2ab62c6c
GM
3854 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3855
471f86b9
GM
3856 * process.c (Fset_process_filter): Don't crash if the input
3857 file descriptor of PROCESS is closed.
3858 (Fset_process_window_size): Likewise.
3859
101922c3
GM
38602001-03-06 Kenichi Handa <handa@etl.go.jp>
3861
3862 * xterm.c (XTflash): Make the timeout of select shorter, and call
3863 select repeatedly until the desired time expires.
3864
45d051a7
GM
38652001-03-06 Gerd Moellmann <gerd@gnu.org>
3866
3867 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3868
3869 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3870
3871 * lisp.h (Vwindow_list): Declare extern.
3872
8f372c46
EZ
38732001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3874
3875 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3876
f16a7aa5
GM
38772001-03-06 Gerd Moellmann <gerd@gnu.org>
3878
157ae273
GM
3879 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3880 to detect a case where we have to highlight a different region
3881 despite not having left the currently highlighted region.
3882 Set mouse_face_overlay in the x_display_info.
45d051a7 3883 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3884
3885 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3886
3887 * buffer.c (mouse_face_overlay_overlaps): New function.
3888
3889 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3890 (Qmouse_face): Declare extern.
3891
f16a7aa5
GM
3892 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3893 if face_change_count is non-zero.
3894
827afcac
KH
38952001-03-06 Kenichi Handa <handa@etl.go.jp>
3896
3897 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3898 that the source is unibyte.
3899
14c7242e
DL
39002001-03-05 Dave Love <fx@gnu.org>
3901
827afcac 3902 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3903
c28b847b
GM
39042001-03-05 Gerd Moellmann <gerd@gnu.org>
3905
3906 * minibuf.c (read_minibuf): Clean up the binding stack if
3907 called noninteractively.
3908
b86644f2
KH
39092001-03-05 Kenichi Handa <handa@etl.go.jp>
3910
3911 * coding.c (syms_of_coding): Docstring modified.
3912
203682cc 39132001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3914
3915 * charset.c (char_to_string): If a single byte char has modifier
3916 bits that can't be reflected to the character code, ignore them
45d051a7 3917 instead of signaling an error.
b86644f2 3918
e30bd7b7
EZ
39192001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3920
3921 * s/msdos.h: Update copyright notice.
3922
3923 * dosfns.h: Update copyright notice.
3924
3925 * dosfns.c: Update copyright notice.
3926
3927 * msdos.c: Update copyright notice.
3928
b52b65bd
GM
39292001-03-02 Gerd Moellmann <gerd@gnu.org>
3930
3931 * xterm.c (glyph_rect): New function.
3932 (XTmouse_position): Use it to raise the threshold for mouse
3933 movement event generation.
3934
53c4b1e6
EZ
39352001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3936
3937 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3938 specifies (reverse . t), reverse the initial screen colors.
3939 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3940 but we are reversing the colors, set bg_set, not fg_set.
3941 Likewise for setting background-color and reversing: set fg_set.
3942 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3943 in effect.
3944
3945 * xfaces.c (Finternal_set_lisp_face_attribute)
3946 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3947 parameters alist.
3948
f964b4d7
GM
39492001-03-02 Gerd Moellmann <gerd@gnu.org>
3950
ef53d75e
GM
3951 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3952 to a single slash in the middle of file names.
3953
52283633 3954 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3955 Accept only alphanumeric time zone names.
3956
f964b4d7
GM
3957 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3958 or width area.
3959 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3960 a widget to zero height.
52283633 3961
c3c45f65
GM
39622001-03-01 Gerd Moellmann <gerd@gnu.org>
3963
3964 * window.c (Fwindow_end): Call move_it_past_eol only if
3965 ending up on a partially visible line.
3966
028d739a
DL
39672001-03-01 Dave Love <fx@gnu.org>
3968
3969 * ccl.c (Fccl_execute): Doc fix.
3970
57c5889c
GM
39712001-03-01 Gerd Moellmann <gerd@gnu.org>
3972
35f59f6b
GM
3973 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3974 of the tool bar before calling x_figure_window_size.
3975
f84ff02c
GM
3976 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3977 NULL after destroying it, otherwise XTread_socket can access a
3978 destroyed widget when input is unblocked.
3979
8b8f9197 3980 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3981
57c5889c
GM
3982 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3983 same name as before, although there was a change in fontsets.
3984
224227d1
KR
39852001-02-28 Ken Raeburn <raeburn@gnu.org>
3986
4560730a
KR
3987 * lisp.h (Fframe_parameter): Declare.
3988
224227d1 3989 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3990 Lisp_Object.
224227d1 3991
ece93c02
GM
39922001-02-28 Gerd Moellmann <gerd@gnu.org>
3993
11ef99b9
GM
3994 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3995 NULL instead.
3996
3997 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3998 NULL instead.
3999
ece93c02
GM
4000 * alloc.c (toplevel): Include process.h.
4001 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4002 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4003 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4004 (allocate_vector, allocate_hash_table, allocate_window)
4005 (allocate_frame, allocate_process, allocate_other_vector):
4006 New functions.
ece93c02
GM
4007 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4008 (mark_maybe_pointer): New function.
52283633 4009 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4010 remain and not Lisp_Objects.
4011 (min_heap_address, max_heap_address): New variables.
4012 (mem_find): Return MEM_NIL if START is below min_heap_address or
4013 above max_heap_address.
4014 (mem_insert): Compute min_heap_address and max_heap_address.
4015
4016 * process.c (make_process): Use allocate_process.
4017
4018 * frame.c (make_frame): Use allocate_frame.
4019
4020 * window.c (make_window, make_dummy_parent): Use allocate_window.
4021 (Fcurrent_window_configuration): Use allocate_other_vector.
4022
4023 * lisp.h (allocate_vectorlike): Remove prototype.
4024 (allocate_vector, allocate_other_vector, allocate_frame)
4025 (allocate_window, allocate_process, allocate_hash_table):
4026 Add prototypes.
4027
4028 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4029 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4030
063af457
KH
40312001-02-27 Kenichi Handa <handa@etl.go.jp>
4032
4033 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4034 treat the produced bytes as a valid multibyte sequence.
4035
4036 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4037 (ccl_driver) <CCL_WriteMultibyteChar2>:
4038 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4039 <ccl_finish>: Set ccl->eight_bit_control properly.
4040
4041 * ccl.h (struct ccl_program): New member eight_bit_control.
4042
f58c6494
SM
40432001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4044
4045 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4046 accessible_keymaps_char_table.
4047 (accessible_keymaps_char_table): Obey `is_metized'.
4048 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4049 Lisp_Object.
4050
c596c392
GM
40512001-02-26 Gerd Moellmann <gerd@gnu.org>
4052
4053 * dispnew.c: Check HAVE_TERM_H before including term.h.
4054
425de386
AI
40552001-02-24 Andrew Innes <andrewi@gnu.org>
4056
4057 * makefile.w32-in: Update copyright notice.
4058
2ba11bbd
SM
40592001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4060
4061 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4062
66c56ed1
KH
40632001-02-24 Kenichi Handa <handa@etl.go.jp>
4064
4c1593ce
KH
4065 * Makefile.in (lisp): Add international/utf-8.elc.
4066
66c56ed1
KH
4067 * fontset.c (Fnew_fontset): Fix handling of the case that an
4068 element of FONTLIST is a cons of family and registry.
4069
796ead7e
JR
40702001-02-23 Jason Rumney <jasonr@gnu.org>
4071
4072 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4073 to height unconditionally.
4074
4075 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4076 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4077 (x_insert_glyphs): Call window_box_left to obtain the left
4078 x-coordinate of the area to shift.
4079
4080 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4081 safe_run_hooks.
4082
f6839838
AI
40832001-02-22 Andrew Innes <andrewi@gnu.org>
4084
52283633 4085 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4086 ($(BLD)\dispnew.obj):
4087 ($(BLD)\editfns.obj):
4088 ($(BLD)\fileio.obj):
4089 ($(BLD)\filelock.obj):
4090 ($(BLD)\keyboard.obj):
4091 ($(BLD)\w32proc.obj):
4092 ($(BLD)\process.obj):
4093 ($(BLD)\sysdep.obj): Ditto.
4094
4095 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4096 header files.
52283633
SM
4097 ($(BLD)/dispnew.$(O)):
4098 ($(BLD)/editfns.$(O)):
4099 ($(BLD)/fileio.$(O)):
4100 ($(BLD)/filelock.$(O)):
4101 ($(BLD)/keyboard.$(O)):
4102 ($(BLD)/w32proc.$(O)):
4103 ($(BLD)/process.$(O)):
f6839838
AI
4104 ($(BLD)/sysdep.$(O)): Ditto.
4105
c224f70b
GM
41062001-02-22 Gerd Moellmann <gerd@gnu.org>
4107
51695746
GM
4108 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4109 at the start of the function, check that the \n in it->c is
4110 from the iterator's current position.
52283633 4111
a61b7058
GM
4112 * xdisp.c (handle_single_display_prop): Add parameter
4113 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4114 properties which replace the display of text with something else.
4115 (handle_display_prop): Call handle_single_display_prop with
4116 additional argument saying if we already replaced text display
4117 with something else. Use AREF.
52283633 4118 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4119 (decode_mode_spec_coding): Use AREF and ASIZE.
4120
3473f362
GM
4121 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4122 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4123 * vmstime.h: Files removed.
52283633 4124
2bb58df3
GM
4125 * unexencap.c, unexfx2800.c: Files removed.
4126
c224f70b
GM
4127 * dispnew.c (direct_output_for_insert): Give up if we are showing
4128 a message or just cleared the message because we might need to
4129 resize the echo area window or display an empty echo area.
4130
ffc9ff0c
GM
41312001-02-21 Gerd Moellmann <gerd@gnu.org>
4132
0528abe1
GM
4133 * xdisp.c (redisplay_internal): Do the
4134 mark_window_display_accurate after all windows have been
4135 redisplayed because this call resets flags in buffers which are
4136 needed for proper redisplay.
4137
52283633
SM
4138 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4139 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4140 the old names.
4141
52283633
SM
4142 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4143 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4144
4145 * msdos.h (struct x_output): Rename busy_window to
4146 hourglass_window, busy_p to hourglass_p.
4147
52283633
SM
4148 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4149 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4150
4151 * xfns.c: Rename everything containing *busy_cursor* and similar
4152 to *hourglass*.
4153 (syms_of_w32fns): Rename x-busy-pointer-shape to
4154 x-hourglass-pointer-shape, display-busy-cursor to
4155 display-hourglass, busy-cursor-delay to hourglass-delay.
4156
4157 * w32fns.c: Rename everything containing *busy_cursor* and similar
4158 to *hourglass*.
4159 (syms_of_w32fns): Rename x-busy-pointer-shape to
4160 x-hourglass-pointer-shape, display-busy-cursor to
4161 display-hourglass, busy-cursor-delay to hourglass-delay.
4162
4163 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4164 of its busy_p flag.
4165
4166 * dispextern.h (start_hourglass, cancel_hourglass)
4167 (display_hourglass_p): Renamed from *busy_cursor*.
4168
ab2c5f0a
GM
41692001-02-20 Gerd Moellmann <gerd@gnu.org>
4170
d17e49a8
GM
4171 * keyboard.c (read_char): When an event from unread-command-events
4172 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4173
fa97adf6
GM
4174 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4175 equal to the current buffer.
4176
ab2c5f0a
GM
4177 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4178 nil, otherwise we're left with truncate_lines t when a message
4179 is printed with message-truncate-lines bound to t.
4180
aeac019e
GM
41812001-02-19 Gerd Moellmann <gerd@gnu.org>
4182
c8bc6f65
GM
4183 * window.c (Fmove_to_window_line): Undo last change.
4184 (displayed_window_lines): Call line_bottom_y to determine
4185 the line's bottom position.
4186
4187 * dispextern.h (line_bottom_y): Add prototype.
4188
52283633 4189 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4190 (pos_visible_p): Use it.
4191
980a2d69
GM
4192 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4193 set redisplaying_p to 0 here instead of in Frecursive_edit.
4194 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4195 set redisplaying_p.
4196
52283633 4197 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4198 New variables.
4199 (syms_of_xdisp): Initialize new variables.
4200 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4201 Specbind `inhibit-menubar-update' when updating the menu bar.
4202
65048e97
GM
4203 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4204 safe_run_hooks.
4205
4206 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4207 safe_run_hooks.
4208
a57c4026
GM
4209 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4210 is null.
4211
aeac019e
GM
4212 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4213 to the start of the file.
4214
76846b31
GM
42152001-02-16 Gerd Moellmann <gerd@gnu.org>
4216
f3f053f3 4217 * window.c (set_window_buffer): Fix last change.
52283633 4218
f3f053f3
GM
4219 * window.c (set_window_buffer): Set window's vscroll to 0.
4220
dad75588
GM
4221 * window.c (coordinates_in_window): Increase width of area
4222 where the vertical line can be dragged.
4223
c220b753
GM
4224 * xterm.c (x_set_glyph_string_background_width): Extend the
4225 background face to the end of the drawing area in the text
4226 area, only.
4227
c56b1c1b
GM
4228 * xdisp.c (handle_single_display_prop): Set iterator's position
4229 to where the `display' property starts, like for images.
4230 (dump_glyph): New function.
4231 (dump_glyph_row): Use it. Dump info about marginal areas.
4232
4233 * dispnew.c (direct_output_for_insert): Recognize more cases where
4234 glyphs can be written instead of being inserted.
4235
4236 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4237 the left x-coordinate of the area to shift.
4238
76846b31
GM
4239 * dired.c (directory_files_internal): Set result list to nil
4240 before retrying.
4241
0fc71a77
KH
42422001-02-15 Kenichi Handa <handa@etl.go.jp>
4243
4244 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4245 invalid multibyte sequence, treat *SRC as a character of
4246 eight-bit-graphic.
4247
25078b54
EZ
42482001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4249
4250 * textprop.c (Fset_text_properties): Doc fix.
4251
8399f8a0
GM
42522001-02-15 Gerd Moellmann <gerd@gnu.org>
4253
4254 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4255
9a2a6f73
DL
42562001-02-14 Dave Love <fx@gnu.org>
4257
4258 * coding.c: Doc and message fixes.
4259
bf853fee
AI
42602001-02-14 Andrew Innes <andrewi@gnu.org>
4261
4262 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4263 Emacs frame above the screen size.
4264
78c663d8
GM
42652001-02-14 Gerd Moellmann <gerd@gnu.org>
4266
4267 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4268
7cc9f69f
GM
42692001-02-13 Gerd Moellmann <gerd@gnu.org>
4270
0a411995
GM
4271 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4272 case that TO ends up beyond ZV after running before-change-functions.
4273
5ddc1b75
GM
4274 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4275 the selected window if it is showing the buffer in question.
4276
7cc9f69f
GM
4277 * dired.c (directory_files_internal): Initialize errno.
4278 (toplevel): Include errno.h.
4279
2e6621ca
GM
42802001-02-13 Kenichi Handa <handa@etl.go.jp>
4281
4282 * xfaces.c (best_matching_font): New parameter width_ratio.
4283 Multiply avgwidth by width_ratio.
4284 (choose_face_font): Call best_matching_font with width_ratio
4285 calculated from the column width of C.
4286
60222d69
AI
42872001-02-12 Andrew Innes <andrewi@gnu.org>
4288
4289 The following changes are to draw box lines inside characters area
4290 if line-width is negative.
52283633 4291
60222d69
AI
4292 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4293 face->box_line_width is negative.
4294 (x_produce_stretch_glyph): Likewise.
4295 (x_produce_glyphs): Likewise.
4296 (x_estimate_mode_line_height): Likewise.
4297 (x_draw_glyph_string_background): Likewise.
4298 (x_draw_glyph_string_foreground): Likewise.
4299 (x_draw_composite_glyph_string_foreground): Likewise.
4300 (x_draw_glyph_string_box): Likewise.
4301 (x_draw_image_foreground): Likewise.
4302 (x_draw_image_relief): Likewise.
4303 (x_draw_image_foreground_1): Likewise.
4304 (x_draw_image_glyph_string): Likewise.
4305
9804b846
KH
43062001-02-09 Kenichi Handa <handa@etl.go.jp>
4307
4308 The following changes are to draw box lines inside characters area
4309 if line-width is negative.
52283633 4310
9804b846
KH
4311 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4312 face->box_line_width is negative.
4313 (x_produce_stretch_glyph): Likewise.
4314 (x_produce_glyphs): Likewise.
4315 (x_estimate_mode_line_height): Likewise.
4316 (x_draw_glyph_string_background): Likewise.
4317 (x_draw_glyph_string_foreground): Likewise.
4318 (x_draw_composite_glyph_string_foreground): Likewise.
4319 (x_draw_glyph_string_box): Likewise.
4320 (x_draw_image_foreground): Likewise.
4321 (x_draw_image_relief): Likewise.
4322 (x_draw_image_foreground_1): Likewise.
4323 (x_draw_image_glyph_string): Likewise.
4324
4325 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4326 and :line-width can be negative.
52283633 4327 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4328
49be9f70
JR
43292001-02-09 Jason Rumney <jasonr@gnu.org>
4330
4331 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4332 characters the same as ASCII and latin-1.
4333 (x_display_and_set_cursor): Check for the focus frame's selected
4334 window instead of selected_window.
4335 (x_after_update_window_line): Don't clear if frame's internal
4336 border width is zero.
4337 (x_new_font): Don't change a tooltip's size.
4338 (w32_initialize): Set char_ins_del_ok to 1.
4339
4340 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4341 (x_set_font): If font hasn't changed, avoid recomputing
4342 faces and other things.
52283633
SM
4343 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4344 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4345 (x_create_tip_frame): Prevent changing the tooltip's
4346 background color by specifying a color for the default font
4347 in .Xdefaults.
4348 (Qcancel_timer): New variable.
4349 (syms_of_w32fns): Initialize and staticpro it.
4350 (Fx_hide_tip, Fx_show_tip): Use it.
4351 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4352 the timer.
4353 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4354
4355 * w32.c (init_environment): Duplicate local string before putenv.
4356
555e35d2
SZ
43572001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4358
4359 * charset.c (Fstring): A typo.
4360
19c92c94
KH
43612001-02-09 Kenichi Handa <handa@etl.go.jp>
4362
e47a1c33
KH
4363 * charset.c (Fstring): If all arguments are less than 256, return
4364 a unibyte string.
4365
4366 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4367 return a unibyte string.
4368
19c92c94
KH
4369 * coding.c (code_convert_region): After detecting a coding, if
4370 nothing found, set coding->composing to COMPOSITION_NO.
4371 (decode_coding_string): Likewise.
4372
d8e675f5
SM
43732001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4374
4375 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4376 to avoid overflow.
4377
bd503487
KH
43782001-02-07 Kenichi Handa <handa@etl.go.jp>
4379
4380 * charset.c (parse_str_to_multibyte): New function.
4381
4382 * charset.h (parse_str_to_multibyte): Extern it.
4383
4384 * print.c (print_string): If we are going to print a unibyte
4385 string into a multibyte buffer, convert the string to multibyte by
4386 str_to_multibyte.
4387
a8370d72
AI
43882001-02-06 Andrew Innes <andrewi@gnu.org>
4389
4390 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4391 been created. It seems we can get sent window messages such as
4392 WM_ERASEBKGND before we properly update a frame.
4393
c363a1d6
GM
43942001-02-06 Gerd Moellmann <gerd@gnu.org>
4395
4396 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4397 Avoid some unnecessary cursor positioning.
4398
a08332c0
GM
43992001-02-05 Gerd Moellmann <gerd@gnu.org>
4400
52283633 4401 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4402 (LFACE_AVGWIDTH): New macro.
4403 (LFACEP): Use AREF.
4404 (check_lface_attrs): Check LFACE_AVGWIDTH.
4405 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4406 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4407 (merge_face_vectors): Check LFACE_AVGWIDTH.
4408 (Finternal_make_lisp_face): Use AREF.
4409 (xm_set_menu_resources_from_menu_face)
4410 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4411 (Finternal_lisp_face_empty_p): Use AREF.
4412 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4413 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4414 Compare average widths..
4415 (best_matching_font): Arrange for comparing average widths.
4416
52283633
SM
4417 * dispextern.h (enum lface_attribute_index):
4418 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4419
5cb3c8d4
DL
44202001-02-05 Dave Love <fx@gnu.org>
4421
4422 * puresize.h: Revert last change following loadup.el change.
4423
193fba87
AI
44242001-02-05 Andrew Innes <andrewi@gnu.org>
4425
4426 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4427 invocation of temacs, to work with Windows 2000.
4428 (bootstrap-emacs): Ditto.
4429
e16f52ce
GM
44302001-02-05 Gerd Moellmann <gerd@gnu.org>
4431
7a58ab59
GM
4432 * xterm.c (x_display_and_set_cursor): Check for the focus
4433 frame's selected window instead of selected_window.
4434
e89aaabd
GM
4435 * xdisp.c (try_scrolling): If point is in the line below the
4436 window, make sure to move the iterator at least a canonical
4437 char height down.
4438
52283633 4439 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4440
789ce875
KH
44412001-02-05 Kenichi Handa <handa@etl.go.jp>
4442
52283633
SM
4443 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4444 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4445 (ccl_driver): If the CCL program is terminated because of
4446 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4447 destination instead of throwing them away.
4448
20b28f82
GM
44492001-02-02 Gerd Moellmann <gerd@gnu.org>
4450
79fb38c0
GM
4451 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4452 faces and other things.
4453
20b28f82
GM
4454 * xdisp.c (get_next_display_element): Fix case of empty
4455 display table entry.
4456
5a72551e
EZ
44572001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4458
eb24d0bf
EZ
4459 * editfns.c (Fconstrain_to_field): Doc fix.
4460
6a3f48c7
EZ
4461 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4462 into `thoroughly', to make it consistent with the doc string.
4463
5a72551e
EZ
4464 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4465
01acdb05
GM
44662001-02-01 Gerd Moellmann <gerd@gnu.org>
4467
0353b28f
GM
4468 * search.c (search_buffer): Call set_search_regs with a byte
4469 position, not a character position.
4470
01acdb05
GM
4471 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4472 minibuffer-only,
4473
e86b5133
EZ
44742001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4475
4476 * frame.c (Fmodify_frame_parameters): Doc fix.
4477
7442878f
GM
44782001-01-31 Gerd Moellmann <gerd@gnu.org>
4479
01acdb05
GM
4480 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4481 identifier which is not reserved by Standard C.
52283633 4482
7442878f
GM
4483 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4484
4485 * window.c (enum window_part): New enumeration.
4486 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4487 Qright_bitmap_area.
4488 (coordinates_in_window): Return an enumerator from enum
4489 window_part. Fix handling of right scroll bar.
4490 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4491 `right-fringe' instead of `left-bitmap-area' and
4492 `right-bitmap-area'. Use enumerators from enum window_part
4493 instead of hard-coded integers.
52283633
SM
4494 (check_window_containing, window_from_coordinates):
4495 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4496 (syms_of_window): Replace Qleft_bitmap_area and
4497 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4498
7c132cba
EZ
44992001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4500
4501 * editfns.c (Fformat_time_string): Doc fix.
4502
c359dd9e
SM
45032001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4504
4505 * keymap.c (Fwhere_is_internal): Use the first valid binding
4506 if no ascii binding is found (when firstonly is t).
4507
ce070307
GM
45082001-01-31 Gerd Moellmann <gerd@gnu.org>
4509
b4f30ec5
GM
4510 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4511 instead of Finteractive_p.
4512
4513 * lisp.h (interactive_p): Add prototype.
4514
4515 * eval.c (interactive_p): New function.
4516 (Finteractive_p): Use it.
4517
ce070307
GM
4518 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4519
f57b6e64
DL
45202001-01-31 Dave Love <fx@gnu.org>
4521
d61c7afe
DL
4522 * .gdbinit (hook-run): Define to run xreload.
4523
f57b6e64
DL
4524 * textprop.c (Fset_text_properties): Fix newline in doc string.
4525
eef93f99
GM
45262001-01-30 Gerd Moellmann <gerd@gnu.org>
4527
52283633
SM
4528 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4529 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4530
4531 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4532 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4533 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4534
4535 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4536 height.
4537
d9c1f6f9
DL
45382001-01-30 Dave Love <fx@gnu.org>
4539
4540 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4541 AFTER_POTENTIAL_GC.
4542
e8f044a0
GM
45432001-01-29 Gerd Moellmann <gerd@gnu.org>
4544
52283633
SM
4545 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4546 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4547
8e1db7b3
EZ
45482001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4549
4550 * textprop.c (Fset_text_properties): Doc fix.
4551
4eefd9d2
GM
45522001-01-29 Gerd Moellmann <gerd@gnu.org>
4553
4554 * xdisp.c (forward_to_next_line_start): Remove xassert.
4555
fccb8288
EZ
45562001-01-29 Jason Rumney <jasonr@gnu.org>
4557
4eefd9d2 4558 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4559 returning without releasing it.
4560
76581eab
KH
45612001-01-29 Kenichi Handa <handa@etl.go.jp>
4562
4563 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4564 for '^', '$', and '\0'.
4565
83a96b4d
AC
45662001-01-28 Andrew Choi <akochoi@i-cable.com>
4567
5604ec34
AC
4568 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4569 regex for '^', '$', and '\0'.
4570
83a96b4d
AC
4571 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4572 only if current_sblock has been initialized.
4573
4574 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4575 terminal frame even if it is the only visible frame.
4576
c09a6440
KH
45772001-01-28 Kenichi Handa <handa@etl.go.jp>
4578
4579 * fontset.c (font_family_registry): Even if FONTNAME conform to
4580 XLFD, if it specifies other fields than family and registry,
52283633 4581 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4582 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4583 a signle byte character. Don't set FAMILY part to nil here.
4584 It is handled by the caller choose_face_font.
c09a6440
KH
4585 (Fnew_fontset): Call font_family_registry with FORCE 0.
4586 (Fset_fontset_font): Likewise.
4587
4dcd74e6
GM
45882001-01-27 Gerd Moellmann <gerd@gnu.org>
4589
4590 * xdisp.c (display_line): Don't treat a newline as fitting
4591 on the line.
4592
d2906bf8
GM
45932001-01-26 Gerd Moellmann <gerd@gnu.org>
4594
0130fe1a
GM
4595 * window.c (size_window): Set the window's orig_top to nil when
4596 changing heights, so that a future shrink_mini_window won't
4597 restore a bogus height.
4598
550f0e6a
GM
4599 * frame.c (do_switch_frame): If selected frame has a mini-window,
4600 resize that to exact size.
4601
b7b20fbd
GM
4602 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4603
a47b7816
GM
4604 * xdisp.c (display_line): Simplify check for glyphs fitting
4605 entirely in the line.
4606
d2906bf8
GM
4607 * xfns.c (xic_style): New variable.
4608 (create_frame_xic): Move static variable to global scope for
550f0e6a 4609 the case that `static' gets defined away.
d2906bf8 4610
73df2b1e
KH
46112001-01-26 Kenichi Handa <handa@etl.go.jp>
4612
4613 * coding.c (decode_coding): Set a flag for inhibiting
4614 inconsistent eol.
4615 (code_convert_region): Always set saved_coding_symbol.
4616 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4617 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4618
6613cfc4
GM
46192001-01-25 Gerd Moellmann <gerd@gnu.org>
4620
c5e6e06b
GM
4621 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4622 XClearArea.
4623
4624 * xterm.c (x_after_update_window_line): Don't clear if frame's
4625 internal border width is zero.
4626 (x_clear_area): New function.
4627 (x_after_update_window_line, x_clear_end_of_line)
4628 (x_scroll_bar_create, x_scroll_bar_set_handle)
4629 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4630 instead of XClearArea.
4631
4632 * xterm.h (x_clear_area): Add prototype.
4633
6613cfc4
GM
4634 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4635 which doesn't seem necessary anymore with Lesstif 0.92.
4636
650cc6cc
DL
46372001-01-25 Dave Love <fx@gnu.org>
4638
34ac3367
DL
4639 * puresize.h (BASE_PURESIZE): Up to 720000.
4640
650cc6cc
DL
4641 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4642
5e37dc22
GM
46432001-01-25 Gerd Moellmann <gerd@gnu.org>
4644
e1e441f9
GM
4645 * xdisp.c (echo_area_display): Don't call redisplay_internal
4646 when Emacs is shutting down. We can't run hooks etc. that
4647 would be necessary to do a redisplay.
4648
5e37dc22
GM
4649 * lread.c (read_integer): Use type EMACS_INT instead of int.
4650
0fb94c7f
EZ
46512001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4652
4653 * ccl.c (ccl_driver): Fix last change.
4654
e3778624
KH
46552001-01-25 Kenichi Handa <handa@etl.go.jp>
4656
4657 * ccl.h (sturct ccl_program): New member suppress_error.
4658
bb264518 4659 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4660 insert error message to the output.
4661 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4662
4663 * coding.h (struct coding_system): New member suppress_error.
4664
4665 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4666 (Fset_terminal_coding_system_internal): Set the member
4667 suppress_error to 1.
4668 (Fset_safe_terminal_coding_system_internal): Likewise.
4669
245ed2b1
SM
46702001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4671
4672 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4673 as if it was a `charset'.
4674
f9aaedb6
GM
46752001-01-24 Gerd Moellmann <gerd@gnu.org>
4676
4677 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4678 value in where_is_cache; the next lookup in the cache returns
4679 something bogus if we do.
4680
c3902c3e
EZ
46812001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4682
4683 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4684 if HAVE_WINDOW_SYSTEM isn't defined.
4685
3497f73e
GM
46862001-01-24 Gerd Moellmann <gerd@gnu.org>
4687
e7e41584
GM
4688 * fns.c (sweep_weak_table): Fix code taking items out of
4689 the hash collision chain. Some cleanup.
4690
3497f73e
GM
4691 * xterm.c (x_new_font): Don't change a tooltip's size.
4692
4693 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4694 background color by specifying a color for the default font
4695 in .Xdefaults.
4696
3d48e687
KH
46972001-01-24 Kenichi Handa <handa@etl.go.jp>
4698
96531b20
KH
4699 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4700 a workaround for SunOS 4's cc.
4701 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4702 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4703 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4704 statement.
3d48e687 4705
a30629d2
GM
47062001-01-23 Gerd Moellmann <gerd@gnu.org>
4707
4708 * xterm.c (x_set_window_size_1): New function extracted from
4709 x_set_window_size.
4710 (x_set_window_size): Use it.
4711 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4712 doesn't have a widget, like tooltips.
4713
5a43decf
EZ
47142001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4715
52283633 4716 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4717
b0e98867
KH
47182001-01-23 Kenichi Handa <handa@etl.go.jp>
4719
4720 * fns.c (Fset_char_table_default): Fix to make sub char-table
4721 correctly.
4722
50606b4c
GM
47232001-01-22 Gerd Moellmann <gerd@gnu.org>
4724
cb2ddc53 4725 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4726 a desired tool bar string, even if there are no tool bar items.
4727
57c28064
GM
4728 * xdisp.c (Ftool_bar_lines_needed): New function.
4729 (syms_of_xdisp): Defsubr it.
4730
50606b4c
GM
4731 * editfns.c (Fformat): Don't extend text properties from arguments
4732 to padding chars in the result.
4733
2f169c38
EZ
47342001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4735
4736 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4737
0f32f023
AI
47382001-01-20 Andrew Innes <andrewi@gnu.org>
4739
52283633 4740 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4741 (w32_initialize): Don't set term hooks that aren't actually needed
4742 in windowed mode.
4743
4744 * xfaces.c (realize_default_face):
4745 (realize_face):
4746 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4747
4748 * xdisp.c (handle_single_display_prop): Remove references to
4749 FRAME_W32_CONSOLE_P.
4750
52283633 4751 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4752
4753 * frame.h (output_method): Remove output_w32_console method.
4754 (FRAME_W32_CONSOLE_P): Remove macro.
4755
4756 * frame.c (Qw32_console): Remove variable.
4757 (Fframep): Remove references to it.
4758 (syms_of_frame): Ditto.
4759 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4760
4761 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4762 redefinition.
4763
7173eada
KH
47642001-01-20 Kenichi Handa <handa@etl.go.jp>
4765
4766 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4767
755b45ce
AI
47682001-01-19 Andrew Innes <andrewi@gnu.org>
4769
4770 * w32.c (init_environment): Add a version-independent site-lisp
4771 directory to EMACSLOADPATH, after the version dependent one.
4772
0a949811
GM
47732001-01-19 Gerd Moellmann <gerd@gnu.org>
4774
8501998a
GM
4775 * editfns.c (Fbuffer_substring): Doc fix.
4776
52283633
SM
4777 * xdisp.c (message_dolog, message2, message2_nolog):
4778 Rename parameter LEN to NBYTES.
0a949811 4779
e6ebcbbe
KH
47802001-01-19 Kenichi Handa <handa@etl.go.jp>
4781
200ecca2
KH
4782 * charset.c (strwidth): Use c_string_width.
4783 (c_string_width): New function.
4784 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4785 Caller changed.
4786
4787 * charset.h (c_string_width, lisp_string_width): Extern them.
4788
52283633 4789 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4790
e6ebcbbe
KH
4791 * indent.c (check_composition): Check validity of composition.
4792
200ecca2
KH
4793 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4794 characters by calling c_string_width.
4795 (x_consider_frame_title): Get byte length of frame tile string
4796 correctly.
4797 (display_mode_element): Pay attention to width of non-ASCII
4798 characters by calling strwidth.
4799
8692ca92
GM
48002001-01-18 Gerd Moellmann <gerd@gnu.org>
4801
8962e303
GM
4802 * xfns.c (Qcancel_timer): New variable.
4803 (syms_of_xfns): Initialize and staticpro it.
4804 (Fx_hide_tip, Fx_show_tip): Use it.
4805 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4806 the timer.
4807 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4808
91523be9
GM
4809 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4810
4811 * window.h (WINDOW_LIVE_P): New macro.
4812
b0b7ed0e
GM
4813 * window.c (window_size_fixed): New variable.
4814 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4815 the doc string.
4816
06bccf8e
GM
4817 * eval.c (specbind): If binding a per-buffer variable which
4818 doesn't have a buffer-local value in the current buffer, change
4819 the global value by changing the value of the symbol bound in all
4820 buffers not having their own value, to make it consistent with
4821 what happens with other buffer-local variables.
4822
8692ca92
GM
4823 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4824
4825 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4826 when searching for a newline.
4827
bb3a3b50
KH
48282001-01-18 Kenichi Handa <handa@etl.go.jp>
4829
4830 * xdisp.c (display_string): Fix previous change.
4831
c2cc16fa
JR
48322001-01-18 Jason Rumney <jasonr@gnu.org>
4833
4834 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4835 GLYPH_DEBUG is defined.
4836 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4837 true for images with `:ascent 100'.
4838 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4839 meantime, use face MOUSE_FACE_ID.
4840 If first glyph isn't a character glyph, use the ASCII NUL
4841 character to determine the face.
4842 (expose_area): Do not treat left margin specially.
4843 (note_mode_line_highlight): If no local_map, check global keymap.
4844 (note_mouse_highlight): Initialize overlay.
52283633 4845 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4846 (show_scroll_bars): Remove unused function.
4847 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4848 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4849 Clip to row.
52283633 4850 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4851 (x_free_frame_resources): Unload relief colors.
4852
9c11f79e
GM
48532001-01-17 Gerd Moellmann <gerd@gnu.org>
4854
3aec8722 4855 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4856 get_next_display_element when the newline is already found.
4857 This may change the iterator's position, when its current position is
3aec8722
GM
4858 equal to the iterator's stop_charpos.
4859
f3ffc2c3
GM
4860 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4861 zero, use this method only at the end of a line.
4862
52283633 4863 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4864 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4865 if SCALABLE_FONTS_P is set.
52283633 4866
d26d6fd9
GM
4867 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4868 so that scalable fonts are included.
4869
9c11f79e
GM
4870 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4871 In the cache, use a key containing the information if scalable
4872 fonts are included.
4873 (x_load_font): Adapt to change of keys in the font cache.
4874
48752001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4876
d26d6fd9
GM
4877 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4878 XListFonts to take advantage of font caching.
4879
9c11f79e
GM
4880 * xterm.c (x_list_fonts): Ensure caching font information when
4881 called for a null frame, which is the case frequently when Emacs
4882 starts.
4883
51446987
GM
48842001-01-17 Gerd Moellmann <gerd@gnu.org>
4885
f864120f
GM
4886 * xfns.c (QCconversion): Replaces QCalgorithm.
4887
4888 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4889
4890 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4891 of :algorithm.
52283633 4892
e37d1417
GM
4893 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4894 not everything could be displayed.
4895
51446987
GM
4896 * line.h, x-list-font.c: Files removed because unused.
4897
9ad4f3e5
AI
48982001-01-17 Andrew Innes <andrewi@gnu.org>
4899
4900 * dired.c (directory_files_internal): Convert result from readdir
4901 to a unibyte string initially, to avoid possible misinterpretation
4902 of some bytes as the internal form of Emacs characters.
4903
2eda09b5
KH
49042001-01-17 Kenichi Handa <handa@etl.go.jp>
4905
4906 * fns.c (concat): Be sure to avoid putting the same `composition'
4907 property on the adjacent regions.
4908
826f3788
GM
49092001-01-16 Gerd Moellmann <gerd@gnu.org>
4910
52283633 4911 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4912 (Fscroll_right, Fscroll_left): Set it here instead, if called
4913 interactively.
4914
d57b83b3
GM
4915 * buffer.c (Fset_buffer_modified_p): Set buffer's
4916 prevent_redisplay_optimizations_p flag.
4917
826f3788 4918 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4919 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4920 with additional arg.
4921
4922 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4923 Change prototype.
826f3788 4924
826f3788
GM
4925 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4926 FROM_WHERE, for debugging.
4927
261d788b
KH
49282001-01-16 Kenichi Handa <handa@etl.go.jp>
4929
4930 * ccl.c (Fregister_ccl_program): Handle the return value of
4931 resolve_symbol_ccl_program correctly.
52283633 4932 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4933
bccee4f2
GM
49342001-01-15 Gerd Moellmann <gerd@gnu.org>
4935
e4ded23c
GM
4936 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4937 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4938
4939 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4940 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4941 the display; we didn't open it.
4942
bccee4f2
GM
4943 * dispnew.c (save_or_restore_current_matrices): Function removed.
4944 (save_current_matrix, restore_current_matrix): New functions.
4945 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4946 restore the frame's current matrix. Due to the glyph pointer
4947 setup done in adjust_glyph_matrix, there is no easy way to make
4948 saving the current matrix in the desired matrix generally correct,
4949 so don't try it.
4950
ebeccffa
KH
49512001-01-15 Kenichi Handa <handa@etl.go.jp>
4952
4953 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4954 truncation glyphs.
4955 (display_line): Optimize for wide characters.
e4ded23c 4956 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4957 partially. On ttys, produce more than one truncation glyph for
4958 multi-column characters that don't fit on the line.
4959
64388126
KH
49602001-01-13 Kenichi Handa <handa@etl.go.jp>
4961
52283633
SM
4962 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4963 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4964
8edb0a6f
JR
49652001-01-13 Jason Rumney <jasonr@gnu.org>
4966
4967 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4968 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4969 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4970 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4971
52283633
SM
4972 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4973 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4974 (x_draw_image_glyph_string): Adapt to change of image margins.
4975
4976 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4977 variables.
4978
4979 * w32bdf.c (search_file_line, get_cached_font_char)
4980 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4981
4982 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4983
4984 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4985 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4986 (Fw32_send_sys_command): Remove unused variables.
4987 (w32_msg_pump): Add parentheses.
4988
4989 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4990 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4991 Add parentheses.
4992
4956d1ef
GM
49932001-01-12 Gerd Moellmann <gerd@gnu.org>
4994
b30623be
GM
4995 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4996 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4997 being a pair of margins.
4998 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4999 to DEFVAR_LISP. Extend doc.
5000
5001 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5002 margins.
5003 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5004 pair of integers `(X . Y)', use X for the horizontal and Y for the
5005 vertical margin.
5006 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5007 (parse_image_spec): Check it.
52283633
SM
5008 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5009 (tiff_format, gif_format, gs_format):
5010 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5011
52283633
SM
5012 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5013 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5014 (x_draw_image_glyph_string): Adapt to the change of image margins.
5015
5016 * dispextern.h (struct image): Replace member `margin' with
5017 `hmargin' and `vmargin'.
5018
4554cc79
GM
5019 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5020 and GLYPHS.
5021
5022 * dispnew.c (update_text_area): Put code which decrements the
5023 stop position when the row's face extends to the end of the
3bffc665 5024 line in #if 0.
4554cc79 5025
3cccce8d
GM
5026 * xfns.c (x_set_mouse_color): Fix color allocation.
5027
4956d1ef
GM
5028 * keyboard.c: Call get_local_map with new argument list.
5029
5030 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5031
5032 * intervals.h (enum map_property): Removed.
5033 (get_local_map): Change prototype.
5034
5035 * keymap.c: Call get_local_map with new argument list.
5036 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5037
2c2ff7f2
GM
50382001-01-11 Gerd Moellmann <gerd@gnu.org>
5039
a23887b9
GM
5040 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5041 of the size needed for the tool bar string. For the last image,
5042 use a `display' property that reaches to the end of the string.
5043
a7ee2d2e
GM
5044 * xselect.c (selection_request_dpyinfo): New variable.
5045 (x_handle_selection_request): Set it.
5046 (x_selection_request_lisp_error): Don't call
5047 x_decline_selection_request if selection request's display has
5048 been closed.
5049
52283633
SM
5050 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5051 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5052
457b792c
GM
50532001-01-10 Dave Love <fx@gnu.org>
5054
5055 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5056 ${SOME_MACHINE_LISP}, not ${lisp}.
5057
c1efd260
GM
50582001-01-10 Gerd Moellmann <gerd@gnu.org>
5059
52283633
SM
5060 * xdisp.c (display_line): On ttys, produce more than one truncation
5061 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5062
ac95a621
GM
5063 * xselect.c (x_reply_selection_request): Add a comment.
5064
c1efd260
GM
5065 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5066 XkbGetNames instead of XkbGetKeyboard.
5067
1bfb1345
DL
50682001-01-10 Dave Love <fx@gnu.org>
5069
5070 * sysdep.c (random): Revert the declaration.
5071
38119822
GM
50722001-01-09 Gerd Moellmann <gerd@gnu.org>
5073
52283633
SM
5074 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5075 Call function string_bytes.
35f464a7
GM
5076 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5077
5078 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5079 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5080 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5081 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5082 the current sblock.
5083 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5084 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5085 after sweeping strings, and at the end.
5086 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5087
38119822
GM
5088 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5089 ensure that pop_message is called.
5090
5091 * keyboard.c (Fexecute_extended_command): Use a
5092 record_unwind_protect to ensure that pop_message is called.
5093
5094 * lisp.h (push_message_unwind): Add prototype.
5095
5096 * xdisp.c (push_message_unwind): New function.
5097
5098 * fileio.c (do_auto_save_unwind): Do the pop_message here
5099 instead of in Fdo_auto_save.
5100 (Fdo_auto_save): Don't call pop_message.
5101
f47a9ec4
KR
51022001-01-08 Ken Raeburn <raeburn@gnu.org>
5103
5104 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5105 in inner block.
5106
a758f97d
GM
51072001-01-08 Gerd Moellmann <gerd@gnu.org>
5108
6d0afc03
GM
5109 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5110 when increasing window's vscroll.
5111
a758f97d
GM
5112 * macros.c (Qkbd_macro_termination_hook): New variable.
5113 (syms_of_macros): Initialize and staticpro it.
5114 (pop_kbd_macro): Run kbd-macro-termination-hook.
5115
5116 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5117
1bfb1345 51182001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5119
5120 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5121 arglist, for documentation's sake.
5122
0dac6924
AI
51232001-01-06 Andrew Innes <andrewi@gnu.org>
5124
5125 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5126 of *.pdb.
5127
8182406a
AI
51282001-01-05 Andrew Innes <andrewi@gnu.org>
5129
5130 * term.c (update_end): Don't check updating_frame; for some reason
5131 this can be 0 sometimes, such as after dismissing a popup menu,
5132 and isn't necessary given the explicit frame argument.
5133
3828218c
GM
51342001-01-05 Gerd Moellmann <gerd@gnu.org>
5135
5136 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5137 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5138
2f5ded21
GM
51392001-01-04 Gerd Moellmann <gerd@gnu.org>
5140
52283633 5141 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5142
5143 * xfns.c (x_create_tip_frame): Preserve the value of
5144 face_change_count around the creation of the tip frame.
52283633 5145
2f5ded21
GM
5146 * xfns.c (last_show_tip_args): New variable.
5147 (compute_tip_xy): New function.
5148 (Fx_show_tip): Reuse an existing tip frame, if possible.
5149 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5150
dfad65fa
DL
51512001-01-04 Dave Love <fx@gnu.org>
5152
64d4ec0f
DL
5153 * editfns.c (Fformat): Doc fix.
5154
dfad65fa
DL
5155 * systime.h (set_file_times): Prototype.
5156
5157 * widget.h (EmacsFrameSetCharSize_): Prototype.
5158
5159 * sysdep.c (random, srandom): Declare explicitly.
5160
5161 * dispextern.h (move_it_vertically_backward): Declare.
5162
85fe3b5e
GM
51632001-01-04 Gerd Moellmann <gerd@gnu.org>
5164
0f2ac578
GM
5165 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5166 like in Fx_create_frame.
5167
482cca61
GM
5168 * xfaces.c (set_font_frame_param): Don't do anything for
5169 non-graphical frames.
5170
85fe3b5e
GM
5171 * window.c (Fdelete_other_windows): Set window's window_end_valid
5172 to nil when changing the window's start. Don't change the
5173 window's start when its top position hasn't changed. If we do,
5174 this will set the window's optional_new_start, which act's like a
5175 force_start during redisplay with C-x 1 M-> under particular
5176 circumstances (see report from Per Starback to emacs-pretest-bug
5177 from 2000-12-13.).
5178
3e99d3b4
GM
51792001-01-03 Gerd Moellmann <gerd@gnu.org>
5180
a77dc1ec
GM
5181 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5182 short cut at the start of the function. Add an assertion.
5183 (reseat_at_next_visible_line_start): Add an assertion.
5184
2f3cad6c
GM
5185 * window.c (Frecenter): When changing the window start, set the
5186 window's window_end_valid to nil.
5187 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5188
5189 * dispextern.h (move_it_past_eol): Add prototype.
5190
5191 * xdisp.c (move_it_past_eol): New function.
5192
3e99d3b4
GM
5193 * window.c (Fwindow_end): Doc fix.
5194
51952001-01-03 Dave Love <fx@gnu.org>
5196
52283633 5197 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5198
bafb434c
GM
51992001-01-03 Gerd Moellmann <gerd@gnu.org>
5200
5201 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5202 the enabled_p flag of the glyph row at window_end_vpos to 0.
5203 (handle_single_display_prop): Fix last change.
5204
5297fb00
RS
52052001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5206
5207 * window.c (Frecenter): Doc fix.
5208
13d6a61c
AI
52092001-01-02 Andrew Innes <andrewi@gnu.org>
5210
5211 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5212
5213 * frame.h (output_method): Add output_w32_console method.
5214 (FRAME_W32_CONSOLE_P): New macro.
5215
5216 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5217 use output_w32_console method.
5218 (Qw32_console): New Lisp_Object.
5219 (Fframep): Return it.
5220 (syms_of_frame): Init it.
52283633 5221 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5222
5223 * xfaces.c (realize_default_face): Set face foreground and
5224 background to unspecified for w32_console frames.
5225 (realize_face): Realize face cache for w32_console frames.
5226 (realize_tty_face): Accept w32_console frames.
5227
52283633 5228 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5229 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5230 necessary, even if running interactively.
5231
5232 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5233 w32_console frames.
5234
52283633
SM
5235 * w32term.c (x_update_begin):
5236 (x_update_end):
5237 (x_clear_frame):
5238 (x_ins_del_lines):
5239 (x_change_line_highlight):
5240 (x_delete_glyphs):
5241 (w32_ring_bell):
5242 (x_update_begin):
5243 (x_update_end):
5244 (w32_reassert_line_highlight):
5245 (w32_frame_rehighlight):
13d6a61c
AI
5246 (w32_frame_raise_lower): Do nothing if not w32 frame.
5247
5248 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5249
5250 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5251 system doesn't tell us directly.
5252 (Fx_display_visual_class): Implement properly.
5253
d6bb0c0d
GM
52542001-01-02 Gerd Moellmann <gerd@gnu.org>
5255
5256 * window.c (Frecenter): Handle centering in graphical frames
5257 specially. Centering on the basis of line counts doesn't work
5258 reliably with variable-height lines.
52283633 5259
315f5865
EZ
52602001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5261
5262 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5263 and al[].
5264
52283633 5265 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5266 (update_compositions): Remove unused variable `hook'.
5267
5268 * intervals.c (get_local_map): Remove unused variable `tem'.
5269
5270 * doprnt.c (doprnt1): Remove unused variable `size'.
5271
5272 * fns.c (Flength): Remove unused variable `tail'.
5273 (Fdelete): Remove unused variable `size'.
5274
5275 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5276 and `gcpro2'.
5277
52283633 5278 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5279
5280 * data.c (find_symbol_value): Remove extra 3rd argument in the
5281 call to swap_in_symval_forwarding.
5282
52283633 5283 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5284
5285 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5286 (trivial_regexp_p): Remove unused variable `c'.
5287 (boyer_moore): Remove unused variable `k'.
5288
5289 * indent.c (current_column): Remove unused variable `stopchar'.
5290 (Fcompute_motion): Remove unused variable `contin'.
5291
5292 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5293
5294 * dired.c (directory_files_internal): Fix a typo in a comment.
5295 Remove an unused variable `handler'.
52283633 5296 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5297 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5298 on BSD4_2.
5299
52283633 5300 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5301
5302 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5303 and `buf'.
5304 (Fmarker_insertion_type): Remove unused variable `buf'.
5305
5306 * insdel.c (make_gap): Remove unused variable `result'.
5307
52283633 5308 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5309 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5310 (menu_bar_items): Remove unused function-scope variable `tem'.
5311
5312 * fontset.c (fontset_ref): Remove unused variable `i'.
5313 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5314 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5315 (make_fontset_for_ascii_face): Remove unused variable `name'.
5316 (fs_load_font): Remove unused variable `font_idx'.
52283633 5317 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5318 (list_fontsets): Remove unused variable `tail'.
5319 (Fnew_fontset): Remove unused variables `family' and `registry'.
5320 (accumulate_font_info): Remove unused variable `tmp'.
5321 (Ffontset_font): Remove unused variable `id'.
5322 (syms_of_fontset): Remove unused variable `i'.
5323
5324 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5325 to x_term_init.
5326 (lookup_image): Remove unused variable `file'.
5327 (xbm_load): Remove unused variables `bitmap_data', `height', and
5328 `width'. Remove function-local variable `i', leave the
5329 block-local one.
5330 (gif_load): Remove unused variable `inc'.
5331
52283633 5332 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5333 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5334 leave only the one in the inner block.
5335
5336 * xfaces.c (face_fontset, realize_default_face): Remove unused
5337 variable `fontset'.
5338 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5339
5340 * term.c (encode_terminal_code): Remove unused variable `c'.
5341
5342 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5343 char *' instead of `char *'.
5344
5345 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5346 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5347 (Fchar_category_set): Remove unused variables `val', `charset',
5348 `c1' and `c2'.
5349
52283633
SM
5350 * coding.c (detect_coding_iso2022, setup_coding_system):
5351 Remove unused variable `i'.
315f5865
EZ
5352 (detect_coding_mask): Remove unused variable `idx'.
5353 (detect_coding): Remove unused variable `i'.
5354 (ccl_coding_driver): Remove unused variable `result'.
5355 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5356 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5357 (encode_coding_string): Remove unused variables `gcpro1' and
5358 `saved_coding_symbol'.
5359 (Ffind_coding_systems_region_internal): Remove function-local
5360 variable args[], leave only the block-local one.
5361 (code_convert_region1): Remove unused variable `len'.
5362
5363 * charset.c (char_printable_p): Remove unused variable `chars'.
5364 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5365 (str_to_multibyte): Remove unused variable `c'.
5366
5367 * window.c (size_window): Remove block-local variable `min_size'.
5368
5369 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5370 `header_line_height'.
5371 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5372 enum display_element_type.
5373
1a8a9daf
GM
53742001-01-02 Gerd Moellmann <gerd@gnu.org>
5375
6dde6abc 5376 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5377 statements that call X. Save away the error message in a local copy.
5378
1883b2c6
GM
5379 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5380 the start.
5381
a13be207
GM
5382 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5383 in or at the start of invisible text.
5384
1a8a9daf
GM
5385 * dispnew.c (update_window): Don't check_current_matrix_flags.
5386
3608c0f9
JR
53872001-01-01 Jason Rumney <jasonr@gnu.org>
5388
5389 * w32fns.c (x_figure_window_size): Do not allow new_height and
5390 new_width of frame to override specified values.
5391
abb1acc4
KH
53922000-12-30 Kenichi Handa <handa@etl.go.jp>
5393
52283633 5394 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5395
762a68ec
GM
53962000-12-29 Gerd Moellmann <gerd@gnu.org>
5397
52283633 5398 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5399 (update_window) [GLYPH_DEBUG]: Call it.
5400 (scrolling_window): Prevent including current rows which are below
5401 what's displayed in the window.
5402
5403 * xdisp.c (try_window_reusing_current_matrix)
5404 <new start <= old start>: Disable rows in the current matrix
5405 which are below the window after scrolling.
52283633 5406
762a68ec
GM
5407 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5408 is zero. It's not worth the complexity.
5409 (invisible_text_between_p): Put in #if 0 because unused.
5410
2d5912c1
GM
54112000-12-28 Gerd Moellmann <gerd@gnu.org>
5412
46f6a258
GM
5413 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5414 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5415
89f93679
GM
5416 * keyboard.c (echo_char): If C is an integer, always call
5417 push_key_description. Former code could signal an invalid
5418 character error.
5419
5420 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5421 If set, print multibyte text.
5422 (Fsingle_key_description): Call push_key_description with
5423 FORCE_MULTIBYTE set.
5424 (describe_buffer_bindings): Likewise.
5425
5426 * lisp.h (push_key_description): Add prototype.
5427
c06017fb
GM
5428 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5429 around the call to redisplay_internal.
5430
f1d2ce7f
GM
5431 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5432
2d5912c1
GM
5433 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5434
9371f831
KH
54352000-12-28 Kenichi Handa <handa@etl.go.jp>
5436
5437 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5438 (ccl_driver): New local variable `extra_bytes'.
5439
5440 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5441
52283633
SM
5442 * coding.c (setup_coding_system):
5443 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5444 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5445
0c80628a
KH
54462000-12-28 Kenichi Handa <handa@etl.go.jp>
5447
5448 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5449 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5450 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5451 (decode_composition_emacs_mule): New function.
5452 (decode_coding_emacs_mule): Decode composition sequence by calling
5453 decode_composition_emacs_mule.
5454 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5455 (encode_coding_emacs_mule): Changed from macro to function.
5456 If a text contains compositions, encode them correctly.
0c80628a
KH
5457 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5458 that decoding and encoding are required.
5459
3e32cc27
GM
54602000-12-27 Gerd Moellmann <gerd@gnu.org>
5461
5e25feee
GM
5462 * xfaces.c (PT_PER_INCH): New macro.
5463 (xlfd_point_size): Compute real point size from font's pixel size.
5464 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5465 instead of 72.
5466
892d8fcd
GM
5467 * .gdbinit: Comment out the line pointing to the Lesstif source
5468 directory.
5469
12c8b416
GM
5470 * window.c (Frecenter): Use displayed_window_lines instead
5471 of window_internal_height.
5472
6061fbf0
GM
5473 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5474 instead of x-toolkit-scroll-bars-p.
5475 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5476
5477 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5478 instead of x-toolkit-scroll-bars-p.
5479 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5480
3e32cc27
GM
5481 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5482 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5483 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5484 New variables.
5485 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5486 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5487 (build_frame_matrix_from_leaf_window): Remove unused code.
5488 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5489 redisplay history.
5490 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5491 (update_window) [GLYPH_DEBUG]: Likewise.
5492 (syms_of_display): Defsubr dump-redisplay-history.
5493
31798cfe
GM
54942000-12-23 Gerd Moellmann <gerd@gnu.org>
5495
f717c2ba
GM
5496 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5497 the end of the prompt. Set echo_after_prompt to the offset
5498 of echoptr in echobuf.
5499
aeb2b8fc
GM
5500 * xdisp.c (init_from_display_pos): Pop until the iterator's
5501 stack is empty; there may be frames for stretch or images
5502 on the stack.
5503
31798cfe
GM
5504 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5505 (save_or_restore_current_matrix): New function for the same
5506 purpose, but more efficient.
5507 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5508
f8156156
EZ
55092000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5510
5511 * xdisp.c (syms_of_xdisp): Fix last change.
5512
bdd6d4e8
GM
55132000-12-23 Gerd Moellmann <gerd@gnu.org>
5514
5515 * xdisp.c (syms_of_xdisp): Doc fix.
5516
5517 * xdisp.c (redisplay_window): Remove label restore_buffers;
5518 use finish_scroll_bars instead to make sure that scroll bars
5519 are redeemed. If we don't do this, flickering can result from
5520 scroll bars being destroyed and recreated.
5521
9436cdf9
JR
55222000-12-22 Jason Rumney <jasonr@gnu.org>
5523
5524 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5525 in the wrong colors when the foreground is not black.
5526 (expose_window): Don't redraw the window that's currently being
5527 updated.
5528
951f9df5
GM
55292000-12-22 Gerd Moellmann <gerd@gnu.org>
5530
856ff7a7
GM
5531 * window.c (size_window): When setting the window's too_small_ok
5532 flag, compare old size with minimum size depending on WIDTH_P,
5533 don't compare with window_min_width.
52283633 5534
951f9df5
GM
5535 * window.c (delete_window): Simplify somewhat.
5536 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5537 freeing window matrices. The flag windows_or_buffers_changed is
5538 set, so the next redisplay will consider all windows; this should
5539 suffice.
5540
886bc933
KH
55412000-12-22 Kenichi Handa <handa@etl.go.jp>
5542
5543 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5544
5545 * ccl.h (struct ccl_program): New member cr_consumed.
5546
5547 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5548 (CCL_READ_CHAR): Handle EOL conversion here.
5549 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5550
177f4e88
GM
55512000-12-21 Gerd Moellmann <gerd@gnu.org>
5552
52283633 5553 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5554
5555 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5556 otherwise tabs of different size compare equal.
5557
5558 * callint.c (Fcall_interactively): Prevent a compiler warning.
5559
5560 * print.c (print_unwind): Return nil.
5561 (PRINTDECLARE): Initialize all local variables.
5562 (print_preprocess): Add a default case.
5563
8e15274f
GM
5564 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5565
5566 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5567
52283633 5568 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5569 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5570
5571 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5572
5573 * dispnew.c (ensure_frame_matrix): Removed.
5574 (save_frame_matrix, restore_frame_matrix): New functions.
5575 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5576
5577 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5578 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5579
99012074
AI
55802000-12-21 Andrew Innes <andrewi@gnu.org>
5581
5582 * w32term.c (x_update_begin): Regenerate the palette here, rather
5583 than for each window.
5584
5585 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5586 palette is NULL, since this corrupts memory! Also get
5587 display_info reference from frame.
5588
29ef7d2d
JR
55892000-12-21 Jason Rumney <jasonr@gnu.org>
5590
5591 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5592
5593 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5594 to avoid returning without releasing it.
3e27fa1f 5595
3f9d67a6
KH
55962000-12-21 Kenichi Handa <handa@etl.go.jp>
5597
587fc3f9
KH
5598 * keymap.c (push_key_description): Don't convert eight-bit-control
5599 and eight-bit-graphic to multibyte character.
5600
3f9d67a6
KH
5601 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5602 generic character and CODE1 is nil, return the smallest character
5603 in CHARSET.
5604
774ba8c9
DL
56052000-12-20 Dave Love <fx@gnu.org>
5606
5607 * s/osf5-0.h (NSIG): Don't redefine.
5608
88416888
SM
56092000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5610
5611 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5612 excluding menu-bar and tool-bar.
5613 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5614 (menu_item_p): Remove.
5615 (where_is_internal_1): Don't ignore menu-items.
5616
a6426c6f
GM
56172000-12-20 Gerd Moellmann <gerd@gnu.org>
5618
03ff8aab
GM
5619 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5620 into account.
5621
5622 * window.c (make_window): Initialize window's min_hscroll.
5623 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5624 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5625 to zero.
5626 (struct saved_window): New member min_hscroll.
5627 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5628 (Fset_window_configuration): Set window's min_hscroll.
5629 (save_window_save): Save window's min_hscroll.
5630 (compare_window_configurations): Compare min_hscroll values.
5631
5632 * window.h (struct window): New member min_hscroll.
5633
5634 * keyboard.c (echo_prompt): Prevent a compiler warning.
5635
8de4aaf8
GM
5636 * xdisp.c (try_cursor_movement): Fix last change. The real
5637 condition is that PT is at the end of the row, and should
5638 be displayed at the start of the next row.
52283633 5639
3f7e3031
GM
5640 * xdisp.c (try_cursor_movement): If we end on a partially
5641 visible line, end we already decided to scroll, return -1.
5642
a6426c6f
GM
5643 * dispextern.h (ensure_frame_matrix): Add prototype.
5644
5645 * window.c (delete_window, Fsplit_window)
5646 (Fset_window_configuration): Call ensure_frame_matrix.
5647
52283633
SM
5648 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5649 New functions.
a6426c6f
GM
5650 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5651 completed, call fake_current_matrices instead of marking frame
5652 garbaged.
5653
57fa2774
JR
56542000-12-20 Jason Rumney <jasonr@gnu.org>
5655
5656 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5657
d925df90
EZ
56582000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5659
5660 * fns.c (Frequire): Doc fix.
5661
7b93a85b
GM
56622000-12-19 Gerd Moellmann <gerd@gnu.org>
5663
52283633 5664 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5665
c74e645b
GM
5666 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5667 currently displaying a message.
5668
7b93a85b
GM
5669 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5670 xterm.h.
5671 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5672
90d97e64
AI
56732000-12-18 Andrew Innes <andrewi@gnu.org>
5674
5675 * w32.c (w32_strerror): New function.
5676
5677 * w32.h (w32_strerror): New extern.
5678
5679 * w32fns.c (Fw32_shell_execute): Use it.
5680
91c9e6ce
GM
56812000-12-18 Gerd Moellmann <gerd@gnu.org>
5682
5683 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5684
6f4745e2
EZ
56852000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5686
5687 * msdos.c (IT_set_face): Obey inverse_video.
5688
c9e088ce
KH
56892000-12-18 Kenichi Handa <handa@etl.go.jp>
5690
5691 * dired.c (directory_files_internal): Always return decoded filenames.
5692
c3695f5f
GM
56932000-12-18 Gerd Moellmann <gerd@gnu.org>
5694
52d8e4ff
GM
5695 * xterm.c (x_connection_closed): Prevent being called recursively
5696 because of an error condition in XtCloseDisplay.
52283633 5697
62be9979
GM
5698 * xdisp.c (init_iterator): If noninteractive, and the frame's
5699 face cache is null, make one.
5700
52283633 5701 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5702
c3695f5f
GM
5703 * process.c (wait_reading_process_input): Check for pending
5704 input when running timers.
5705
78555fbe
EZ
57062000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5707
52283633 5708 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5709
b2b36264
KH
57102000-12-18 Kenichi Handa <handa@etl.go.jp>
5711
5712 * process.c (read_process_output): Don't run a filter if the code
5713 decoder produces nothing but carryover.
5714
9c543fbf
AI
57152000-12-17 Andrew Innes <andrewi@gnu.org>
5716
5717 * w32.c (sys_rename): Only check errno against EEXIST, and not
5718 EACCES, when determining whether rename failed because the target
5719 exists. This was resulting in indefinite looping on Windows 9x if
5720 the source file was locked by another process.
5721
5722 * w32fns.c (Ffile_system_info): New function.
5723 (syms_of_w32fns): Defsubr it.
5724
10c2b5a8
GM
57252000-12-17 Gerd Moellmann <gerd@gnu.org>
5726
b0228ace
GM
5727 * window.c (coordinates_in_window): Fix computation for
5728 position on vertical line between mode lines.
5729
10c2b5a8
GM
5730 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5731 Don't alter tip_frame or tip_window.
5732 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5733 was deleted.
5734
c844a81a
GM
5735 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5736 Don't alter tip_frame or tip_window.
5737 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5738 was deleted.
5739
6c825f8e
EZ
57402000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5741
5742 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5743 be consistent with the doc string. Reported by NAKAJIMA Mikio
5744 <minakaji@osaka.email.ne.jp>.
5745
af4bb4c8
KH
57462000-12-16 Kenichi Handa <handa@etl.go.jp>
5747
5748 * xfaces.c (Vface_ignored_fonts): New variable.
5749 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5750 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5751
8062e53a
GM
57522000-12-15 Gerd Moellmann <gerd@gnu.org>
5753
e87b8809
GM
5754 * dispnew.c (update_window): Detect pending input every nth line
5755 updated, i.e. do it depending on real work done, and not on the
5756 vpos of the line.
5757
5758 * xterm.c (expose_window): Don't redraw the window that's
5759 currently being updated.
5760
a6768cc5
GM
5761 * window.c (Fset_window_point): Remove test for
5762 cursor_in_non_selected_windows.
5763
4ea7fdca
GM
5764 * lread.c (read1): Recognize end of file after `\\'.
5765
8062e53a
GM
5766 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5767 not unwind_create_frame.
5768
bb7959c1
GM
57692000-12-15 Dave Love <fx@gnu.org>
5770
5771 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5772 bcopy & al.
5773
5774 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5775
ced04c42
KH
57762000-12-15 Kenichi Handa <handa@etl.go.jp>
5777
c5443913
KH
5778 * coding.c (setup_coding_system): Clear all members of the struct
5779 coding_system at first.
bc137305
KH
5780 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5781 argument.
5782 (code_convert_region): Don't override coding->src_multibyte and
5783 coding->dst_multibyte.
c5443913 5784
ced04c42
KH
5785 * fns.c (Fmd5): Docstring improved.
5786
c2d7f289
MB
57872000-12-15 Miles Bader <miles@gnu.org>
5788
5789 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5790 are actually marked as mode-lines; otherwise use
5791 estimate_mode_line_height.
5792
9d7d9263
GM
57932000-12-14 Gerd Moellmann <gerd@gnu.org>
5794
5795 * editfns.c (Fformat): Prevent a buffer overrun when the format
5796 specifies a precision.
5797
7cf0153a
EZ
57982000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5799
5800 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5801 argument is outside the range [2..3].
5802
1de0f662
AI
58032000-12-14 Andrew Innes <andrewi@gnu.org>
5804
5805 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5806 nothing to do. Bind inhibit-quit.
5807 (tip_frame): Make it a Lisp_Object.
5808 (x_create_tip_frame): Set tip_frame after it has been added to
5809 Vframe_list.
5810 (Fx_show_tip): Don't set tip_frame here.
52283633 5811 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5812 (unwind_create_frame, unwind_create_tip_frame): New functions.
5813 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5814 while a frame is only partially constructed.
5815
5816 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5817 (x_free_frame_resources): New function.
5818 (x_destroy_window): Use it.
5819
02387dcc
GM
58202000-12-14 Gerd Moellmann <gerd@gnu.org>
5821
5822 * xfns.c (Fx_backspace_delete_keys_p): New function.
5823 (syms_of_xfns): Defsubr it.
5824
5825 * config.in (HAVE_XKBGETKEYBOARD): Add.
5826
0544ef49
KH
58272000-12-14 Kenichi Handa <handa@etl.go.jp>
5828
98d62747
KH
5829 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5830 Always store string in multibyte representation in echobuf.
5831 (echo_char): Always store string in multibyte representation in
5832 echobuf.
5833 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5834 (read_key_sequence): Adjusted for the change of echo_prompt.
5835
a20193cd
KH
5836 * fns.c (Fmd5): Docstring improved.
5837
191b83b6
KH
5838 * lisp.h (detect_coding_system): Prototype adjusted.
5839
0544ef49
KH
5840 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5841 (detect_coding_emacs_mule, detect_coding_iso2022,)
5842 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5843 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5844 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5845 (detect_coding_mask, detect_coding_system): New argument
5846 MULTIBYTEP. Callers changed.
1da1bb05
KH
5847 (decode_coding_string): Set coding->src_multibyte and
5848 coding->dst_multibyte before calling detect_coding and detect_eol.
5849 Update them after some coding system is detected.
52283633 5850
d5b3eb1b
SM
58512000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5852
5853 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5854
5855 * keyboard.c (menu_bar_items, tool_bar_items):
5856 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5857
f7f8bb69
GM
58582000-12-13 Gerd Moellmann <gerd@gnu.org>
5859
52283633 5860 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5861 New variables.
5862 (unwind_create_frame, unwind_create_tip_frame): New functions.
5863 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5864 while a frame is only partially constructed.
5865
5866 * xterm.h (x_free_frame_resources): Declare.
5867
5868 * xterm.c (x_free_frame_resources): New function.
5869 (x_destroy_window): Use it.
5870
e10da507
GM
5871 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5872 don't interrupt the update for pending input initially, i.e.
5873 update at least some lines.
5874
5875 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5876
d5b3eb1b 5877 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5878
5879 * xfns.c (gray_bitmap_bits): Declare `char *'.
5880
90aa2856
GM
58812000-12-12 Gerd Moellmann <gerd@gnu.org>
5882
5883 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5884 lines start with a relief line.
5885
a308c9cd
DL
58862000-12-12 Dave Love <fx@gnu.org>
5887
5888 * window.c (Fdisplay_buffer): Doc fix.
5889 (Fwindow_list): Remove unused var.
5890
5891 * buffer.h (mmap_set_vars): Declare.
5892
5893 * window.h (Fset_window_point): Declare.
5894
d575011f
EZ
58952000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5896
bf6282d2 5897 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5898 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5899 variable `area'. When looking for a row under (X,Y), give up if some
5900 of the previous rows is not enabled.
d575011f 5901
ecf4d726
GM
59022000-12-12 Gerd Moellmann <gerd@gnu.org>
5903
2ebf6139
GM
5904 * window.c (Fset_window_point): If displaying cursors in windows
5905 other than the selected window, make sure redisplay updates
5906 other windows to show the new value of point in the window.
5907
5908 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5909
bfdb75ee
GM
5910 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5911 the buffer is the sole visible buffer when in the mini-buffer.
5912
52283633 5913 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5914 Bind `inhibit-read-only' to t.
5915 (unwind_with_echo_area_buffer): Use AREF.
5916
c0006262
GM
5917 * xfns.c (Fx_hide_tip): Simplified.
5918
52283633
SM
5919 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5920 instead of `1'.
e9a59cad 5921
ecf4d726
GM
5922 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5923
e5959a9a
GM
59242000-12-11 Gerd Moellmann <gerd@gnu.org>
5925
a3642e49 5926 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5927
44b5a125
GM
5928 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5929 nothing to do. Bind inhibit-quit.
5930 (tip_frame): Make it a Lisp_Object.
5931 (x_create_tip_frame): Set tip_frame after it has been added to
5932 Vframe_list.
5933 (Fx_show_tip): Don't set tip_frame here.
5934
5935 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5936
5937 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5938 Lisp_Object.
5939
5940 * dispextern.h: Change external declaration of tip_frame.
5941
d990421f
GM
5942 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5943 return an empty string.
5944
4db87380
GM
5945 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5946 of the window's update_mode_line flag, since the former is set by
5947 force-mode-line-update, not the latter. This makes
5948 column-number-mode slightly faster.
52283633 5949
e5959a9a
GM
5950 * xdisp.c (try_window_id) <all changes above window start>:
5951 Set the cursor.
5952
169fe44e
GM
59532000-12-11 Paul Eggert <eggert@twinsun.com>
5954
5955 * config.in (HAVE_FTELLO): Remove.
5956 (HAVE_FSEEKO): Add.
5957 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5958 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5959 HAVE_FTELLO.
5960 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5961 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5962
59ec59ae
MB
59632000-12-11 Miles Bader <miles@gnu.org>
5964
5965 * window.c (displayed_window_lines): Don't round up when
5966 converting empty space at bottom to lines.
ff904dd6
MB
5967 Handle non-newline-terminated final lines properly.
5968 (Fwindow_text_height): New function (used to be in lisp).
5969 (syms_of_window): Initialize it.
59ec59ae 5970
42ebfa31
SM
59712000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5972
5973 * syntax.c (scan_lists): Check that the right quote char has the
5974 right Sstring syntax when jumping over strings.
5975 (init_syntax_once): Use Smax rather than 13.
5976
5cdb3cf3
MB
59772000-12-09 Miles Bader <miles@gnu.org>
5978
5979 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5980 with PARTIALLY, inverting the sense.
5981 (window_scroll_pixel_based): Scroll partially visible lines into
5982 place if we hit the beginning or end of the buffer.
a12167c5
MB
5983 (displayed_window_lines): Don't include partially visible lines.
5984 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5985
842b2a94
GM
59862000-12-08 Gerd Moellmann <gerd@gnu.org>
5987
5988 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5989
5990 * tparam.c (tparam1): Change the way buffers are reallocated to be
5991 portable and less obfuscated.
5992
5993 * termcap.c (tgetent): Change the way buffers are reallocated to
5994 be portable and less obfuscated.
5995
5996 * macros.c (store_kbd_macro_char): Change the way buffers are
5997 reallocated to be portable and less obfuscated.
5998
5999 * lread.c (read1): Change the way buffers are reallocated to be
6000 portable and less obfuscated.
6001
6002 * doc.c (Fsubstitute_command_keys): Change the way buffers
6003 are reallocated so that it is portable.
6004
137cad7c
EZ
60052000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6006
6007 * dosfns.c (Ffile_system_info): New function.
6008 (syms_of_dosfns): Defsubr it.
6009
5c7f629c
SM
60102000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6011
6012 * alloc.c (gc_sweep): Add comment.
6013
959e647d
GM
60142000-12-07 Gerd Moellmann <gerd@gnu.org>
6015
52283633
SM
6016 * sound.c (vox_configure): Change order of ioctls.
6017 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6018 Ignore errors when changing volume.
6019 (vox_close): Don't reset the device.
6020
926b7e5e
GM
6021 * process.c (read_process_output): Make sure the process marker's
6022 position is valid when the process buffer is changed in
6023 after-change functions. W3 does that.
52283633 6024
959e647d
GM
6025 * xfns.c (x_free_gcs): New function.
6026
6027 * xterm.h (x_free_gcs): Add prototype.
6028
6029 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6030 freeing GCs here.
6031
6032 * xterm.c (x_destroy_window): Call x_free_gcs so that
6033 resources of non-toolkit X windows will be freed.
6034
478ea067
AI
60352000-12-07 Andrew Innes <andrewi@gnu.org>
6036
6037 * w32fns.c (xlfd_charset_of_font): Fix last change.
6038
fbee3231
DL
60392000-12-06 Dave Love <fx@gnu.org>
6040
67292061
DL
6041 * md5.h (__P): Don't define -- it comes from config.h.
6042
fbee3231
DL
6043 * strftime.c: Change some #if foo to #ifdef foo.
6044
4ee87dbb
AI
60452000-12-06 Andrew Innes <andrewi@gnu.org>
6046
6047 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6048
52283633 6049 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6050 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6051 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6052
9765b4a4
GM
60532000-12-06 Gerd Moellmann <gerd@gnu.org>
6054
d285b373
GM
6055 * alloc.c (gc_sweep): Prevent symbols read during loadup
6056 from being freed.
6057
384333ee
GM
6058 * xdisp.c (underlying_face_id): New function.
6059 (handle_face_prop, face_before_or_after_it_pos): Use it
6060 to determine the face ``under'' a string. Let strings inherit
6061 the face of the buffer under them.
6062
6063 * xfaces.c (face_at_string_position): Update function comment.
52283633 6064
d4b72d58
GM
6065 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6066 matrix if the window's left position has changed; we need to
6067 redraw it in this case.
6068
6069 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6070
e1d05387
GM
6071 * window.c (coordinates_in_window): Check mouse on mode-line or
6072 header-line first.
6073
eb1b0c74
GM
6074 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6075 advertized by the function documentation.
6076
d94d636f
GM
6077 * window.c (syms_of_window): Doc fix.
6078
3887b449
GM
6079 * sound.c (vox_configure): Set volume for left and right channel.
6080 (sound_cleanup): Return nil.
6081
efc8f57a
GM
6082 * xdisp.c (move_it_by_lines): Fix paren typo.
6083
9765b4a4
GM
6084 * xterm.c (x_load_font): Don't use the font's max_bounds for
6085 computing the height of the font. If max_bounds' ascent or
6086 descent are greater than the font's ascent or descent, this means
6087 glyphs overlap, which should be handled now by redisplay.
6088
6529ed87
GM
6089 * window.c (Veven_window_heights): New variable.
6090 (syms_of_window): DEFVAR_LISP it.
6091 (Fdisplay_buffer): Check Veven_window_heights before evening the
6092 window heights.
52283633 6093
0eb2ecde
MB
60942000-12-06 Miles Bader <miles@gnu.org>
6095
6096 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6097 update `default-frame-alist' instead of setting no frame parameters.
6098
03d7a167
KH
60992000-12-06 Kenichi Handa <handa@etl.go.jp>
6100
6101 * composite.c (update_compositions): Fix typo (use the correct
6102 variable).
6103
5f8803c2
JR
61042000-12-05 Jason Rumney <jasonr@gnu.org>
6105
6106 * md5.h: Remove underscores from function declarations.
6107 (__attribute__, __alignof__) [!__GNUC__]: Define.
6108
6109 * md5.c: Delay include of md5.h until after namespace cleaning.
6110
c28a075b
JR
6111 * makefile.w32-in (fns.o): Depend on md5.h
6112 (md5.o): New target.
6113 (sunfns.o): Remove.
6114
6115 * makefile.nt: Likewise.
6116
ff3c7056
JR
61172000-12-05 Jason Rumney <jasonr@altavista.net>
6118
6119 * w32term.c (expose_area): Complete last change.
6120
0c21eeeb
KR
61212000-12-05 Ken Raeburn <raeburn@gnu.org>
6122
6123 * minibuf.c: Include intervals.h.
6124
f201d732
JR
61252000-12-05 Jason Rumney <jasonr@gnu.org>
6126
6127 * w32term.c (x_produce_glyphs): If a font for a component of
6128 a composition is not found, use 1 pixel dot ascent and 0 dot
6129 descent value to avoid displaying terribly tall empty boxes.
6130 (expose_area): Pass x-coordinate relative to the exposed
6131 area to x_draw_glyphs instead of a window-relative coordinate.
6132
21999ab9
GM
61332000-12-05 Gerd Moellmann <gerd@gnu.org>
6134
4d2036e4
GM
6135 * xdisp.c (next_element_from_ellipsis): Save face before selective
6136 display in saved_face_id, and set face_before_selective_p.
6137 (reseat_1): Reset face_before_selective_p.
6138 (append_space, extend_face_to_end_of_line): If iterator's
6139 face_before_selective_p is set, use the face from saved_face_id.
6140 (extend_face_to_end_of_line): For tty frames, make sure to
6141 use the right face id when producing spaces at the end of
6142 the line.
6143
6144 * dispextern.h (struct it): Add face_before_selective_p.
6145
52be17cc
GM
6146 * keyboard.c (record_char): Don't record identical help-echo
6147 events in recent_keys.
6148
8a4f36cc
GM
6149 * xterm.c [USE_X_TOOLKIT]: Close the display.
6150 (xim_close_dpy): Handle case that the display has been closed.
6151
57d6e381
GM
6152 * xterm.c (x_destroy_window): Reset the frame's X window after
6153 destroying it.
6154
21999ab9
GM
6155 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6156 variable window_width.
6157 (line_draw_cost): Fix code skipping over spaces at the end of the
6158 line when must_write_spaces is not set.
6159 (scrolling_window): Fix code inserting runs in list of all runs.
6160
91372bb7
KH
61612000-12-05 Kenichi Handa <handa@etl.go.jp>
6162
6163 * coding.c (setup_coding_system): Be sure to initialize
6164 coding->category_idx.
6165
6c083b4c
GM
61662000-12-04 Gerd Moellmann <gerd@gnu.org>
6167
0c68ce6f 6168 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6169
6452929e
GM
6170 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6171 area to x_draw_glyphs instead of a window-relative coordinate.
6172
d7f31e22
GM
6173 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6174 error in the message.
6175
ae18aa3b
GM
6176 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6177 timer after having read a key. It's not good for code reading
6178 several keys in a loop, like an input method.
6179
caa15ef7
GM
6180 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6181 record undo information for format-decode.
6182
6183 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6184 current buffer is read-only, not if it isn't.
6185
6c083b4c
GM
6186 * keyboard.c (record_char): Record `help-echo' input events
6187 in recent_keys only if they display some help. Don't record
6188 `help-echo' events as macro char.
6189
caa15ef7
GM
61902000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6191
6192 * editfns.c (save_excursion_restore): Don't move point
6193 in another window if it is showing the wrong buffer.
6194 Avoid the call to Fwindow_live_p, for speed.
6195
5a13529b
KH
61962000-12-04 Kenichi Handa <handa@etl.go.jp>
6197
e225faa7
KH
6198 * xfaces.c (struct font_name): New member registry_priority.
6199 (split_font_name): Initialize the above member to zero.
6200 (concat_font_list): New function.
6201 (font_list): Include fonts of all alternative registries.
6202 (FONT_POINT_SIZE_QUANTUM): New macro.
6203 (better_font_p): Ignore point size difference less than
6204 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6205
e89648b4
KH
6206 * xterm.c (x_produce_glyphs): If a font for a component of
6207 a composition is not found, use 1 pixel dot ascent and 0 dot
6208 descent value to avoid displaying terribly tall empty boxes.
6209
5a13529b
KH
6210 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6211
d7935eb6
KR
62122000-12-03 Ken Raeburn <raeburn@gnu.org>
6213
6214 * coding.h (code_convert_string1): Declare.
6215
6216 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6217
52283633 6218 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6219
0dd5e255
JR
62202000-12-02 Jason Rumney <jasonr@gnu.org>
6221
6222 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6223 correctly for single byte character case.
6224 (w32_per_char_metric): Do not try to make any assumptions about
6225 the metrics of BDF fonts.
250cfece 6226 (x_estimate_mode_line_height): If `mode-line' face
52283633 6227 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6228 (note_mouse_highlight): Change the cursor shape on the vertical
6229 border between windows [not enabled].
6230
6231 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6232
6233 * w32fns.c (Fx_create_frame): Reintroduce the call to
6234 face-set-after-frame-defaults.
6235 (Vx_window_horizontal_drag_shape): New variable.
6236 (syms_of_xfns): DEFVAR_LISP it.
6237 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6238 enabled].
0dd5e255 6239
b5d8d2ca
GM
62402000-12-02 Simon Josefsson <simon@josefsson.org>
6241
6242 * fns.c (Fmd5): Use a different logic to decide the coding system
6243 to use.
6244
6245 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6246
fbb87147
EZ
62472000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6248
52283633 6249 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6250
447e9da0
GM
62512000-12-01 Gerd Moellmann <gerd@gnu.org>
6252
7708ced0
GM
6253 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6254 height for YNegative.
6255 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6256 height; also see comment there.
6257
447e9da0
GM
6258 * window.c (coordinates_in_window): Handle computations for
6259 positions on the vertical bar and fringes differently for
6260 window-system frames. Consider some pixels near the vertical bar
6261 as on the bar if the frame doesn't have vertical scroll bars.
6262 Associate positions between mode or header lines with the
6263 right window, the left one.
6264
86d1db20
JR
62652000-12-01 Jason Rumney <jasonr@gnu.org>
6266
6267 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6268
6269 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6270 invalid frame.
6271
a1d58e5b
GM
62722000-12-01 Gerd Moellmann <gerd@gnu.org>
6273
52283633 6274 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6275 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6276 (save_window_save, Fset_window_configuration): Save/restore
6277 window's orig_top and orig_height.
6278
89c609af
JR
62792000-12-01 Jason Rumney <jasonr@gnu.org>
6280
4d177746 6281 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6282
89c609af
JR
6283 * w32fns.c (x_set_cursor_color): Fix last change.
6284
eccc05db
GM
62852000-11-30 Gerd Moellmann <gerd@gnu.org>
6286
31b6671b
GM
6287 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6288 sure that the next redisplay displays the minibuffer, so that
6289 the cursor will be replaced with what the minibuffer wants.
6290
eccc05db
GM
6291 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6292 #ifndef instead of using #if.
6293 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6294 USE_TOOLKIT_SCROLL_BARS is defined.
6295
162de750
JR
62962000-11-30 Jason Rumney <jasonr@gnu.org>
6297
6298 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6299 x_display_cursor.
6300
693c4692
GM
63012000-11-30 Gerd Moellmann <gerd@gnu.org>
6302
6303 * fns.c (Fmd5): Doc fix.
6304
b5d8d2ca 63052000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6306
6307 * fns.c (Fmd5): New function.
6308 (syms_of_fns): Defsubr md5.
6309
6310 * Makefile.in (obj): Add md5.o
6311
b02cd40b
GM
63122000-11-30 Gerd Moellmann <gerd@gnu.org>
6313
edfb795e
GM
6314 * md5.h, md5.c: New files, taken from glibc.
6315
df3aedcf
GM
6316 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6317
b02cd40b 6318 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6319 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6320
8b5176cd
SM
63212000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6322
6323 * eval.c (Frun_hooks): Allow 0 arguments.
6324
346598f1
GM
63252000-11-29 Gerd Moellmann <gerd@gnu.org>
6326
f9396e03
GM
6327 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6328 is over the menu bar widget, say it's not on the frame.
6329
4a967a9b
GM
6330 * xfns.c (Fx_create_frame): Reintroduce the call to
6331 face-set-after-frame-defaults.
6332
346598f1
GM
6333 * eval.c (Fsignal): Reset handling_signal.
6334
222456a1
JR
63352000-11-28 Jason Rumney <jasonr@gnu.org>
6336
6337 * w32menu.c (add_menu_item): Reset menu item text when changing
6338 type to radio button.
6339
8049ddc0
GM
63402000-11-28 Gerd Moellmann <gerd@gnu.org>
6341
346598f1 6342 * xselect.c: Update copyright.
f4f4ee4d 6343
bebe4a2c
GM
6344 * window.c (coordinates_in_window): If on a mode or header line,
6345 but sufficiently close to its start, return ``on vertical
6346 border''. This gives us a way to drag windows horizontally when
6347 using toolkit scroll bars.
6348
6349 * xterm.c (note_mouse_highlight): Change the cursor shape
6350 on the vertical border between windows.
6351
6352 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6353
6354 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6355 (syms_of_xfns): DEFVAR_LISP it.
6356 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6357
8d2c2642
GM
6358 * textprop.c (text_read_only): New function.
6359 (verify_interval_modification): Use it instead of signaling
6360 `text-read-only'. This makes it easier to catch this error
52283633 6361 with a breakpoint.:
8d2c2642 6362
52283633 6363 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6364 not end of line, which includes CR.
6365
5a2bae6c
KH
63662000-11-28 Kenichi Handa <handa@etl.go.jp>
6367
6368 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6369 include no-conversion.
6370
ae31f84d
JR
63712000-11-27 Jason Rumney <jasonr@gnu.org>
6372
6373 * w32fns.c (w32_load_system_font): Always mark font as double byte
6374 if codepage is unicode.
6375
67f1cf4c
GM
63762000-11-27 Gerd Moellmann <gerd@gnu.org>
6377
4a74d071 6378 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6379 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6380
902ae620
GM
6381 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6382 `vertical-line', `mode-line' and `header-line' events.
6383
6384 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6385 of a character, a TAB for instance. This is easier than to set
6386 up the iterator exactly, and it's not a frequent case, so the
6387 additional effort wouldn't really pay off.
6388
c1e279c2
AC
63892000-11-26 Andrew Choi <akochoi@i-cable.com>
6390
67f1cf4c 6391 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6392 init_window_once.
6393
a609568a
JR
63942000-11-25 Jason Rumney <jasonr@gnu.org>
6395
52283633
SM
6396 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6397 Args to window_from_coordinates should be pixel coordinates.
48b21762 6398
a609568a
JR
6399 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6400 redisplay handles them properly.
6401
a658d039
MB
64022000-11-25 Miles Bader <miles@gnu.org>
6403
6404 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6405
d3416cca
JR
64062000-11-24 Jason Rumney <jasonr@gnu.org>
6407
6408 * w32.c (init_environment): Set LANG environment variable based on
6409 locale settings, if not set.
6410
6411 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6412 making tool bar smaller. When clearing the frame, also
6413 clear current matrices. Clear frame when tool bar disappears.
6414 Don't use more lines for the tool-bar than is available.
6415 (x_change_window_heights): New function.
6416
ba193890
GM
64172000-11-24 Gerd Moellmann <gerd@gnu.org>
6418
2be8f184
GM
6419 * xdisp.c (init_from_display_pos): If POS says we're already after
6420 an overlay string ending at POS, make sure to pop the iterator
6421 because it will be in front of that overlay string. When POS is
6422 ZV, we've thereby also ``processed'' overlay strings at ZV.
6423
ba193890
GM
6424 * xfaces.c (lface_from_face_name): Function comment fix.
6425
1862a24e
MB
64262000-11-24 Miles Bader <miles@gnu.org>
6427
6428 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6429 apply `mode-line-inverse-video' -- zero means force display using
6430 the default face, non-zero means display using the specialized face.
6431 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6432
f07fa1b8
KH
64332000-11-23 Kenichi Handa <handa@etl.go.jp>
6434
6435 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6436 hard coded `4'.
6437
2bcdf662
EZ
64382000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6439
6440 * coding.c (decode_coding_emacs_mule): Fix the case of
6441 CODING_EOL_LF, which used uninitialized value of c.
6442
ba8299ff
SM
64432000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6444
6445 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6446
f4117c4d
GM
64472000-11-22 Gerd Moellmann <gerd@gnu.org>
6448
03e757c1
GM
6449 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6450 buffer object.
6451
f4117c4d
GM
6452 * frame.h (struct frame): Replace desired_tool_bar_items,
6453 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6454 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6455
6456 * frame.c (make_frame): Change initialization of tool bar
6457 items accordingly.
6458
6459 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6460 Change references to members deleted from struct frame to use the
f4117c4d
GM
6461 new ones.
6462
6463 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6464 references to members deleted from struct frame to use the new ones.
f4117c4d 6465
52283633 6466 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6467
6468 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6469
6470 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6471 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6472 from struct frame to use the new ones.
6473
f8e2f3f2
MB
64742000-11-23 Miles Bader <miles@gnu.org>
6475
6476 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6477 the face's inverse-video attribute, rather than overriding it.
6478
60e8e0a5
GM
64792000-11-22 Gerd Moellmann <gerd@gnu.org>
6480
6481 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6482 making tool bar smaller.
6483
92dd1b29
DL
64842000-11-22 Dave Love <fx@gnu.org>
6485
6486 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6487
e672fdce
MB
64882000-11-22 Miles Bader <miles@gnu.org>
6489
3a17d6cc
MB
6490 * keyboard.c (Vminibuffer_message_timeout): New variable.
6491 (command_loop_1): Use it to determine message timeout.
6492 (syms_of_keyboard): Initialize it.
6493
60e8e0a5 6494 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6495
e9655d81
KH
64962000-11-22 Kenichi Handa <handa@etl.go.jp>
6497
6498 * sysdep.c: Move the code for declaring h_errno after #include
6499 <netdb.h>.
6500
77270fac
GM
65012000-11-21 Gerd Moellmann <gerd@gnu.org>
6502
cd913aae
GM
6503 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6504 the menu bar when the tooltip is unmapped.
6505
77270fac
GM
6506 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6507 sole visible buffer when we're currently in the mini-buffer, and
6508 give up if so.
52283633 6509
556635d6
JR
65102000-11-21 Jason Rumney <jasonr@gnu.org>
6511
6512 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6513 put on the clipboard.
6514 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6515 copy of what Emacs last put there. If they are the same, do not
52283633 6516 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6517
5b7bde64
MB
65182000-11-22 Miles Bader <miles@gnu.org>
6519
6520 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6521 (syms_of_minibuf): Initialize it.
6522 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6523 to prompt, don't make read-only.
6524
ff23e1dd
GM
65252000-11-21 Gerd Moellmann <gerd@gnu.org>
6526
52283633
SM
6527 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6528 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6529
7aaf4388
GM
6530 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6531
f5f47add 6532 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6533
ff23e1dd
GM
6534 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6535
37c35586
KH
65362000-11-21 Kenichi Handa <handa@etl.go.jp>
6537
6538 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6539 ... #endif scope.
6540
ff9ab414
GM
65412000-11-20 Gerd Moellmann <gerd@gnu.org>
6542
52283633 6543 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6544 screen supports it.
6545
29a01b72
GM
6546 * s/gnu-linux.h: Don't use `#cpu'.
6547
09dfdf85
GM
6548 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6549 not defined in mman.h.
6550
52283633 6551 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6552 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6553 and store an index in the XClientMessageEvent. Storing a
6554 Lisp_Object or pointer can fail on a 64 bit system, since X only
6555 transfers 32 bits.
52283633
SM
6556 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6557
81459ac9
DL
65582000-11-20 Dave Love <fx@gnu.org>
6559
6560 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6561
56c13ae6
GM
65622000-11-20 Gerd Moellmann <gerd@gnu.org>
6563
6564 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6565
495a6df3
KH
65662000-11-20 Kenichi Handa <handa@etl.go.jp>
6567
2bcf3714
KH
6568 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6569 by WIDTH.
6570
495a6df3
KH
6571 * alloc.c (make_string): Fix previous change. Be sure to make
6572 unibyte string correctly.
6573
6d950f4c
GM
65742000-11-19 Gerd Moellmann <gerd@gnu.org>
6575
39b39373
GM
6576 * window.c (Fwindow_list): Change parameter list to be XEmacs
6577 compatible.
6578 (window_list_1): New function.
6579 (window_loop): Use it instead of Fwindow_list.
6580
b95b34e5
GM
6581 * sysdep.c (emacs_ospeed): New variable.
6582 (toplevel): Don't declare ospeed extern.
6583 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6584
6585 * termcap.c (ospeed): Remove.
6586 (tputs) [!emacs]: Remove unused code.
6587 (tgetent): Avoid a compiler warning.
6588
e83dc917
GM
6589 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6590 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6591 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6592
6593 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6594 removed.
6595 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6596 Take the X display as additional argument.
6597 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6598 `Widget' is a pointer type that's not easily stored in Lisp_Object
6599 form in a portable way.
52283633 6600
6d950f4c
GM
6601 * dispnew.c (update_text_area): Fix last change.
6602
e47306e6
GM
66032000-11-18 Gerd Moellmann <gerd@gnu.org>
6604
fb3cd89b
GM
6605 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6606
6607 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6608 clear current matrices.
6609
edaa9aed
GM
6610 * buffer.c (mmap_enlarge): Don't print a message on stderr
6611 if mapping new memory at the end of the existing region fails.
6612
e47306e6
GM
6613 * dispnew.c (update_text_area): Don't skip over equal glyphs
6614 when the last current glyph overlaps the glyph to its right.
6615
509633e3
MB
66162000-11-18 Miles Bader <miles@gnu.org>
6617
6618 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6619 lines that *end* with "..." too (that's the most common case!).
6620
d392e9c5
GM
66212000-11-18 Gerd Moellmann <gerd@gnu.org>
6622
67988445
GM
6623 * xdisp.c (resize_mini_window): Temporarily change to the
6624 mini-window's buffer if necessary.
1bfdbe43 6625
d392e9c5
GM
6626 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6627 the tooltip obscures less text under it.
6628
66292000-11-17 Gerd Moellmann <gerd@gnu.org>
6630
6631 * puresize.h (BASE_PURESIZE): Increase to 700000.
6632
92bb977f
JR
66332000-11-18 Jason Rumney <jasonr@gnu.org>
6634
6635 * w32term.c (w32_draw_bitmap): Use face to set colors.
6636
26fbf20b
DL
66372000-11-17 Dave Love <fx@gnu.org>
6638
6639 * lread.c (Fload): Fix #ifdef for pcc.
6640
100b593b
GM
66412000-11-17 Gerd Moellmann <gerd@gnu.org>
6642
6643 * xdisp.c (pos_visible_p): Compute the default character height
6644 differently.
6645
a288d0d1
GM
66462000-11-16 Gerd Moellmann <gerd@gnu.org>
6647
cac94de6 6648 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6649 knowing the line's height; use the default font's height in that case.
cac94de6 6650
a288d0d1
GM
6651 * xfaces.c (weight_table): Add `demi' with the same meaning as
6652 `demibold'.
6653
981fb6f6
KH
66542000-11-16 Kenichi Handa <handa@etl.go.jp>
6655
2cca872d 6656 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6657 (clear_glyph_row): Delete local static variable null_row.
6658
e5fa381b
JR
66592000-11-15 Jason Rumney <jasonr@gnu.org>
6660
6661 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6662 (w32_alloc_lighter_color): Use new brightness calculations from
6663 xterm.c. Scale delta to be in the range expected by W32.
6664 (w32_draw_relief_rect): Use frame relief colors.
6665
8e42f043
GM
66662000-11-15 Gerd Moellmann <gerd@gnu.org>
6667
6d133d1f
GM
6668 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6669 (Qinhibit_default_face_x_resources): New variable.
6670 (syms_of_frame): Initialize it.
6671 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6672
6673 * xdisp.c (pos_visible_p): Improve function comment.
6674
6675 * lisp.h (BINDING_STACK_SIZE): New macro.
6676
8e42f043
GM
6677 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6678 reading the directory if readdir returns null and errno is EAGAIN
6679 or EINTR.
6680
e8c87124
SM
66812000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6682
6683 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6684 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6685 Set amount_to_scroll to max of dx and scroll_step so that
6686 scroll-conservatively doesn't defeat scroll-step>1.
6687 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6688 scroll-conservatively for line-at-a-time scrolling.
6689
5f0c971d
GM
66902000-11-14 Gerd Moellmann <gerd@gnu.org>
6691
6692 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6693 extra argument.
6694
6695 * xdisp.c (current_mode_line_height, current_header_line_height):
6696 New variables.
6697 (init_xdisp): Initialize them.
6698 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6699 and use exact mode line heights if it is set.
6700
6701 * lisp.h (pos_visible_p): Change prototype.
6702
6703 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6704 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6705 and current_header_line_height first.
52283633
SM
6706 (current_mode_line_height, current_header_line_height):
6707 Declare extern.
5f0c971d 6708
d7361edf
MB
67092000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6710
6711 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6712 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6713 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6714
ee5e440a
MB
67152000-11-14 Miles Bader <miles@gnu.org>
6716
6717 * xterm.c (x_alloc_lighter_color): Include an additive component
6718 too for dark colors, because FACTOR isn't enough.
6719 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6720 New macros.
6721
5ca020fc
GM
67222000-11-13 Gerd Moellmann <gerd@gnu.org>
6723
6724 * keyboard.c (show_help_echo): Call message3_nolog with number of
6725 bytes in the help string as 2nd parameter, instead of the number
6726 of characters.
6727
9d348294
MB
67282000-11-13 Miles Bader <miles@gnu.org>
6729
6730 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6731 (Fload): Use new openp return protocol.
6732 Don't try to use Vload_source_file_function to load .elc files.
6733 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6734 openp return protocol.
6735 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6736
1729bb9a
KH
67372000-11-11 Kenichi Handa <handa@etl.go.jp>
6738
4e677396
KH
6739 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6740
6741 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6742 Defined these macros.
6743 (NLIST_STRUCT): Avoid re-defining it.
6744
1729bb9a
KH
6745 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6746 -I/usr/contrib/X11R6/include.
6747 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6748
a82fe213
JR
67492000-11-10 Jason Rumney <jasonr@gnu.org>
6750
6751 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6752
6753 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6754 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6755
6756 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6757 (Qw32_charset_vietnamese): New symbol.
6758 (xlfd_charset_of_font): New function.
6759 (w32_load_system_font): Use it.
6760 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6761 when Vw32_charset_info_alist is nil to ensure default face always
6762 has font. Use Fcar and Fcdr for safety.
6763 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6764 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6765 pseudo-codepages for special cases.
6766 (w32_to_x_font): New parameter to allow charset portion to be
6767 specified where there is many to one mapping. Callers changed.
6768 (w32_list_fonts): Avoid listing fonts that won't display.
6769
52d89894
GM
67702000-11-10 Gerd Moellmann <gerd@gnu.org>
6771
6772 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6773 (font_list_1): Renamed from font_list.
6774 (font_list): New function, trying alternative registries from
6775 Vface_alternative_font_registry_alist.
6776 (Finternal_set_alternative_font_registry_alist): New function.
6777 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6778 Vface_alternative_font_registry_alist.
6779 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6780
651cd3da
KR
67812000-11-09 Ken Raeburn <raeburn@gnu.org>
6782
6783 * lisp.h (Flooking_at): Declare.
6784
388ac098
GM
67852000-11-09 Gerd Moellmann <gerd@gnu.org>
6786
778fbc46 6787 * dired.c (directory_files_internal): Fix a braino.
52283633 6788
388ac098
GM
6789 * dired.c (directory_files_internal): Add missing GCPRO's.
6790 Some cleanup.
6791
ecaedde1
GM
67922000-11-08 Gerd Moellmann <gerd@gnu.org>
6793
f7eb32aa
GM
6794 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6795 (resize_mini_window): Return quickly if Vresize_mini_window is
6796 nil. Don't return if Vmax_mini_window_height is nil.
6797
6798 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6799 (syms_of_xdisp): Initialize them.
6800 (resize_mini_window): Act according to the setting of
6801 Vresize_mini_window.
6802 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6803
ecaedde1
GM
6804 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6805 scroll bar widget after configuring it, so that it will appear at
6806 the right position from the start.
6807 (XTredeem_scroll_bar): Cleaned up.
6808
3747ef2c
KH
68092000-11-08 Kenichi Handa <handa@etl.go.jp>
6810
6811 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6812 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6813 division by two.
6814
6815 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6816
03391420
DL
68172000-11-07 Dave Love <fx@gnu.org>
6818
7758f1c1 6819 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6820
6821 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6822
b5de343d
GM
68232000-11-07 Gerd Moellmann <gerd@gnu.org>
6824
acad3c0b
GM
6825 * window.c (Fset_window_configuration): Don't try to preserve
6826 point in the current buffer, if that buffer is displayed in more
6827 than one window.
6828
b5de343d
GM
6829 * xfaces.c (lookup_named_face): If default face isn't realized,
6830 try to realize it. Return -1 if not successful.
6831 (Fx_list_fonts): Handle case that face cannot be determined.
6832 (Fface_font): Likewise.
6833
cdb1fe49
GM
68342000-11-06 Gerd Moellmann <gerd@gnu.org>
6835
6836 * window.c (displayed_window_lines): Detect partially
6837 visible lines at the bottom correctly.
6838
d3a67486
SM
68392000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6840
6841 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6842 when ensuring we don't do visit in indirect buffer.
6843
ff8dd5d5
KH
68442000-11-06 Kenichi Handa <handa@etl.go.jp>
6845
6846 * composite.h (compose_chars_in_text): Add prototype.
6847
6848 * composite.c (Vcomposition_function_table): New variable.
6849 (Qcomposition_function_table): New variable.
6850 (run_composition_function): Call
6851 Vcompose_chars_after_function with three arguments.
6852 (compose_chars_in_text): New function.
6853 (syms_of_composite): Modified the doc-string of
6854 Vcompose_chars_after_function. Declare composition-function-table
6855 as a lisp variable, and initialize it.
6856
6857 * xfns.c (x_encode_text): Suppress producing escape sequences for
6858 composition.
6859
6860 * xselect.c: Include composite.h.
6861 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6862
d1145f85
AI
68632000-11-05 Andrew Innes <andrewi@gnu.org>
6864
6865 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6866
6867 * sysdep.c (read_input_waiting): Remove extraneous argument to
6868 read_socket_hook.
6869
6870 * w32fns.c (Fx_server_version): Include w32_build_number in the
6871 return list.
6872
6873 * w32heap.c (w32_build_number): New variable.
6874 (cache_system_info): Set it.
6875
6876 * w32heap.h (w32_build_number): Add extern.
6877
6878 * emacs.c (syms_of_emacs): Update docstring for
6879 system-configuration, to reflect the actual usage on MS-Windows.
6880
e85ee976
GM
68812000-10-31 Gerd Moellmann <gerd@gnu.org>
6882
26dcb81b
GM
6883 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6884 process idle timers while waiting for another event.
6885
52283633 6886 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6887 the default face are colored.
6888
e85ee976
GM
6889 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6890 window height hasn't changed.
6891
01b220b6
JR
68922000-10-31 Jason Rumney <jasonr@gnu.org>
6893
6894 * w32term.c (x_produce_glyphs): Handle composite characters.
6895 (x_draw_glyph_string_foreground)
6896 (x_draw_composite_glyph_string_foreground): Restore old font.
6897
4e6b7204
MB
68982000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6899
6900 * minibuf.c (read_minibuf): Reset the undo history just before
6901 starting the recursive-edit.
6902
d4358b37
GM
69032000-10-30 Gerd Moellmann <gerd@gnu.org>
6904
563f68f1
GM
6905 * xfaces.c (menu_face_change_count): New variable.
6906 (Finternal_set_lisp_face_attribute): Increment it for changes
6907 of the `menu' face.
6908 (realize_basic_faces): Reflect changes in the `menu' faces
6909 in menu bars.
6910
82e274d1
GM
6911 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6912 dy obtained from the iterator's y-position after moving from
6913 scroll_margin_pos to PT; see comment there.
52283633 6914
0dbf9fd2
GM
6915 * xdisp.c (safe_eval_handler): Call add_to_log.
6916
906b3b14
GM
6917 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6918 is not a symbol or string.
6919
d4358b37
GM
6920 * xdisp.c (echo_area_display): Don't perform a display update from
6921 inside redisplay. The update will happen anyway at the end of
6922 redisplay, and it can confuse redisplay (GC messages while
6923 redisplaying, for instance.)
6924
70c825df
SM
69252000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6926
cf9b4b0b
SM
6927 * xrdb.c (x_load_resources): Use the class name in the defaults.
6928
70c825df
SM
6929 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6930 (regex_compile): Catch bogus \(\1\).
6931
a1d34b1e
GM
69322000-10-30 Gerd Moellmann <gerd@gnu.org>
6933
cae71efe
GM
6934 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6935 RGB values.
52283633 6936
35efe0a1
GM
6937 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6938 we have a color cache, check that the cached color equals the
6939 allocated color. If not, clear the color cache.
6940
1d3baf74
GM
6941 * window.c (displayed_window_lines): Change buffers if necessary.
6942 Fix computation of displayed lines.
6943
a1d34b1e
GM
6944 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6945 update_menu_bindings to DEFVAR_BOOL.
6946
70737ea9
KH
69472000-10-30 Kenichi Handa <handa@etl.go.jp>
6948
70c825df 6949 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6950
fa0cb51d
KH
6951 * puresize.h (BASE_PURESIZE): Increase to 680000.
6952
70737ea9
KH
6953 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6954
0e4c08e8
JR
69552000-10-29 Jason Rumney <jasonr@gnu.org>
6956
6957 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6958
6959 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6960 (w32_cache_char_metrics): Handle possibility that 'x' does not
6961 exist in a BDF font.
6962 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6963
6964 * w32bdf.h (bdffont): Add nchars.
6965
6966 * w32bdf.c (set_bdf_font_info): Set it.
6967 (w32_BDF_TextOut): Swap byte order of double byte characters.
6968 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6969
45b84006
EZ
69702000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6971
6972 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6973 don't override the colors in frame's param_alist, unless they are
6974 unspecified.
6975
6976 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6977 reverse the effect of the highlight flag.
6978
caf9deee
KR
69792000-10-27 Ken Raeburn <raeburn@gnu.org>
6980
6981 * window.h (Fwindow_live_p): Declare.
6982
ae0b9b46
KR
6983 * undo.c (record_delete): Check that last_undo_buffer is really a
6984 buffer before applying XBUFFER to it.
6985
6986 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6987 Faref.
6988
02067692
SM
69892000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6990
6991 * lisp.h (KEYMAPP): New macro.
6992 (get_keymap): Remove.
6993 (get_keymap_1): Rename get_keymap.
6994
6995 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6996
6997 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6998
6999 * xmenu.c (single_submenu): Use KEYMAPP.
7000 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7001 Use KEYMAPP rather than Fkeymapp.
7002
7003 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7004
7005 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7006 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7007 Use KEYMAPP rather than Fkeymapp.
7008 (single_submenu): Use KEYMAPP.
7009 (w32_menu_show, w32_dialog_show): Use TRUE.
7010
7011 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7012
7013 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7014 (Fkeymapp): Use KEYMAPP.
7015 (get_keymap): Rename from get_keymap_1. Remove old def.
7016 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7017 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7018 (Fminor_mode_key_binding): Don't raise an error if the binding
7019 is not a keymap.
7020 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7021 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7022
7023 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7024 Allow Vspecial_event_map to be autoloaded.
7025 (menu_bar_items): Fetch the keymap rather than using keymapp.
7026 (menu_bar_one_keymap): No need to follow func-indirect any more.
7027 (parse_menu_item): get_keymap_1 -> get_keymap.
7028 (tool_bar_items): Fetch the keymap rather than using keymapp.
7029 (read_key_sequence): Use KEYMAPP.
7030
7031 * intervals.c (get_local_map): Use get_keymap rather than following
7032 function-indirections explicitly.
7033
7034 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7035
f9d80af3
JR
70362000-10-27 Jason Rumney <jasonr@gnu.org>
7037
7038 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7039 point, as Windows has oversized fonts.
7040
7041 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7042
a3ba27da
GM
70432000-10-27 Gerd Moellmann <gerd@gnu.org>
7044
7045 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7046 (freehook, reallochook): Handle null pointer arguments.
7047 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7048
aa3b80cc
SM
70492000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7050
7051 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7052 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7053 Giving in to popular pressure to shut up the compiler with casts.
7054
e24e84cc
GM
70552000-10-27 Gerd Moellmann <gerd@gnu.org>
7056
7057 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7058 signed value, and use a default value computed from the font's
7059 maximum descent.
7060
05ea7ef2
MB
70612000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7062
7063 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7064 that specify a negative underline position can still use underlines.
7065
7066 * window.c (Fpos_visible_in_window_p): Make POS default to
7067 WINDOW's point, not the current buffer's point.
7068
0b95284b
DL
70692000-10-26 Dave Love <fx@gnu.org>
7070
7071 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7072 when it's necessary.
7073
6c5b90af
GM
70742000-10-26 Gerd Moellmann <gerd@gnu.org>
7075
8b6d9dc9
GM
7076 * window.c (size_window): Compute size difference from sum of old
7077 child window sizes instead of from parent's size.
7078
6bc92b2e
GM
7079 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7080 Handle obscured lines at the top of the window.
7081
7082 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7083 down after the last error condition check.
7084
6c5b90af
GM
7085 * frame.c (Fdelete_frame): Run delete-frame-hook.
7086
42f92d4d
KH
70872000-10-26 Kenichi Handa <handa@etl.go.jp>
7088
7089 * coding.c (decode_coding): Fix previous change (check also
7090 CODING_MODE_LAST_BLOCK).
7091
d97151cb
SM
70922000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7093
e7efc503
SM
7094 * regex.c: More `unsigned char' -> `re_char' changes.
7095 Also change several `int' into `re_wchar_t'.
7096 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7097 (PUSH_FAILURE_POINTER): Don't cast any more.
7098 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7099 We want GCC to complain, since this piece of code makes
7100 re_match non-reentrant, which *should* be fixed.
7101 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7102 (EXTEND_BUFFER): Use RETALLOC.
7103 (SET_LIST_BIT): Don't cast.
7104 (re_wchar_t): New type.
7105 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7106 that those two functions will always properly return.
7107 (IMMEDIATE_QUIT_CHECK): Cast to void.
7108 (analyse_first): Use recursion rather than an explicit stack.
7109 (re_compile_fastmap): Can't fail anymore.
7110 (re_search_2): Don't check re_compile_fastmap for failure.
7111 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7112 Now also sets the new value (passed in a new argument).
7113 (re_match_2_internal): Use it.
7114 Also, use a new var `reg' of type size_t when looping through regs
7115 rather than reuse the inappropriate `mcnt'.
7116
d97151cb
SM
7117 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7118 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7119 (where_is_internal): Renamed from Fwhere_is_internal.
7120 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7121 (Fwhere_is_internal): New function wrapping where_is_internal.
7122 (where_is_internal_1): Handle the case where we're filling the cache.
7123 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7124
d5789b65
MB
71252000-10-25 Miles Bader <miles@gnu.org>
7126
7127 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7128
4ecda532
GM
71292000-10-25 Gerd Moellmann <gerd@gnu.org>
7130
7131 * window.c (pos_fully_visible_p): Removed.
7132 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7133 if position is visible and/or fully visible.
7134
7135 * lisp.h (pos_visible_p): Add prototype.
7136
7137 * xdisp.c (pos_visible_p): New function.
7138
68c3a137
KH
71392000-10-25 Kenichi Handa <handa@etl.go.jp>
7140
7141 * process.c (send_process): If OBJECT is t, it means that the data
7142 is from C string, but we should encode it. Before calling
7143 setup_raw_text_coding_system, be sure to flush out data by the
7144 previous coding system.
7145
7ae1c032
MB
71462000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7147
ff4dcd4b
MB
7148 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7149 assignment of startpos to prev when startpos == pos.
7150
7ae1c032
MB
7151 * editfns.c (find_field): Set the field stickiness correctly from
7152 overlay fields. Use renamed `text_property_stickiness'.
7153 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7154 Only check text properties, not overlays.
7ae1c032
MB
7155 * textprop.c (get_char_property_and_overlay): New function.
7156 (Fget_char_property): Use it.
7157 * intervals.h (get_char_property_and_overlay): Add declaration.
7158
49801145
SM
71592000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7160
7161 * keymap.c: Use AREF, ASET and ASIZE macros.
7162 (Fmake_sparse_keymap): Docstring fix.
7163 (synkey): Remove.
7164 (shadow_lookup): Move up.
7165 Handle the case where lookup-key returns an integer.
7166 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7167 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7168 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7169 Simplify/rewrite the keymap-finding code.
7170 Add check for command shadowing, using shadow_lookup.
7171
39e776cd
SM
71722000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7173
7174 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7175 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7176 a symbol.
7177
2488aba5
AI
71782000-10-24 Andrew Innes <andrewi@gnu.org>
7179
7180 * dired.c (directory_files_internal_unwind): New function.
7181 (directory_files_internal): Use it to ensure closedir is called
7182 even if expand-file-name or file-attributes throw, eg. because of
7183 a user interrupt. Also enable immediate_quit while calling
7184 re_search, so that matching can be interrupted as well.
7185
b94fdf61
AI
71862000-10-24 Andrew Innes <andrewi@gnu.org>
7187
7188 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7189 NT-Emacs only.
7190 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7191 so that re_search functions only quit when callers expect them to.
7192
71932000-10-24 Kenichi Handa <handa@etl.go.jp>
7194
7195 * regex.c (regex_compile): Change the way of handling a range from
7196 a char less than 256 to a char not less than 256.
7197
1946f901
GM
71982000-10-24 Gerd Moellmann <gerd@gnu.org>
7199
7ae2f10f
GM
7200 * window.c (size_window): Prevent setting window's width or
7201 height to a negative value (esp. with XSETFASTINT).
7202
5dcab13e
GM
7203 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7204 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7205 (protect_malloc_state) [GC_MALLOC_CHECK &&
7206 GC_PROTECT_MALLOC_STATE]: New function.
7207 (PROTECT_MALLOC_STATE): New macro.
7208 (__malloc_initialize, morecore, _malloc_internal)
7209 (_free_internal) _realloc_internal): Use it to make _heapinfo
7210 read-only outside of gmalloc.
7211
63e1b552
GM
7212 * keymap.c: Update copyright.
7213
1946f901
GM
7214 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7215 a symbol.
7216
4fa09beb
GM
72172000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7218
7219 * filelock.c (unlock_all_files): Use unlock_file to expand each
7220 buffer's file_truename before trying remove its lock file.
7221
23afac01
EZ
72222000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7223
7224 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7225 or CRLF, decode EOLs.
7226
04448b95
KH
72272000-10-24 Kenichi Handa <handa@etl.go.jp>
7228
7229 * window.c (Fdisplay_buffer): Fix doc.
7230
3090a5a5
JR
72312000-10-23 Jason Rumney <jasonr@gnu.org>
7232
7233 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7234 ASCII font of default fontset on Windows.
7235
7236 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7237 xterm.c comment below).
7238
7239 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7240
a83fee2c
GM
72412000-10-23 Gerd Moellmann <gerd@gnu.org>
7242
7243 * xterm.c (x_connection_closed): Reset handling_signal.
7244
52283633 7245 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7246
6ffdb539
MB
72472000-10-23 Miles Bader <miles@gnu.org>
7248
7249 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7250 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7251 maintain old behavior.
7252 * minibuf.c (Fminibuffer_complete): Likewise.
7253
7f1c969b
MB
72542000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7255
7256 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7257 that when a font can't be exactly centered, it errs up rather than
7258 down.
7259
23afac01 72602000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7261
52283633 7262 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7263
1a578e9b
AC
72642000-10-23 Andrew Choi <akochoi@i-cable.com>
7265
7266 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7267
7268 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7269 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7270
7271 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7272 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7273 syms_of_search, x_term_init, and init_keyboard before calling
7274 init_window_once. Also, call syms_of_xmenu.
7275
7276 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7277 default fontset to Monaco.
7278
7279 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7280 NewMacWindow and DisposeMacWindow.
7281 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7282 instead of calling NewMacWindow and setting fields of
7283 f->output_data.mac directly. Call init_frame_faces.
7284 (Fdelete_frame) [macintosh]: Remove unused code.
7285 (Fmodify_frame_parameters) [macintosh]: Call
7286 x_set_frame_parameters instead of mac_set_frame_parameters.
7287
7288 * frame.h [macintosh]: Define menu_bar_lines field in struct
7289 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7290
7291 * keyboard.c [macintosh]: Include macterm.h.
7292 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7293 and menu_bar_activate_event type events as for X and NT.
7294 (make_lispy_event) [macintosh]: Construct lisp events of type
7295 MENU_BAR_EVENT as for X and NT.
7296
7297 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7298 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7299 (sys_subshell) [macintosh]: Remove definition entirely.
7300 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7301 Vwindow_system_version here. Remove initialization of
7302 Vx_bitmap_file_path.
7303 (read_input_waiting): Correct the number of parameters passed to
7304 read_socket_hook.
7305 Move all Macintosh functions to mac/mac.c.
7306
7307 * term.c [macintosh]: Include macterm.h.
7308
7309 * window.c [macintosh]: Include macterm.h.
7310
7311 * xdisp.c [macintosh]: Include macterm.h. Declare
7312 set_frame_menubar and pending_menu_activation.
7313 (echo_area_display) [macintosh]: Do not return if terminal frame
7314 is the selected frame.
7315 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7316 Allow only the selected frame to set menu bar.
7317 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7318 calling FRAME_EXTERNAL_MENU_BAR (f).
7319 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7320
7321 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7322 and check_x. Declare XCreateGC. Define x_create_gc and
7323 x_free_gc. Initialize font_sort_order.
7324 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7325 but call x_list_fonts instead of w32_list_fonts.
7326 (Finternal_face_x_get_resource) [macintosh]: Do not call
7327 display_x_get_resource.
7328 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7329 (realize_x_face) [macintosh]: Load the font if it is specified in
7330 ATTRS.
52283633 7331 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7332
1ffbabe3
SM
73332000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7334
7335 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7336 is nil: since we go to the end of submap anyway, we'd end up
7337 setting nil to nil.
7338 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7339 doesn't obey autoload.
7340
bed43f1d
EZ
73412000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7342
1ffbabe3 7343 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7344
ea4233a7
JR
73452000-10-21 Jason Rumney <jasonr@gnu.org>
7346
7347 * w32term.c (w32_cache_char_metrics): Double check that font is
7348 really fixed pitch before trusting tmPitchAndFamily.
7349
f3d3c491
AI
73502000-10-21 Andrew Innes <andrewi@gnu.org>
7351
7352 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7353
7354 * w32term.h: Extern decl for w32_cache_char_metrics.
7355
7356 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7357
7358 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7359 (w32_unload_font): Free per_char array if present.
7360
7361 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7362 cached information in emulated XFontStruct to handle common cases
7363 quickly. Do not allocate XCharStruct for return.
7364 (w32_native_per_char_metric): New function.
7365 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7366 allocating one.
7367 (x_produce_glyphs): Don't get an HDC. Change calls to
7368 w32_per_char_metric to match arg change above. Remove calls to
7369 free results.
7370 (w32_get_glyph_overhangs): Ditto.
7371 (w32_cache_char_metrics): New function.
7372
7373 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7374 ($(BLD)/casefiddle.$(O)): Remove compile command.
7375 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7376 ($(BLD)/dispnew.obj):
7377 ($(BLD)/keyboard.obj):
7378 ($(BLD)/w32inevt.obj):
7379 ($(BLD)/w32bdf.obj):
7380 ($(BLD)/alloc.obj):
7381 ($(BLD)/buffer.obj):
7382 ($(BLD)/editfns.obj):
7383 ($(BLD)/emacs.obj):
7384 ($(BLD)/fileio.obj):
7385 ($(BLD)/fns.obj):
7386 ($(BLD)/indent.obj):
7387 ($(BLD)/insdel.obj):
7388 ($(BLD)/intervals.obj):
7389 ($(BLD)/minibuf.obj):
7390 ($(BLD)/print.obj):
7391 ($(BLD)/scroll.obj):
7392 ($(BLD)/sysdep.obj):
7393 ($(BLD)/textprop.obj):
7394 ($(BLD)/widget.obj):
f3d3c491
AI
7395 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7396 ($(BLD)/term.obj): Add dependency on dispextern.h.
7397
52283633
SM
7398 * makefile.nt ($(BLD)\dispnew.obj):
7399 ($(BLD)\keyboard.obj):
7400 ($(BLD)\w32inevt.obj):
7401 ($(BLD)\w32bdf.obj):
7402 ($(BLD)\alloc.obj):
7403 ($(BLD)\buffer.obj):
7404 ($(BLD)\editfns.obj):
7405 ($(BLD)\emacs.obj):
7406 ($(BLD)\fileio.obj):
7407 ($(BLD)\fns.obj):
7408 ($(BLD)\indent.obj):
7409 ($(BLD)\insdel.obj):
7410 ($(BLD)\intervals.obj):
7411 ($(BLD)\minibuf.obj):
7412 ($(BLD)\print.obj):
7413 ($(BLD)\scroll.obj):
7414 ($(BLD)\sysdep.obj):
7415 ($(BLD)\textprop.obj):
7416 ($(BLD)\widget.obj):
f3d3c491
AI
7417 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7418 ($(BLD)\term.obj): Add dependency on dispextern.h
7419
18ad4821
EZ
74202000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7421
7422 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7423 with an additional argument of Qt.
7424
de54681a
MB
74252000-10-21 Miles Bader <miles@gnu.org>
7426
7427 * window.c (pos_fully_visible_in_window_p): New function.
7428 (Fpos_visible_in_window_p): Add FULLY argument.
7429 Use pos_fully_visible_in_window_p.
7430 (window_scroll_pixel_based, window_scroll_line_based): Update
7431 calls to Fpos_visible_in_window_p.
7432 * lisp.h (Fpos_visible_in_window_p): Update prototype
7433
13c844fb
GM
74342000-10-20 Gerd Moellmann <gerd@gnu.org>
7435
7436 * alloc.c (toplevel): Conditionalize compilation of mem_*
7437 functions differently.
52283633 7438
d9506268
JR
74392000-10-20 Jason Rumney <jasonr@gnu.org>
7440
7441 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7442 mem_init where it used to be. mem_z etc not defined otherwise.
7443
8094989b
GM
74442000-10-20 Gerd Moellmann <gerd@gnu.org>
7445
7446 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7447 GC_MALLOC_CHECK.
7448 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7449 structure definition and related variabled to the top of the file.
7450 Include this code when GC_MALLOC_CHECK is defined.
7451 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7452 register/unregister allocated region.
7453 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7454 which isn't allocated.
7455 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7456 something which is already in use.
7457 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7458 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7459 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7460 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7461
7462 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7463 _malloc_internal instead of malloc.
7464 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7465 of free.
7466
ea456eb4
AI
74672000-10-20 Andrew Innes <andrewi@gnu.org>
7468
7469 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7470 Windows.
7471 (my_strftime) <macro>: Don't use macro arg list when redefining as
7472 _strftime_copytm.
7473 (my_strftime) <function>: Supply 0 as ut argument.
7474
e64c3a75
JR
74752000-10-19 Jason Rumney <jasonr@altavista.net>
7476
7477 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7478 including dispextern.h, as it stops faces from working.
7479
7480 * w32fns.c (Fx_create_frame): Don't bother calling
7481 face-set-after-frame-default since the caller does it for us
7482 anyway. Clean up calls to x_get_arg to be consistent with X.
7483
7484 * w32term.c (x_produce_glyphs): Handle
7485 unibyte_display_via_language_environment correctly.
7486 (w32_draw_box_rect): Fix the calculation of width and height.
7487
7488 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7489 as it has stopped working.
7490 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7491 menu-bar.
7492
17401c97
GM
74932000-10-19 Gerd Moellmann <gerd@gnu.org>
7494
7495 * eval.c (skip_debugger): Prevent a compiler warning.
7496 (Fcondition_case): Likewise.
7497 (Fbacktrace_frame): Use a null interactive spec.
7498
773272d8
KH
74992000-10-19 Kenichi Handa <handa@etl.go.jp>
7500
7501 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7502
a42943e9
GM
75032000-10-18 Gerd Moellmann <gerd@gnu.org>
7504
e50517d9
GM
7505 * strftime.c: Sync with glibc, file version 1.78.
7506 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7507 should no longer be used according to ISO 8601.
7508
9035a35a
GM
7509 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7510 no map for meta_prefix_char, don't try to use it as a keymap.
7511 Instead, if T_OK is non-zero, look up a default binding, if any,
7512 otherwise, if T_OK is zero, return nil.
7513
a42943e9
GM
7514 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7515 (x_to_xcolors, png_load): Use x_query_color.
7516
52283633
SM
7517 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7518 New functions.
a42943e9
GM
7519 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7520 which can be slow.
7521 (x_copy_color, x_alloc_lighter_color): Likewise.
7522
7523 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7524 (x_query_color, x_query_colors): Add prototype.
7525
7526 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7527 check_string_bytes only if not noninteractive, increase count to 50.
7528
00de2987
MB
75292000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7530
7531 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7532 markers correctly.
7533
54918e2b
GM
75342000-10-17 Gerd Moellmann <gerd@gnu.org>
7535
1f0b3fd2
GM
7536 * alloc.c (pure_bytes_used): Renamed from pureptr.
7537 (ALIGN): New macro.
7538 (pure_alloc): New function.
7539 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7540 Use it.
7541 (Fpurecopy): Use PURE_POINTER_P.
7542
68c5d1db
GM
7543 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7544 PT has moved backward.
52283633 7545
9a038881
GM
7546 * xdisp.c (cursor_row_p): Take continued lines into account.
7547
361b097f
GM
7548 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7549 string's size_byte.
7550 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7551 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7552 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7553 string allocated.
7554
54918e2b
GM
7555 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7556 of selective display off while searching for the next line start.
7557
03ed0806
KH
75582000-10-17 Kenichi Handa <handa@etl.go.jp>
7559
7560 * Makefile.in (term.o): Depend on dispextern.h.
7561
7e05cdaf
SM
75622000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7563
7564 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7565
a6801fd1
GM
75662000-10-16 Gerd Moellmann <gerd@gnu.org>
7567
483de32b
GM
7568 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7569 the iterator at the beginning, so that they can be set later on,
7570 for instance in reseat_at_next_visible_line_start, without being
7571 overwritten.
7572
a6801fd1
GM
7573 * xfns.c (pbm_format): Add :foreground and :background keywords.
7574 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7575 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7576
dbf1fcc1
EZ
75772000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7578
7579 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7580
52283633 7581 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7582
7583 * msdos.c (IT_set_face): Compare highlighted face with the default
7584 face, and invert colors if these faces' colors are identical.
7585 (Fmsdos_remember_default_colors): Don't swap foreground and
7586 background colors in initial_colors[].
7587 (IT_set_frame_parameters): Don't swap frame's foreground and
7588 background pixels. If ALIST includes "(reverse . t)", swap
7589 foreground-color and background-color properties in frame's
7590 param_alist. If the original frame's param_alist doesn't specify
7591 the colors, store unspecified-fg and unspecified-bg, reversed if
7592 required.
7593
7594 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7595 the colors are unspecified and reversed, reverse fore- and back-
7596 ground in the returned value.
7597 (Fframe_parameter): Ditto.
7598
b41fe2c3 75992000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7600
3a6b59d9
GM
7601 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7602 get_last_unchanged_at_beg_row.
7603 (find_first_unchanged_at_end_row): Renamed from
7604 get_first_unchanged_at_end_row.
7605 (find_first_unchanged_at_end_row): Convert assertions to
7606 unconditional tests which abort. When looking for a row in
7607 unchanged text, don't go further back than first_text_row.
7608
b41fe2c3
GM
7609 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7610 Don't add in the last line's height when deciding if the new
7611 position is below the scroll margin.
9d1af64f 7612
b41fe2c3 76132000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7614
7615 * editfns.c (Fconstrain_to_field): Check carefully for field
7616 boundaries if either OLD_POS or NEW_POS has a non-nil field
7617 property, even if they're the same.
7618
c412cb7b
KH
76192000-10-16 Kenichi Handa <handa@etl.go.jp>
7620
7621 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7622 height for XFillRectangle.
7623
5586f3eb
SM
76242000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7625
7626 * syntax.c (Fstring_to_syntax): New function extracted from
7627 Fmodify_syntax_entry.
7628 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7629 (skip_chars, Fforward_comment): Remove unused variables.
7630 (syms_of_syntax): Add defsubr for string-to-syntax.
7631 (describe_syntax): Add code for comment and string fences.
7632
db785038
SM
76332000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7634
7635 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7636 Do the meta->esc mapping. Call get_keyelt before returning.
7637 Start scanning from the second element (the first is always `keymap')
7638 to make it easier to detect when we reach a parent map.
7639 Handle the case of inheriting from a symbol whose function is a map.
7640 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7641 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7642 (get_keyelt, Flookup_key): Update call to access_keymap.
7643 Remove the meta->esc mappings.
7644 (define_as_prefix): Delete old disabled code.
7645 (menu_item_p): New function.
7646 (where_is_internal_1): Skip over the few remaining menu items.
7647 * lisp.h (access_keymap): Update prototype.
7648 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7649 Update call to access_keymap.
7650 (follow_key, read_key_sequence): Update calls to access_keymap.
7651 Remove the meta->esc mappings.
7652
cafafe0b
GM
76532000-10-13 Gerd Moellmann <gerd@gnu.org>
7654
a2e2a7f6
GM
7655 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7656 with additional argument.
7657
cafafe0b
GM
7658 * xdisp.c (cursor_row_p): New function.
7659 (try_cursor_movement, display_line): Use it.
52283633 7660
cafafe0b
GM
7661 * xdisp.c (append_space): Also save/restore iterator's current
7662 character and its length.
7663
7664 * xdisp.c (init_from_display_pos): Add an assertion.
7665 (handle_stop): Don't set iterator's add_overlay_start.
7666 (handle_invisible_prop): Likewise.
7667 (load_overlay_strings): If text under an overlay is invisible,
7668 take both before- and after-strings into account when the iterator
7669 is positioned either at the start or at the end of the overlay.
7670 (forward_to_next_line_start): Rewritten.
7671 (reseat_at_next_visible_line_start): Rewritten.
7672 (set_iterator_to_next): Add parameter RESEAT_P.
7673
7674 * dispextern.h (struct it): Remove member add_overlay_start.
7675 (set_iterator_to_next): Change prototype.
7676
c744452b
KH
76772000-10-13 Kenichi Handa <handa@etl.go.jp>
7678
7679 * coding.c (code_convert_region): Be sure to initialize
7680 coding->category_idx.
e4a3f4e1
KH
7681 (decode_coding_string): Set coding->src_multibyte and
7682 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7683 (encode_coding_string): Set coding->src_multibyte and
7684 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7685
321fd26f
SM
76862000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7687
7688 * xfns.c (Fx_create_frame): Don't bother calling
7689 face-set-after-frame-default since the caller does it for us anyway.
7690
76832439
EZ
76912000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7692
7693 * window.c (coordinates_in_window): Fix detection of vertical line
7694 on character terminals.
7695
2483cf58
GM
76962000-10-12 Gerd Moellmann <gerd@gnu.org>
7697
7698 * editfns.c (save_excursion_save): Additionally record the
7699 selected window.
7700 (save_excursion_restore): If buffer was visible in a window, and a
7701 different window was selected, and the old selected window is
7702 still live, restore point in that window.
7703
eb991b25
KH
77042000-10-12 Kenichi Handa <handa@etl.go.jp>
7705
8a0eba09
KH
7706 * xterm.c (x_produce_glyphs): Handle
7707 unibyte_display_via_language_environment correctly.
7708
20401fcc
KH
7709 * regex.c (regex_compile): Change the way of handling a range from
7710 unibyte char to multibyte char.
7711
7712 * syntax.c (skip_chars): Change the way of handling a range from
7713 unibyte char to multibyte char.
7714
eb991b25
KH
7715 * process.c (read_process_output): Cancel previous change.
7716
365dd325
EZ
77172000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7718
c1b096cb
EZ
7719 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7720
365dd325
EZ
7721 * charset.c (Ffind_charset_string): Doc fix.
7722 (Ffind_charset_region): Doc fix.
7723
eb483c2b
KH
77242000-10-11 Kenichi Handa <handa@mule.m17n.org>
7725
7726 * process.c (read_process_output): Fix previous change. Adjust
7727 multibyteness of text to insert in a buffer by
52283633 7728 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7729
b40bfb99
AS
77302000-10-10 Andreas Schwab <schwab@suse.de>
7731
7732 * alloc.c (mark_object): Remove all workarounds installed on
7733 1993-08-08.
7734
caff31d4
KH
77352000-10-10 Kenichi Handa <handa@etl.go.jp>
7736
52283633 7737 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7738 (base64_encode_1): Make it work for a text of multibyte form.
7739 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7740 case. Don't call str_to_multibyte because base64_decode_1
7741 produces correct multibyte form for eight-bit codes.
52283633 7742 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7743 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7744 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7745 codes.
7746
7747 * charset.h (CHAR_STRING): Optimized for single byte characters.
7748
cba026ef
AS
77492000-10-09 Andreas Schwab <schwab@suse.de>
7750
7751 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7752 -1 after socket is closed, to fall through to error processing.
7753
1e21fe48
EZ
77542000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7755
7756 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7757 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7758 background-color, change also the colors of the default face for
7759 this frame.
7760
a640322e
EZ
77612000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7762
7763 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7764 them extern (they are defined on xfaces.c).
7765 (syms_of_msdos): Don't intern and don't staticpro
7766 Qbackground_color and Qforeground_color.
7767
a115794c
EZ
77682000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7769
7770 * frame.c (Fframe_parameter): For non-windowed frames, if
7771 f->param_alist says foreground or background color is unspecified,
7772 call tty_color_name to return the color name computed from the
7773 frame's current colors.
7774
f5533b63
DL
77752000-10-06 Dave Love <fx@gnu.org>
7776
7777 * terminfo.c (ospeed): Don't declare.
7778
7779 * sysdep.c: Don't include string.h.
7780 (h_errno): Declare conditional also on TRY_AGAIN.
7781
7782 * charset.c (Ffind_charset_string): Doc fix.
7783
52283633 7784 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7785 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7786 error messages.
7787
2b06561a
DL
77882000-10-05 Dave Love <fx@gnu.org>
7789
7790 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7791 position like menu-bar.
7792
ca839c85
GM
77932000-10-05 Gerd Moellmann <gerd@gnu.org>
7794
7795 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7796
7797 * xdisp.c (handle_single_display_prop): Use safe_call1.
7798 (safe_call): Renamed from call_function.
7799 (safe_call1): New function.
7800 (handle_fontified_prop): Use safe_call1 instead of call1.
7801 (safe_eval): Renamed from eval_form.
7802 (safe_eval_handler): Renamed from eval_handler.
7803 (handle_single_display_prop, display_mode_element): Use safe_eval
7804 instead of eval_form.
7805
7806 * xfaces.c (merge_face_heights): Use safe_call instead of
7807 call_function.
7808
7809 * keyboard.c (show_help_echo): Use safe_call instead of
7810 call_function; use safe_eval instead of eval_form.
7811
7812 * lisp.h (safe_call): Renamed from call_function.
7813 (safe_eval): Renamed from eval_form.
7814 (safe_call1): Add prototype.
7815
a3489ece
MB
78162000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7817
7818 * xfns.c (image_ascent): Rearrange ascent calculation for the
7819 has-a-font case.
7820
35810b6f
SM
78212000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7822
7823 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7824 (where_is_internal_1): Don't bother ignoring menu-items any more.
7825
3dc78168
GM
78262000-10-04 Gerd Moellmann <gerd@gnu.org>
7827
7828 * keyboard.c (update_menu_bindings): New variable.
7829 (parse_menu_item): Use AREF. If update_menu_bindings
7830 is 0, don't update menu bindings.
7831 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7832
1efc2bb9
EZ
78332000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7834
7835 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7836 to `mark_object'.
7837
3f679f55
SM
78382000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7839
7840 * syntax.c (forw_comment): Match nestedness of ender/starter.
7841 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7842 (prev_char_comstart_first): Remove.
7843 (back_comment): Check two-char comment markers more carefully
7844 to better handle overlapping cases like *//* or /* */* */ ...
7845 Match nestedness of ender/starter.
7846
2021ab61
DL
78472000-10-02 Dave Love <fx@gnu.org>
7848
7849 * config.in (HAVE_GAI_STRERROR): Add undef.
7850
7851 * process.c (Fopen_network_stream): Use it.
7852
7853 * m/alpha.h (NO_REMAP): Don't define.
7854
64e6cc18
GM
78552000-10-02 Gerd Moellmann <gerd@gnu.org>
7856
7857 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7858 return with a string converted to an integer or vice versa when
7859 Vmocklisp_arguments is t.
7860 (Fsignal): Likewise. The function can return for `quit'.
7861 (struct gcpro): Declare member `var' to point to a volatile
7862 Lisp_Object.
7863
7864 * eval.c (error): Prevent compiler warning.
7865
b1904cd9
SM
78662000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7867
7868 * keymap.c (keymap_memberp): New function.
7869 (Fset_keymap_parent): Use it.
7870 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7871 Use keymap_memberp to avoid creating cycles.
7872 (access_keymap): Use KEYMAPP.
7873
71c9ec51
GM
78742000-09-30 Gerd Moellmann <gerd@gnu.org>
7875
7876 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7877 gai_strerror. Make sure xerrno is set if connect fails. Improve
7878 error recovery.
71c9ec51 7879
c70c6b58
JR
78802000-09-29 Jason Rumney <jasonr@gnu.org>
7881
7882 * w32term.c (w32_char_font_type, w32_encode_char)
7883 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7884 (w32_bdf_per_char_metric): New function.
7885 (w32_per_char_metric): Use it.
7886 (x_draw_glyph_string_background): Always draw background for BDF
7887 glyphs.
7888
7889 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7890 GDI object which is a scarce resource.
7891
7892 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7893 (get_quoted_string): Fix limit on memchr search.
7894 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7895 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7896 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7897 (get_cached_font_char, cache_char_offset): Use macro
7898 BDF_CODEPOINT_RANGE_COVER_P.
7899 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7900 (clear_cached_bitmap_slots): New function.
7901 (GET_HEX_VALUE): G-Z, g-z are not hex.
7902 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7903 (get_bitmap_with_cache): Use new cache implementation.
7904 (create_offscreen_bitmap): New function.
7905 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7906
7907 * w32term.c (x_produce_glyphs): If the distance from the current
7908 position to the next tab stop is less than a canonical character
7909 width, use the tab stop after that.
7910 (x_draw_glyphs): Handle case START and END are out of bounds more
7911 carefully.
7912 (x_clear_mouse_face): Block/unblock input.
7913 (x_display_and_set_cursor): Don't show a hollow box cursor for
7914 buffers whose cursor_type is nil.
7915
fe01239f
GM
79162000-09-29 Gerd Moellmann <gerd@gnu.org>
7917
52283633 7918 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7919
7920 * dispextern.h (updating_frame): Declare extern.
7921
e7c52f1f
AS
79222000-09-29 Andreas Schwab <schwab@suse.de>
7923
7924 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7925
de6e1f7c
GM
79262000-09-29 Gerd Moellmann <gerd@gnu.org>
7927
25126faa
GM
7928 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7929 use its function definition.
7930 (tool_bar_items): Likewise.
7931
de6e1f7c 7932 * lisp.h (fatal): Declare NO_RETURN.
52283633 7933
454ee39b
KH
79342000-09-29 Kenichi Handa <handa@etl.go.jp>
7935
7936 * keymap.c: Remove the line "#undef NULL".
7937
96301c5f
GM
79382000-09-28 Gerd Moellmann <gerd@gnu.org>
7939
52283633 7940 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7941
efffeeb4
DL
79422000-09-28 Dave Love <fx@gnu.org>
7943
ecb8b666
DL
7944 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7945
dc3cd20f
DL
7946 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7947
7948 * .gdbinit (xreload): Note its need on GNU/Linux.
7949
efffeeb4
DL
7950 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7951 r_alloc, r_alloc_free.
7952
8610d903
KH
79532000-09-28 Kenichi Handa <handa@etl.go.jp>
7954
7955 * syntax.c (skip_chars): Handle negation correctly.
7956
8901d1ac
GM
79572000-09-27 Gerd Moellmann <gerd@gnu.org>
7958
6f22f1ad
GM
7959 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7960 with non-zero FORCE_P argument.
7961
52283633 7962 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7963 Add assertions.
7964
7965 * xdisp.c (window_box_height): Add an assertion.
7966
7967 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7968 tool-bar than is available.
7969 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7970
36f1966f
DL
79712000-09-27 Dave Love <fx@gnu.org>
7972
efffeeb4 7973 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7974
31d929e5
GM
79752000-09-26 Gerd Moellmann <gerd@gnu.org>
7976
c98863bf
GM
7977 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7978 instead of BITS_PER_INT.
7979 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7980 EMACS_UINT, respectively.
7981 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7982
7983 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7984
7985 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7986
77072ab1
GM
7987 * window.c (freeze_window_starts): Construct last argument for
7988 foreach_window differently.
7989
7990 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7991
7992 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7993 EMACS_UINT instead of `int' and `unsigned int'.
7994 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7995
7996 * frame.h (struct frame): Make the `nothing' member of union
7997 output_data an EMACS_INT.
7998
52283633 7999 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8000 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8001 size in the sdata structure.
8002 (SDATA_NBYTES, SDATA_DATA): New macros.
8003 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8004 differently for the different layout of the sdata structure.
8005 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8006 in sdata.
8007 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8008 Check that size recorded in the string size and size recorded in
8009 the sdata structure agree.
8010
3e60b029
DL
80112000-09-25 Dave Love <fx@gnu.org>
8012
8013 * buffer.c: Include stdio.h.
8014
8015 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8016
3e60b029
DL
8017 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8018
8019 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8020 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8021 (__malloc_extra_blocks): Declare as __malloc_size_t.
8022
8ff16b4e
GM
80232000-09-25 Gerd Moellmann <gerd@gnu.org>
8024
755a2ccd
GM
8025 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8026
d8b4516f
GM
8027 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8028 (read_char): If help-echo is showing, preserve the echo area
8029 when redisplaying.
8030
8031 * xdisp.c (help_echo_showing_p): New variable.
8032 (set_message): Reset it to 0.
8033 (init_xdisp): Initialize help_echo_showing_p.
8034
8035 * dispextern.h (help_echo_showing_p): Declare extern.
8036
8037 * config.in: Fix typo in __GNUC_MINOR__.
8038
8039 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8040
b11af2dd
GM
8041 * s/freebsd.h (POSIX_SIGNALS): Define.
8042
8ff16b4e
GM
8043 * xterm.c (x_clear_mouse_face): Block/unblock input.
8044
844eb643
DL
80452000-09-24 Dave Love <fx@gnu.org>
8046
8047 * fns.c (base64_encode_1): Fix last change.
8048
b30ab1b3
GM
80492000-09-22 Gerd Moellmann <gerd@gnu.org>
8050
8051 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8052
8053 * xdisp.c (try_window_reusing_current_matrix): More fixes
8054 for the case window has a header-line.
8055
c6cbe5f0
DL
80562000-09-22 Dave Love <fx@gnu.org>
8057
4c7c1f3f
DL
8058 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8059 a doc string.
8060
8061 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8062
c6cbe5f0
DL
8063 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8064
550a625e
GM
80652000-09-21 Gerd Moellmann <gerd@gnu.org>
8066
4c7c1f3f 8067 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8068 for GCC >= 2.5.
8069
52283633
SM
8070 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8071 Declare NO_RETURN.
fca99116 8072
80d26f99
GM
8073 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8074 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8075 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8076 warnings.
52283633 8077
80d26f99
GM
8078 * marker.c (byte_char_debug_check): Return void.
8079
623a0aae
GM
8080 * xfns.c (Fx_create_frame): Set default frame parameter value
8081 for tool-bar-lines to 1.
8082
8083 * dispnew.c (scrolling_window): Compare y-positions of rows
8084 equal at the start. Some simplification.
8085
8086 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8087 reused rows' y-position in the case window has a header-line, and
8088 new window start is greater than old window start.
8089
42ac0ae5
GM
8090 * process.c (process_sent_to): New variable.
8091 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8092 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8093 Declare more parameters volatile.
8094
550a625e
GM
8095 * lread.c (Vrecursive_load_depth_limit): New variable.
8096 (Fload): Check recursive loads whose recursion depth exceeds
8097 Vrecursive_load_depth_limit.
8098 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8099
8320414c
GM
81002000-09-20 Gerd Moellmann <gerd@gnu.org>
8101
f46c275e
GM
8102 * fileio.c (Fread_file_name): Doc fix.
8103
8104 * editfns.c (Fmessage_or_box): Doc fix.
8105
8106 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8107
b7e11c5b 8108 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8109
8320414c
GM
8110 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8111 symbols are specified, add color translations to the cache.
52283633 8112 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8113 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8114 xpm_cache_color.
8115 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8116 structures to xpm_init_color_cache.
8117
da1608d9
GM
81182000-09-19 Gerd Moellmann <gerd@gnu.org>
8119
52283633 8120 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8121
6badfa25
AI
81222000-09-19 Andrew Innes <andrewi@gnu.org>
8123
8124 * makefile.nt (bootstrap-emacs): Don't change directory.
8125
3a5f42bb
KH
81262000-09-19 Kenichi Handa <handa@etl.go.jp>
8127
1b7649bd
KH
8128 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8129
3a5f42bb
KH
8130 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8131 If output buffer is too small, signal an appropriated error.
8132
9f83cf0b
DL
81332000-09-18 Dave Love <fx@gnu.org>
8134
52283633 8135 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8136 (current_active_maps): Remove redundant get_local_map call.
8137
28c7826c
GM
81382000-09-18 Gerd Moellmann <gerd@gnu.org>
8139
5cefa566
GM
8140 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8141 cursor for buffers whose cursor_type is nil.
52283633 8142
6fed3546
GM
8143 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8144 a feature to implement that is already implemented.
8145 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8146 warnings.
8147
8148 * xfns.c (x_clear_image_1): New function.
8149 (x_clear_image): Use it.
52283633 8150 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8151
05b1f851
GM
8152 * dispnew.c (update_window): Move test for invisible lines
8153 at the top to update_window_line.
8154 (update_window_line): Handle invisible lines here.
8155
f4779de9
GM
8156 * xfns.c (clear_image_cache): Clear current matrices of all
8157 frames sharing an image cache. Block input while freeing
8158 images. Fix timestamp comparison.
8159 (x_clear_image): Also free the mask.
8160
28c7826c
GM
8161 * xfns.c (lookup_image): Block input while loading the image so
8162 that we won't get interrupted in a state where the image isn't yet
8163 set up completely.
8164 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8165 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8166 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8167 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8168
b7412313
GM
81692000-09-16 Gerd Moellmann <gerd@gnu.org>
8170
8171 * dispnew.c (update_window): Make sure to make desired rows
8172 current even if they are completely invisible at the top
8173 of a window.
8174
47e351a3
GM
81752000-09-15 Gerd Moellmann <gerd@gnu.org>
8176
7f8f1edc
GM
8177 * xfns.c (lookup_image): Build mask before applying an algorithm.
8178 Recognize algorithm `disabled'.
8179 (cross_disabled_images): New variable.
8180 (COLOR_INTENSITY): New macro.
8181 (x_detect_edges): Use COLOR_INTENSITY.
8182 (x_disable_image): New function.
8183 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8184
8185 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8186 disabled state, don't apply an image transformation algorithm if
8187 the user specified an image for the disabled state. Use
28c7826c 8188 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8189 user hasn't specified an image.
8190
ebb8f116
GM
8191 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8192 allocation functions with the XPM lib.
8193 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8194 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8195 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8196 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8197 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8198 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8199 functions, if possible, because these handle color allocation
8200 failure more gracefully.
8201 (Fimage_mask_p): New function.
8202
47e351a3
GM
8203 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8204 (Qedge_detection, Qheuristic): New symbols.
8205 (syms_of_xfns): Initialize new symbols.
8206 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8207 `algorithm (edge-detection ...)'.
8208 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8209 (tiff_format, gif_format, gs_format): Add `:mask'.
8210 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8211 (GIF_MASK, GS_MASK): New enumerators.
8212 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8213 (emboss_matrix, laplace_matrix): New variables.
8214 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8215 (x_edge_detection): New functions.
8216 (x_laplace): Rewritten in terms of x_detect_edges.
8217 (x_build_heuristic_mask): If image has a mask, free it.
8218
fe83b953
AI
82192000-09-14 Andrew Innes <andrewi@gnu.org>
8220
8221 * makefile.w32-in: Revert to Unix line endings.
8222
3021e816
AI
82232000-09-14 Andrew Innes <andrewi@gnu.org>
8224
8225 * makefile.w32-in: Standardize indentation somewhat.
8226 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8227 cater for differences between shells.
8228
8229 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8230
2a32b5ea
GM
82312000-09-14 Gerd Moellmann <gerd@gnu.org>
8232
8233 * xterm.c (x_produce_glyphs): If the distance from the current
8234 position to the next tab stop is less than a canonical character
8235 width, use the tab stop after that.
8236
b4331e96
DL
82372000-09-14 Dave Love <fx@gnu.org>
8238
8239 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8240
ef9e4345
GM
82412000-09-14 Gerd Moellmann <gerd@gnu.org>
8242
085536c2
GM
8243 * xdisp.c (handle_fontified_prop): While running fontification
8244 functions, bind `fontification-functions' and
8245 `after-change-functions' to nil.
8246
ef9e4345
GM
8247 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8248 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8249
8250 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8251
8252 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8253 USE_MMAP_FOR_BUFFERS.
8254
8255 * insdel.c (make_gap): Use enlarge_buffer_text.
8256
8257 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8258 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8259 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8260 from former r_alloc_* functions in ralloc.c.
52283633 8261 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8262 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8263 (mmap_init) [REL_ALLOC_MMAP]: New function.
8264 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8265 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8266 BUFFER_FREE.
8267
8268 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8269 (enlarge_buffer_text): Add prototype.
8270
8271 * ralloc.c: Remove everything having to do with the use of mmap.
8272
f8608968
GM
82732000-09-13 Gerd Moellmann <gerd@gnu.org>
8274
2a494b2d
GM
8275 * sound.c (Fplay_sound): Doc fix.
8276
8c907a56
GM
8277 * keyboard.c: Avoid some more compiler warnings.
8278 (parse_tool_bar_item): Ignore cached key bindings.
8279
f8608968
GM
8280 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8281 and allocation of Lisp data.
8282
6ab70e9a
GM
82832000-09-12 Gerd Moellmann <gerd@gnu.org>
8284
d12d0a9b
GM
8285 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8286 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8287 defaults first.
8288
6ab70e9a
GM
8289 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8290
63c36c3c
KH
82912000-09-12 Miyashita Hisashi <himi@meadowy.org>
8292
8293 * ccl.c: Comment fixed.
8294 (MAX_MAP_SET_LEVEL): Increased to 30.
8295 (PUSH_MAPPING_STACK): Enclose with do-while block.
8296 (POP_MAPPING_STACK): Likewise.
8297 (stack_idx_of_map_multiple): New variable.
8298 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8299 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8300 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8301 (ccl_driver) <CCL_MapSingle>: Likewise.
8302 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8303 with the case where looking up process reaches to the end of
8304 map-set, and call CCL programs as the above change.
8305
7ee3bd7b
GM
83062000-09-11 Gerd Moellmann <gerd@gnu.org>
8307
8ec8a5ec
GM
8308 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8309 that might be clobbered by longjmp.
8310 (check_x_display_info, x_decode_color, create_frame_xic)
8311 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8312 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8313
f74b0705
GM
8314 * lread.c (init_lread): Set Vloads_in_progress to nil.
8315 (Fload): Show list of recursively loaded files, when signaling an
8316 error.
8317
7ee3bd7b
GM
8318 * lread.c (Vloads_in_progress): New variable.
8319 (record_load_unwind): New function.
8320 (Fload): Check for recursive loads.
8321 (syms_of_lread): Initialize Vloads_in_progress.
8322 (read_integer, read1): Avoid some compiler warnings.
8323
8324 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8325 compiler warnings.
8326
974e1e5b
MB
83272000-09-11 Miles Bader <miles@gnu.org>
8328
8329 * editfns.c (Fbuffer_string): Doc fix.
8330
9824c4e3
GM
83312000-09-10 Gerd Moellmann <gerd@gnu.org>
8332
8333 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8334
6a72fdd1
KR
83352000-09-09 Ken Raeburn <raeburn@gnu.org>
8336
8337 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8338 whether to include other header files.
8339
28e6fb66
GM
83402000-09-09 Gerd Moellmann <gerd@gnu.org>
8341
52283633 8342 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8343 by Fmemq as a boolean.
28e6fb66 8344
7f8b6551
SM
83452000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8346
8347 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8348
a8710abf
GM
83492000-09-08 Gerd Moellmann <gerd@gnu.org>
8350
d1a02881
GM
8351 * ralloc.c (mmap_fd): Remove initializer which can make it
8352 read-only in a dumped Emacs.
8353 (mmap_fd_1): New variable.
8354 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8355 restore it from there.
8356 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8357 unconditionally so that mmap_fd can be initialized there.
8358 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8359 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8360 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8361
c454aac1
GM
8362 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8363
8364 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8365 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8366
fc653ef2
GM
8367 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8368
3015eec0
GM
8369 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8370 inheritance.
8371
bfe0ee88
GM
8372 * xdisp.c (try_window_id): When trying to locate cursor in
8373 unchanged rows at the top, handle the case that we can't find it.
8374
a8710abf
GM
8375 * xterm.c (x_draw_glyphs): Handle case START and END are out
8376 of bounds more carefully.
8377
6b7d4ae4
DL
83782000-09-08 Dave Love <fx@gnu.org>
8379
423193c5
DL
8380 * s/sol2.h (REL_ALLOC_MMAP): Define.
8381 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8382
8383 * ralloc.c: Don't include string.h (redundant).
8384 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8385 [!MAP_ANON]: Include fcntl.h.
8386 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8387 (r_alloc, r_re_alloc, r_alloc_free)
8388 (mmap_enlarge, mmap_set_vars): Use it.
8389 (r_alloc_init_fd): New function.
8390 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8391 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8392 malloc type.
8393
8394 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8395 Remove vm-limit.o.
8396
6b7d4ae4
DL
8397 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8398 change to __NetBSD__.
8399
44d31981
KH
84002000-09-08 Kenichi Handa <handa@etl.go.jp>
8401
8402 * search.c (compile_pattern): Check the multibyteness of cached
8403 string and PATTERN.
8404
aad40737
MB
84052000-09-08 Miles Bader <miles@gnu.org>
8406
8407 * xfaces.c (default_face_vector): Function removed.
8408 (Finternal_merge_in_global_face): Restore old global/local
8409 attribute override order. Use inline loop instead of calling
8410 default_face_vector.
8411
91a211b5
GM
84122000-09-07 Gerd Moellmann <gerd@gnu.org>
8413
8414 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8415 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8416 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8417 where necessary, in case POINTER_TYPE is `void'.
8418
03419440
EZ
84192000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8420
8421 * frame.c (make_terminal_frame): Initialize frame foreground and
8422 background colors to unspecified, for the initial instance of an
8423 MSDOS frame.
8424
f46f845b
GM
84252000-09-07 Gerd Moellmann <gerd@gnu.org>
8426
24f76fbf
GM
8427 * ralloc.c (mmap_find): Fix overlap computation.
8428 (mmap_enlarge): Compute nbytes before trying to find an
8429 overlapping region.
8430
f46f845b
GM
8431 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8432 instead of `!='.
8433
8434 * lread.c (syms_of_lread): Change value of regexp
8435 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8436
8437 * xmenu.c (xdialog_show): When looking up the selection in
8438 menu_items, take `quote' boundaries into account; this corresponds
8439 to a nil ITEM in x-popup-dialog.
8440
3c014385
KH
84412000-09-07 Kenichi Handa <handa@etl.go.jp>
8442
fd6f711b
KH
8443 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8444 not 0x81.
8445 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8446
3c014385 8447 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8448 encoding, not decoding. Fix the handling of latin-jisx0201.
8449 Check for the charset katakana-jisx0201 too.
3c014385 8450 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8451 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8452
0da3ecef
GM
84532000-09-07 Gerd Moellmann <gerd@gnu.org>
8454
ab0ee409
GM
8455 * xfaces.c (Vparam_value_alist): New variable.
8456 (syms_of_xfaces): Initialize it.
8457 (Finternal_set_lisp_face_attribute): Avoid more consing.
8458
8459 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8460 specially.
8461 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8462 (Qbackground_mode): New variable.
8463 (syms_of_frame_1): Initialize Qbackground_mode.
8464
8465 * lisp.h (Qdisplay): Declare extern.
1091dd67 8466
0da3ecef
GM
8467 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8468 change face on all frames, and change the default for new frames.
8469
b14654b9
DL
84702000-09-07 Dave Love <fx@gnu.org>
8471
8472 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8473
d24fd56f
KH
84742000-09-07 Kenichi Handa <handa@etl.go.jp>
8475
794f3670
KH
8476 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8477
0fddd0dc
KH
8478 * charset.c: Include composite.h
8479 (lisp_string_width): New function.
8480 (Fstring_width): Call lisp_string_width instead of strwidth.
8481
8482 * Makefile.in (charset.o): Depends on composite.h.
8483
d24fd56f
KH
8484 * process.c (read_process_output): Before inserting the decoded
8485 text in the buffer, adjust the multibyteness.
8486
fa0b693c
GM
84872000-09-06 Gerd Moellmann <gerd@gnu.org>
8488
52283633 8489 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8490 buffer's text buffer is null, map new memory.
8491
0a58f946
GM
8492 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8493 POINTER_TYPE and size_t.
8494 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8495 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8496 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8497 [REL_ALLOC_MMAP]: New macros.
8498 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8499 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8500 [REL_ALLOC_MMAP]: New functions.
8501
8502 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8503 before and after unexec.
8504
8505 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8506 text buffers if necessary.
8507
8508 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8509 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8510 in prototypes.
8511
fa0b693c
GM
8512 * config.in (HAVE_MMAP): Add #undef.
8513
877055f6
GM
85142000-09-05 Gerd Moellmann <gerd@gnu.org>
8515
08ba3862
GM
8516 * frame.c (Qdisplay_type): New variable.
8517 (syms_of_frame_1): Initialize it.
8518 (Fframe_parameter): New function that avoids consing.
8519 (syms_of_frame): Defsubr it.
8520
66ffe51c
GM
8521 * buffer.c (Fother_buffer): Consider buffers as invisible when
8522 they are displayed in a window on an invisible frame.
8523
877055f6
GM
8524 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8525 get-largest-window always return nil.
8526
bb970e67
GM
85272000-09-04 Gerd Moellmann <gerd@gnu.org>
8528
8529 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8530 variable; recognize Emacs 19 elc files.
8531
7a3d0e0e
MB
85322000-09-04 Miles Bader <miles@gnu.org>
8533
8534 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8535 before initially popping up the menu, so the menu doesn't flash
52283633 8536 when the face settings are significantly different from the defaults.
7a3d0e0e 8537
14473664
SM
85382000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8539
8540 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8541 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8542 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8543 (BIT_UNIBYTE): Remove.
8544 (re_match_2_internal): Delete corresponding code and streamline the
8545 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8546 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8547 (re_wctype_t): New type.
8548 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8549 (regex_compile): Use them and fix handling of overly long char classes.
8550
c1174479
AI
85512000-09-03 Andrew Innes <andrewi@gnu.org>
8552
f8803e97
AI
8553 * makefile.w32-in: Change to DOS line endings.
8554
c1174479
AI
8555 * s/ms-w32.h (ORDINARY_LINK): New define.
8556
8557 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8558 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8559
8560 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8561 (distclean): Delete them here instead.
8562
44ef7cf6
AI
8563 * w32proc.c (compare_env): Convert to uppercase for comparison,
8564 not lowercase, to match how the native Windows shell works.
8565
49b3bd82
JR
85662000-09-03 Jason Rumney <jasonr@gnu.org>
8567
8568 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8569 CVS changes the line-ends when checking in/out on DOS/Windows.
8570
8571 * makefile.nt (emacs): Do not change directory to run temacs, as
8572 the load-path is set relative to current directory.
8573
a3d35a39
MB
85742000-09-03 Miles Bader <miles@gnu.org>
8575
8576 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8577
d276b0cf
GM
85782000-09-02 Gerd Moellmann <gerd@gnu.org>
8579
715e84c9
GM
8580 * xdisp.c (redisplay_mode_lines): New function.
8581 (display_mode_lines): Return number of mode lines displayed.
8582 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8583 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8584
8892f40b
GM
8585 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8586 string.h and strings.h.
8587 (index) [HAVE_INDEX]: Add prototype.
8588
d276b0cf
GM
8589 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8590 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8591
8592 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8593 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8594
38404229
GM
85952000-09-01 Gerd Moellmann <gerd@gnu.org>
8596
8597 * lread.c (read1): Accept `?' as symbol constituent, for
8598 compatiblity with XEmacs.
8599
c0f9ea08
SM
86002000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8601
8602 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8603 (struct re_pattern_buffer): Remove newline_anchor.
8604 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8605 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8606 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8607 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8608 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8609 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8610 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8611 Get rid of references to newline_anchor.
8612 (regcomp): Allocate and precompute a fastmap.
8613
8c0f83fe
GM
86142000-08-31 Gerd Moellmann <gerd@gnu.org>
8615
8616 * lread.c (openp): GCPRO local variable `filename'.
8617
4bb91c68
SM
86182000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8619
8620 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8621
8622 * regex.c: Merge some changes from GNU libc. Add prototypes.
8623 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8624 Use memcmp and memcpy instead of bcopy and bcmp.
8625 (init_syntax_once): Use ISALNUM.
8626 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8627 (REG_UNSET_VALUE): Remove. Use NULL instead.
8628 (REG_UNSET, re_match_2_internal): Use NULL.
8629 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8630 New macros.
8631 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8632 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8633 (regex_compile): In handle_interval, return an error rather than try to
8634 unfetch the interval if we can't find the closing brace.
8635 Obey the RE_NO_GNU_OPS syntax bit.
8636 (TOLOWER): New macro.
8637 (regcomp): Use it.
8638 (regexec): Allocate regs.start and regs.end as one block.
8639
5226a931
GM
86402000-08-30 Gerd Moellmann <gerd@gnu.org>
8641
868dd24b
GM
8642 * xdisp.c (echo_area_display): Check display_completed instead
8643 of calling detect_input_pending.
8644
8645 * dispnew.c (update_frame): Only set display_completed here; move
8646 the update_begin and update_end calls here from update_frame_1.
8647 (update_frame_1): Don't set display_completed here, don't call
8648 update_begin/update_end.
8649
5226a931
GM
8650 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8651 instead of store_frame_param.
8652
2a8bd25f
GM
86532000-08-29 Gerd Moellmann <gerd@gnu.org>
8654
8655 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8656 desired window matrix hasn't been displayed, use the current row
8657 instead. Make sure that only those frame rows are updated for
8658 which there exists a corresponding enabled desired row.
52283633 8659
ba3478d9
MB
86602000-08-29 Miles Bader <miles@gnu.org>
8661
8662 * xfaces.c (default_face_vector): New function.
8663 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8664
87d0f685
GM
86652000-08-29 Gerd Moellmann <gerd@gnu.org>
8666
8667 * lread.c (openp): Prevent temporary string passed to
8668 Ffile_readable_p from being garbage collected.
8669
6fa86045
DL
86702000-08-28 Dave Love <fx@gnu.org>
8671
8672 * keymap.c (store_in_keymap): Add `static' to declaration.
8673
bb17930d
GM
86742000-08-28 Gerd Moellmann <gerd@gnu.org>
8675
8676 * emacs.c, callint.c, doc.c, editfns.c
8677 (toplevel) [HAVE_STRING_H]: Include string.h.
8678 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8679 (index): Remove prototypes which might conflict with non-standard
8680 definitions of index/strchr.
8681
8682 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8683 (rindex): Define only if !HAVE_RINDEX.
8684
8685 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8686
8687 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8688
87188200
MB
86892000-08-28 Miles Bader <miles@gnu.org>
8690
8691 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8692 made inconsistent by a font-related attribute in FROM.
8693 (merge_face_inheritance): Add function comment.
8694
41a68aef
KH
86952000-08-28 Kenichi Handa <handa@etl.go.jp>
8696
8697 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8698 the 4th arg (PREV_EVENT) Qt to suppress input method.
8699
f7c436c1
SM
87002000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8701
0b32bf0e
SM
8702 * regex.c: Indent cpp directives and remove parens after `defined'.
8703 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8704 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8705 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8706 (re_compile_pattern): Use size_t for length.
8707 (init_syntax_once): Move to a better place.
8708 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8709 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8710
f7c436c1
SM
8711 * syntax.c (back_comment): Detect cases where a comment-starter is
8712 actually inside another comment as in: /* a // b */ c // d \n.
8713 Make it clear that `comstart_pos' is unused for nested comments.
8714
8715 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8716 (KEYMAPP): New macro.
8717 (Fkeymap_parent, Fset_keymap_parent): Use it.
8718 (fix_submap_inheritance): Mark it static.
8719 (define_as_prefix, describe_buffer_bindings, describe_command)
8720 (describe_translation, describe_map): Complete prototypes.
8721
8722 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8723
8724 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8725 to better match the key-lookup behavior.
8726
6288c62f
GM
87272000-08-27 Gerd Moellmann <gerd@gnu.org>
8728
8729 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8730 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8731
e931344e
EZ
87322000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8733
8734 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8735 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8736 (xterm.o): Depend on coding.h
8737
d10dfeef
KH
87382000-08-26 Kenichi Handa <handa@etl.go.jp>
8739
8740 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8741 the corresponding '#endif'.
8742
2d73e8d3
MB
87432000-08-26 Miles Bader <miles@gnu.org>
8744
8745 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8746 * xfaces.c (QCinherit): New variable.
8747 (syms_of_xfaces): Initialize it.
8748 (LFACE_INHERIT): New macro.
8749 (Finternal_get_lisp_face_attribute)
52283633 8750 (merge_face_vector_with_property)
2d73e8d3
MB
8751 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8752 (check_lface_attrs): Allow new types of face height. Check
8753 inherit attribute.
8754 (CYCLE_CHECK): New macro.
8755 (merge_face_inheritance): New function.
8756 (merge_face_vectors): Merge inherited faces too. Add F and
8757 CYCLE_CHECK arguments.
8758 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8759 (lookup_named_face, lookup_derived_face, realize_named_face)
8760 (face_at_string_position, face_at_buffer_position): Supply
8761 new F and CYCLE_CHECK arguments to merge_face_vectors.
8762 (merge_face_heights): New function.
52283633 8763 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8764 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8765 handle relative face heights.
8766 (lface_same_font_attributes_p): Compare heights using EQ.
8767
6ce974d4
KH
87682000-08-26 Kenichi Handa <handa@etl.go.jp>
8769
8770 * charset.c (char_to_string): Check the character validity.
52283633 8771 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8772
dc1e502d
SM
87732000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8774
8775 * regex.c (PUSH_FAILURE_COUNT): New macro.
8776 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8777 Handle popping of a register's or a counter's data.
8778 (POP_FAILURE_POINT): Use the new name.
8779 (re_match_2_internal): Push counter data on the stack for succeed_n,
8780 jump_n and set_number_at and remove misleading dead code in succeed_n.
8781
bd9d0f3f
GM
87822000-08-25 Gerd Moellmann <gerd@gnu.org>
8783
8784 * xdisp.c (redisplay_internal): If considering all windows on all
8785 frames, update the display for each frame as soon as possible,
8786 instead of first building all desired matrices for all frames, and
8787 then updating them all.
8788 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8789
aa5b8e15
GM
87902000-08-24 Gerd Moellmann <gerd@gnu.org>
8791
17494071
GM
8792 * bytecode.c (mark_byte_stack): Add a comment.
8793
52283633
SM
8794 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8795 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8796 a graphical frame.
8797
c543db81
KH
87982000-08-24 Kenichi Handa <handa@etl.go.jp>
8799
d246d5f5
KH
8800 * minibuf.c (do_completion): Always use compare-string, not
8801 string-equal because the latter doesn't pay attention to
8802 multibyteness of strings.
8803
c543db81
KH
8804 * process.c (create_process): Don't setup raw-text coding here.
8805 (Fopen_network_stream): Don't set coding->src_multibyte and
8806 coding->dst_multibyte here.
8807 (read_process_output): For process filter, return unibyte string
8808 if default-enable-multibyte-characters is nil.
8809 (send_process): If OBJECT is multibyte text, be sure to encoded it
8810 by the specified coding system for the process. Otherwise, setup
8811 raw-text coding.
52283633 8812 (init_process): Don't initialize default-process-coding-system here.
c543db81 8813
9b47cfe0
EZ
88142000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8815
8816 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8817 <scroll-down-aggressively>: Likewise.
8818
f5a36960
KH
88192000-08-23 Kenichi Handa <handa@etl.go.jp>
8820
8821 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8822 zero. Set coding->produced_char correctly.
8823
69a7ffa7
AI
88242000-08-22 Andrew Innes <andrewi@gnu.org>
8825
8826 * makefile.w32-in: New file.
8827
8828 * unexw32.c (unexec): Ignore old_name, and use the actual location
8829 of the current executable instead. Base new_name on this.
8830
8831 * w32proc.c (create_child): Remove reference to security
8832 descriptor, which isn't needed and doesn't compile with mingw32.
8833
8834 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8835 up dllimport attributes.
8836 (x_update_window_end): Update prototype.
8837
8838 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8839 extern, which screws up dllimport attributes.
8840
8841 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8842 up dllimport attributes.
8843
8844 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8845 screws up dllimport attributes.
8846
8847 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8848 up dllimport attributes.
8849 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8850 screws up dllimport attributes.
8851
8852 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8853 up dllimport attributes.
8854
8855 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8856 screws up dllimport attributes.
8857
8858 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8859 screws up dllimport attributes.
8860
8861 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8862 up dllimport attributes.
8863
8864 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8865 unnecessary extern, which screws up dllimport attributes.
8866 (main): Ditto.
8867
8868 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8869 up dllimport attributes.
8870
8871 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8872 unnecessary extern, which screws up dllimport attributes.
8873
8874 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8875 screws up dllimport attributes.
8876
8877 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8878 up dllimport attributes.
8879
8880 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8881
52283633
SM
8882 * w32bdf.c (search_file_line):
8883 (set_bdf_font_info):
8884 (seek_char):
8885 (w32_get_bdf_glyph):
69a7ffa7
AI
8886 (w32_BDF_to_x_font): Fix compile warnings.
8887
52283633 8888 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8889
8890 * w32select.c: Include keyboard.h before frame.h.
8891
8892 * w32fns.c (max): Define macro.
8893 (JOHAB_CHARSET): Define if not known.
8894 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8895 (Fx_show_tip): Synch with X version.
8896
8897 * w32xfns.c: Include keyboard.h before frame.h.
8898
8899 * w32fns.c: Include keyboard.h before frame.h.
8900
8901 * w32term.c: Include keyboard.h before frame.h.
8902
8903 * fontset.c: Include keyboard.h before frame.h.
8904
8905 * w32inevt.c: Include keyboard.h before frame.h.
8906 (MOUSE_MOVED): Define if not known.
8907
8908 * minibuf.c: Include keyboard.h before frame.h.
8909
8910 * keyboard.c: Include keyboard.h before frame.h.
8911
8912 * indent.c: Include keyboard.h before frame.h.
8913
8914 * dispnew.c: Include keyboard.h before frame.h.
8915
8916 * buffer.c: Include keyboard.h before frame.h.
8917
8918 * alloc.c: Include keyboard.h before frame.h.
8919
8920 * print.c: Include keyboard.h before frame.h.
8921
8922 * process.c: Include keyboard.h before frame.h.
8923
8924 * scroll.c: Include keyboard.h before frame.h.
8925
8926 * sysdep.c: Include keyboard.h before frame.h.
8927
8928 * term.c: Include keyboard.h before frame.h.
8929
8930 * window.c: Include keyboard.h before frame.h.
8931
8932 * xdisp.c: Include keyboard.h before frame.h.
8933 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8934
8935 * frame.c: Include keyboard.h before frame.h.
8936
8937 * w32heap.h: Undefine min, max.
8938
8939 * w32gui.h: Undefine min, max.
8940
8941 * unexw32.c: Change PUCHAR to PCHAR.
8942 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8943 (relocate_offset):
8944 (get_section_info):
69a7ffa7
AI
8945 (copy_executable_and_dump_data): Remove unnecessary static defs.
8946 (copy_executable_and_dump_data): Fix compile warnings.
8947
8948 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8949
8950 * w32console.c (min): Define macro.
8951 (clear_frame, write_glyphs): Fix compile warning.
8952
52283633 8953 * w32proc.c (compare_env):
69a7ffa7
AI
8954 (find_child_console): Fix compile warning.
8955
8956 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8957 sys_errlist instead of _sys_errlist.
8958 (get_emacs_configuration_options): New function.
8959
8960 * s/ms-w32.h (sys_nerr): Provide default definition.
8961 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8962 name with _ prepended.
8963 (NSIG): Define if not known.
8964 (get_emacs_configuration): Provide extern declaration.
8965 (get_emacs_configuration_options): Provide extern declaration.
8966 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8967
8968 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8969 (map_w32_filename):
69a7ffa7
AI
8970 (read_unc_volume): Fix compile warning.
8971
8972 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8973 definitions from being used.
8974
8975 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8976
52283633 8977 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8978 (open_unc_volume): Make arg const.
8979
8980 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8981 (read_input_waiting): Remove excess parameter.
8982
8983 * w32.c (init_environment): Call _access.
8984 (check_windows_init_file): Call _close.
8985 (init_user_info): Call _putenv.
8986 (init_environment): Call _putenv and _strdup.
8987 (init_ntproc): Reset volume info cache on startup.
8988
8989 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8990 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8991 cannot override the CRT malloc.
8992
8993 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8994 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8995
8996 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8997 unless we are linking with a static CRT.
8998 (RVA_TO_PTR): Cast result to unsigned char*.
8999
9000 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9001 (add_volume_info): Use xstrdup.
9002
25060080
SM
90032000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9004
9005 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9006 (do_completion, Fminibuffer_complete_word): Use it.
9007 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9008 var so it can take non-boolean values.
9009
6917e6bb
GM
90102000-08-21 Gerd Moellmann <gerd@gnu.org>
9011
acb7cc89 9012 * editfns.c (find_field): Formatting changes.
52283633 9013 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9014 changed to prototypes, some new protypes added, some functions
9015 made static.
9016
9017 * lisp.h (set_time_zone_rule): Add prototype.
9018 (use_dialog_box): External declaration.
9019
0bbfdc25
GM
9020 * keyboard.c (gen_help_event): Add parameter SIZE.
9021 (kbd_buffer_events_waiting): Slightly rewritten.
9022 (clear_event): New function.
9023 (kbd_buffer_get_event): Use it, and clear the input_events of
9024 HELP_EVENTs.
9025 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9026 don't fill the newly created array with nils.
9027 (toplevel): Convert some old-style function forward declarations
9028 to prototypes.
9029
9030 * keyboard.h (gen_help_event): Change prototype.
9031
9032 * xterm.c (XTread_socket): Change calls to gen_help_event.
9033
9034 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9035
6917e6bb
GM
9036 * eval.c (Fmacroexpand): Doc fix.
9037
e5cd3d11
JR
90382000-08-20 Jason Rumney <jasonr@gnu.org>
9039
9040 * w32term.h (x_display_info_for_display): Remove as this function
9041 does not exist on W32.
9042
9043 * w32term.c (help_echo_window): New variable.
9044 (syms_of_w32term): staticpro it.
9045 (note_mode_line_highlight): Set it.
9046 (XTextExtents16): Removed as there is no equivalent on W32.
9047 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9048 the X way of doing this will not work for W32.
9049 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9050 (x_draw_image_foreground): Avoid drawing outside of the clip area
9051 when image doesn't have a mask.
9052 (note_mouse_highlight): Process overlays in the right order of
9053 priority. Set help_echo_window.
9054 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9055 because that's more visible for large images.
9056
9057 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9058 name to single_keymap_panes.
9059 (w32_menu_show): Set wv->title when dealing with titles.
9060 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9061
6e69ab8c
MB
90622000-08-21 Miles Bader <miles@gnu.org>
9063
9064 * minibuf.c (do_completion): Try again if we rewrite the input
9065 string, but no completion was done, so that any completion message
9066 will be correct.
9067
511bd4eb
GM
90682000-08-20 Gerd Moellmann <gerd@gnu.org>
9069
9070 * xfaces.c (lface_equal_p): Compare strings differently.
9071 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9072 (realize_tty_face): Use them.
9073 (syms_of_xfaces): Initialize new variables.
9074 (map_tty_color): New function, extracted from realize_tty_face.
9075 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9076 foreground or background color, store the new color name in the
9077 realized face; previous code trying to do this had no effect.
9078 (realize_tty_face): Use map_tty_color.
9079 (Fclear_face_cache): Set face_change_count and ensure thorough
9080 redisplay.
9081
1433385f
GM
90822000-08-19 Gerd Moellmann <gerd@gnu.org>
9083
511bd4eb
GM
9084 * undo.c (record_first_change, record_marker_adjustment): Don't
9085 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9086
419ac0a2
KH
90872000-08-18 Kenichi Handa <handa@etl.go.jp>
9088
9089 * coding.c (decode_coding_string): Set members consumed,
9090 consumed_char, produced, produced_char of *coding correctly. If
9091 decode_coding doesn't consume any byte, don't try anymore.
9092 (encode_coding_string): Likewise.
9093
7eb9e30d
GM
90942000-08-18 Gerd Moellmann <gerd@gnu.org>
9095
511bd4eb
GM
9096 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9097 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9098
9099 * xdisp.c (redisplay_internal): Compare windows for equality with
9100 EQ, instead of applying XWINDOW to something that might not
9101 be a window.
52283633 9102
dd34a735
KH
91032000-08-18 Kenichi Handa <handa@etl.go.jp>
9104
9105 * fontset.c (Finternal_char_font): Search only the selected frame
9106 for a window of the current buffer.
9107
385ff9e3
GM
91082000-08-18 Gerd Moellmann <gerd@gnu.org>
9109
511bd4eb 9110 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9111 Lisp_Objects.
9112
385ff9e3
GM
9113 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9114 second half of a HELP_EVENT is found at the start of kbd_buffer.
9115
d6abb4c7
MB
91162000-08-18 Miles Bader <miles@gnu.org>
9117
4618074a
MB
9118 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9119
d6abb4c7
MB
9120 * editfns.c (save_restriction_save): Rewrite to use markers.
9121 (save_restriction_restore): Rewrite to understand new form of data
9122 saved by save_restriction_save.
9123 (Fsave_restriction): Remove cautionary note in doc-string.
9124
a7b28523
GM
91252000-08-17 Gerd Moellmann <gerd@gnu.org>
9126
9127 * fileio.c (build_annotations): Add a comment explaining the
9128 return value of format-annotate-function. Replace a spurious call
9129 to Flength with a CONSP test. Call format-annotate-function with
9130 a fifth arg specifying how many times the function is been called
9131 in a row, to let it choose temporary buffers appropriately.
9132
03c9ed77
DL
91332000-08-17 Dave Love <fx@gnu.org>
9134
9135 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9136 declare make_temp_name twice.
9137
52283633 9138 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9139 (unreadpure): Give it an arg.
9140
9141 * unexalpha.c: Prototype fatal_unexec, mark_x,
9142 update_dynamic_symbols. Declare unexec as void.
9143
9144 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9145 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9146
9147 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9148 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9149
9150 * alloca.c: Use #error.
9151 [POINTER_TYPE]: Use it.
9152
9153 * eval.c (Fdefvar): Doc fix.
9154
9155 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9156 INITIALIZE_INTERVAL.
9157
9158 * buffer.h: Avoid DECLARE_INTERVALS.
9159
9160 * config.in: Add size_t.
9161
aae41d97
EZ
91622000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9163
9164 * w16select.c (set_clipboard_data): If there's not enough memory
9165 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9166 expects. In case of other failures, return 3.
9167 (system_error_msg): New error message.
9168 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9169 system_error_msg.
9170
65aa5e85
GM
91712000-08-16 Gerd Moellmann <gerd@gnu.org>
9172
9173 * term.c (write_glyphs): Also turn off inverse video after turning
9174 off other appearances in case TS_exit_attribute_mode is not equal
9175 to TS_end_standout_mode.
9176 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9177 with the same face.
9178 (turn_off_face): Reset standout_mode only if
9179 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9180 is equal to TS_end_standout_mode.
9181
ece23901
KH
91822000-08-16 Kenichi Handa <handa@etl.go.jp>
9183
9d7bcb2e
KH
9184 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9185 sequence at the end of the source block.
9186
ece23901
KH
9187 * ccl.c (Fccl_program_p): Docstring modified.
9188 (Fccl_execute): Likewise.
9189 (Fccl_execute_on_string): Likewise.
9190
5e30eaa2
EZ
91912000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9192
9193 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9194
290602fd
KH
91952000-08-16 Kenichi Handa <handa@etl.go.jp>
9196
9197 The following changes are mainly to fix bugs of
9198 encode/decode-coding-string failing if encoding/decoding return
9199 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9200 variable conversion_buffer.
9201
9202 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9203 decrement dst_end to avoid buffer overflow in the later call of
9204 string_as_multibyte
9205
9206 * coding.h (conversion_buffer_size, conversion_buffer)
9207 (get_conversion_buffer): Extern deleted.
9208
9209 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9210 (conversion_buffer, conversion_buffer_size): Variables deleted.
9211 (get_conversion_buffer): Function deleted.
9212 (struct conversion_buffer): New structure.
9213 (MAX_ALLOCA): New macro.
9214 (allocate_conversion_buffer): New macro.
9215 (extend_conversion_buffer, free_conversion_buffer): New functions.
9216 (ccl_coding_driver): Set coding->result.
9217 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9218 this is the last block of source.
9219 (encode_coding): Likewise. Handle the source block as the last
9220 one only when the whole source text is consumed.
9221 (decode_coding_string): Handle the case that the output buffer is
9222 too small to decode the whole source text. Use
9223 allocate_conversion_buffer, extend_conversion_buffer and
9224 free_conversion_buffer, not get_conversion_buffer.
9225 (encode_coding_string): Likewise.
9226 (init_coding): Function deleted.
52283633 9227 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9228
9229 * emacs.c (main): Don't call init_coding.
9230
52283633 9231 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9232
9233 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9234 (insert_glyphs): Likewise.
9235
9236 * w32console.c (write_glyphs): Use a locally declared
9237 conversion_buffer.
9238
b9f80d41
EZ
92392000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9240
9241 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9242 member of display_info is NULL.
9243
32dc52f7
GM
92442000-08-15 Gerd Moellmann <gerd@gnu.org>
9245
52283633 9246 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9247
32dc52f7 9248 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9249 appearances with capability `me'.
32dc52f7
GM
9250 (write_glyphs): Switch on inverse video before each face change.
9251
4eb22d33
DL
92522000-08-14 Dave Love <fx@gnu.org>
9253
9254 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9255 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9256 (lisp_free): Declare and make static.
9257
9258 * window.c: Fix embedded comment.
9259 (syms_of_window): Fix doc string.
9260
90cbf47e
GM
92612000-08-14 Gerd Moellmann <gerd@gnu.org>
9262
52283633 9263 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9264 make sure to print `C-' before `M-', like in the manual.
9265
440fc135
GM
92662000-08-11 Gerd Moellmann <gerd@gnu.org>
9267
9268 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9269 since they aren't relocated anymore.
52283633 9270 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9271
9272 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9273 partially visible line which is smaller than the window's height.
440fc135 9274
6e264fad
KH
92752000-08-11 Kenichi Handa <handa@etl.go.jp>
9276
9277 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9278 the multibyte form of eight-bit-control characters.
6e264fad
KH
9279 (Fccl_execute_on_string): Initialize ccl->multibyte.
9280
9281 * ccl.h (struct ccl_program): New member multibyte.
9282
9283 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9284
c371f69a
KH
92852000-08-11 Kenichi Handa <handa@etl.go.jp>
9286
9287 * regex.c (regex_compile) <normal_char>: Pay attention to
9288 multibyteness.
9289 (analyse_first) <exactn>: Setup fastmap correctly for
9290 eight-bit-control characters.
9291
92922000-08-11 Kenichi Handa <handa@etl.go.jp>
9293
52283633 9294 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9295
9296 * keyboard.c (make_lispy_event): Handle the new event type
9297 multibyte_char_keystroke.
9298
9299 * xterm.c: Include coding.h.
9300 (XTread_socket): Work around a bug of XmbLookupString. If the
9301 input is from XIM, decode it according to the current locale. In
9302 that case, generate multibyte_char_keystroke events.
9303
b8ddbe71
KH
93042000-08-11 Kenichi Handa <handa@etl.go.jp>
9305
9306 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9307 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9308
47589c8c
GM
93092000-08-10 Gerd Moellmann <gerd@gnu.org>
9310
9311 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9312 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9313 (move_it_in_display_line_to): Record iterator's ascent and descent
9314 before producing glyphs, and restore them when we know the glyph
9315 doesn't fit on the line.
9316 (move_it_to): Restructured so that it's easier to debug. If
9317 moving to a vpos, and not moving to an x or character position,
9318 stop as soon as the specified vpos is reached; don't move further
9319 into that line because that might change the computed line height.
9320 (try_cursor_movement): New function, extracted from the cursor
9321 movement branch of redisplay_window. If ending on a partially
9322 visible line, don't try to scroll if the cursor line is taller
9323 than the window.
9324 (redisplay_window): Use try_cursor_movement.
9325
9326 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9327 because that function doesn't cope with variable-height lines.
9328
9329 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9330 box cursor because that's better visible for large images.
52283633 9331
c51bacd6
MB
93322000-08-10 Miles Bader <miles@gnu.org>
9333
9334 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9335
bea56df7
GM
93362000-08-10 Gerd Moellmann <gerd@gnu.org>
9337
9338 * xdisp.c (Vmessages_buffer_name): New variable.
9339 (message_dolog): Use it.
9340 (syms_of_xdisp): Initialize it.
9341
99cd7364
EZ
93422000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9343
52283633 9344 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9345 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9346 redundant now that keyboard.h is included.
9347
7d093d56
EZ
93482000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9349
9350 * keyboard.c (kbd_buffer_events_waiting): New function.
9351
9352 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9353
9354 * msdos.c: Include keyboard.h.
9355 (XMenuActivate): Empty no_event events from the event buffer. If
9356 no events are left after that, call clear_input_pending.
9357 (mouse_clear_clicks): New function, code moved from mouse_init.
9358 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9359 mouse driver to ``forget'' any past clicks.
9360
9361 * Makefile.in (msdos.o): Depend on keyboard.h.
9362
41e757a6
GM
93632000-08-09 Gerd Moellmann <gerd@gnu.org>
9364
8e7bd231
GM
9365 * lisp.h (input_pending): External declaration.
9366
9367 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9368
8e7bd231
GM
9369 * xdisp.c (echo_area_display): Display thoroughly if input is
9370 pending. Bind redisplay-dont-pause to t during the redisplay.
9371 in case input is pending.
9372
9373 * dispnew.c (Qredisplay_dont_pause): New variable.
9374 (syms_of_display): Initialize and staticpro it.
9375 (update_frame_1): Don't interrupt the display for pending input if
9376 redisplay_dont_pause is set.
52283633 9377
43028b7e
GM
9378 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9379
41e757a6
GM
9380 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9381
2f2174fa
KH
93822000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9383
9384 * callproc.c (Fcall_process): Terminate the unwind-protect around
9385 the post-read-conversion of coding system.
9386
0a6fd67e
MB
9387 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9388 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9389 * buffer.h (overlays_at): Update prototype.
9390 * xdisp.c (next_overlay_change): Update call to overlays_at.
9391 * xfaces.c (face_at_buffer_position): Likewise.
9392 * textprop.c (Fget_char_property): Likewise.
9393 * xterm.c (note_mouse_highlight): Likewise.
9394
0c80756e
MB
9395 * minibuf.c (do_completion): Don't consider a simple change of
9396 case as `completion'.
9397
975f250a
KR
93982000-08-08 Ken Raeburn <raeburn@gnu.org>
9399
52283633 9400 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9401 * undo.c (record_delete): Make sure last_point_position_buffer is
9402 a buffer before comparing pointers.
9403
9404 * coding.h (decode_coding_string): Declare.
9405
9406 * intervals.h (Fprevious_single_char_property_change): Declare.
9407
9408 * textprop.c (Fprevious_single_char_property_change): Don't do
9409 arithmetic directly on lisp objects.
9410
52283633 9411 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9412
9413 * keyboard.h (menu_item_eval_property): Declare.
9414
9415 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9416 reuse as buffer name, instead of recreating (and discarding) every
9417 time a message is logged.
9418 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9419 (current_message_1, truncate_message_1, set_message_1)
9420 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9421 (current_message, truncate_echo_area, display_echo_area)
9422 (resize_echo_area_axactly): Changed calls.
b347b3fd 9423
975f250a 9424 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9425 Lisp object.
975f250a 9426 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9427 must be an integer, not a Lisp object.
975f250a 9428
46dc9912
KH
94292000-08-08 Kenichi Handa <handa@etl.go.jp>
9430
9431 * charset.c (Fchar_width): Doc fix.
9432
9f6d1a6c
GM
94332000-08-08 Gerd Moellmann <gerd@gnu.org>
9434
9435 * charset.c (Fstring_width): Doc fix.
9436
ff3d9573
GM
94372000-08-07 Gerd Moellmann <gerd@gnu.org>
9438
41e757a6 9439 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9440 line, clear ascent and descent members of the iterator structure;
9441 the height of the continued line does not affect the height of the
9442 continuation line.
9443 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9444 line taller than the window.
9445 (redisplay_window) <forced window start>: Handle case that the
9446 middle of the window is not found in any row.
9447 (dump_glyph_row): Show more information.
9448 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9449 first text line in a glyph matrix.
9450
9451 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9452 of the clip area when image doesn't have a mask.
9453
70fc58b3
GM
9454 * fns.c (sweep_weak_table): Fix survival conditions for
9455 key-or-value and key-and-value weakness.
9456
9457 * .gdbinit (xhashtable): New command.
9458
ac0e96ee
GM
9459 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9460 tables out of the list of all weak hash tables.
9461
ff3d9573
GM
9462 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9463 a new buffer is created, make sure echo_area_buffer[] references
9464 the new buffer.
9465
e0d8827b
EZ
94662000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9467
9468 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9469 the doc string.
9470
c6f35378
KH
94712000-08-07 Kenichi Handa <handa@etl.go.jp>
9472
9473 * syntax.c (skip_chars): Fix previous change. Make the handling
9474 of unibyte string consistent with that of regex search.
9475
1fd4c450
GM
94762000-08-05 Gerd Moellmann <gerd@gnu.org>
9477
e49aa397
GM
9478 * xmenu.c (popup_get_selection): Use xfree instead of free.
9479
9480 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9481
9482 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9483
9484 * callproc.c (child_setup): Use xfree instead of free.
9485
9486 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9487 instead of malloc.
9488 (run_mac_command, closedir): Use `xfree' instead of `free'.
9489
9490 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9491
9492 * eval.c (error): Use xfree instead of free.
9493
1fd4c450
GM
9494 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9495
9496 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9497 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9498
82d497fc
KH
94992000-08-05 Kenichi Handa <handa@etl.go.jp>
9500
9501 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9502 conversion.
9503
59f953a2
NF
95042000-08-04 Noah Friedman <friedman@splode.com>
9505
9506 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9507 docstring.
9508
688351f2
GM
95092000-08-04 Gerd Moellmann <gerd@gnu.org>
9510
9511 * syntax.c (skip_chars): Fix typo in error message.
9512
2dad51cc
AS
95132000-08-04 Andreas Schwab <schwab@suse.de>
9514
9515 * m/ia64.h: Moved from s/ia64.h.
9516
99bb2c60
KH
95172000-08-04 Kenichi Handa <handa@etl.go.jp>
9518
082a1df2
KH
9519 * process.c (read_process_output): Big simplification. Handle
9520 composition and post-read-conversion of coding system correctly.
9521 (send_process): Handle composition correctly.
9522
9523 * callproc.c (Fcall_process): Handle post-read-conversion of
9524 coding system if any.
9525
99bb2c60
KH
9526 * coding.c (decode_coding_iso2022): More strict check for handling
9527 single shifting.
082a1df2
KH
9528 (coding_restore_composition): Pay attention to the case that
9529 cmp_data is not set properly (because of invalid code in the
9530 source text).
9531 (run_pre_post_conversion_on_str): Include text properties in the
9532 resulting string.
9533 (decode_coding_string): Set members of coding correctly.
99bb2c60 9534
f4988be7
GM
95352000-08-03 Gerd Moellmann <gerd@gnu.org>
9536
9537 * s/ia64.h: New file.
9538
9539 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9540 Use NULL instead of 0 at the end of variable argument list of
9541 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9542 sizeof (int) < sizeof (void *).
9543
9544 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9545 of variable argument lists of XtVaGetValues and XtVaSetValues.
9546
9547 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9548 variable argument lists of XtVaGetValues and XtVaSetValues.
9549
ead53494
GM
95502000-08-02 Gerd Moellmann <gerd@gnu.org>
9551
9552 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9553 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9554
9555 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9556 prototype.
9557
9558 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9559 in call to Fsingle_key_description.
9560
9561 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9562 Callers changed.
9563
95642000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9565
9566 * window.c (display_buffer_reuse_frames): New variable.
9567 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9568 frames displaying BUFFER.
52283633 9569 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9570
10b0f752
MB
95712000-08-01 Miles Bader <miles@gnu.org>
9572
9573 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9574 when to constrain NEW_POS (they were pretty screwed up before).
9575
16425c4a
EZ
95762000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9577
9578 * msdos.c (run_msdos_command): Save and restore the master
9579 environment, for the case that child_setup signals an error.
9580 When mirroring slashes in DOS shell commands, don't fail when
9581 argv[2] has embedded blanks.
da288c14
EZ
9582 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9583 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9584 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9585
9586 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9587 using alloca; free it after run_msdos_command returns.
9588
27f73852
DL
95892000-07-27 Dave Love <fx@gnu.org>
9590
52283633
SM
9591 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9592 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9593
9594 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9595
c0261b5e
EZ
95962000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9597
9598 * editfns.c (lisp_time_argument): Fix last change.
9599
b548072f
GM
96002000-07-27 Gerd Moellmann <gerd@gnu.org>
9601
3ab82477
GM
9602 * fns.c (Fdelete): Make it work on vectors and strings in addition
9603 to lists.
9604
b548072f
GM
9605 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9606 (syms_of_fns): Initialize new variables.
52283633 9607 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9608 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9609 weakness, with t meaning the same as `key-and-value'.
9610
91ae8751
KH
96112000-07-27 Kenichi Handa <handa@etl.go.jp>
9612
9613 * coding.h (struct coding_system): Member safe_charset deleted.
9614
9615 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9616 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9617 New variables.
91ae8751
KH
9618 (coding_safe_chars): New function.
9619 (CODING_SAFE_CHAR_P): New macro.
9620 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9621 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9622 (detect_coding_iso2022): New local variable safe_chars.
9623 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9624 safe_charsets member of the coding system.
9625 (decode_coding_iso2022): New local variable safe_chars.
9626 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9627 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9628 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9629 (ENCODE_UNSAFE_CHARACTER): New macro.
9630 (encode_coding_iso2022): New local variable safe_chars. Check
9631 unsafe chars.
9632 (setup_coding_system): Delete the code to initialize
9633 coding->safe_charses
9634 (intersection, find_safe_codings): New functions.
9635 (Ffind_coding_systems_region_internal): New function.
9636 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9637 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9638 variable and initialize it.
9639
9640 * fns.c (char_table_ref_and_index): New function.
9641
9642 * lisp.h (char_table_ref_and_index): Add prototype.
9643
34a7a267
SS
96442000-07-26 Sam Steingold <sds@gnu.org>
9645
9646 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9647 (Ffloat_time): New built-in Lisp function.
34a7a267 9648
a95cb10a
GM
96492000-07-26 Gerd Moellmann <gerd@gnu.org>
9650
3353ef5a
GM
9651 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9652 for the character code.
9653
9654 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9655 GNU/Linux.
9656
a95cb10a
GM
9657 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9658 if called for a popup menu.
9659 (xmenu_show): Store help string in widget values.
9660
b4a12321
DL
96612000-07-26 Dave Love <fx@gnu.org>
9662
9663 * syswait.h: Move some definitions.
9664 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9665 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9666 perspicuous definitions.
9667 (WTERMSIG): Fix bit pattern used.
9668
13f5ad37
KH
96692000-07-26 Kenichi Handa <handa@etl.go.jp>
9670
9671 * print.c (print_object): If vector printing is truncated, print
9672 "..." to indicate it as well as the case of list printing.
9673
070fe99c
GM
96742000-07-25 Gerd Moellmann <gerd@gnu.org>
9675
969065c3
GM
9676 * xdisp.c (next_element_from_display_vector): Improve comments.
9677
9678 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9679 for the character code, and the rest for the face id as in 20.x.
9680 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9681
9682 * window.c (window_display_table): Cleaned up.
9683
070fe99c
GM
9684 * syntax.c (Fforward_word): Add last arg nil in call of
9685 Fconstrain_to_field.
9686
bad77ef7
EZ
96872000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9688
969065c3 9689 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9690 identical but for the letter-case, don't call
9691 barf_or_query_if_file_exists.
bad77ef7 9692
c28da489
MB
96932000-07-25 Miles Bader <miles@gnu.org>
9694
9695 * editfns.c (find_field): Honor special `boundary' fields.
9696 (Qboundary): New variables.
9697 (syms_of_editfns): Initialize Qboundary.
9698 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9699 Use scan_buffer instead of find_before_next_newline, because it
9700 allows us to detect the boundary case where there's a newline at
9701 the search limit.
9702 * lisp.h (Fconstrain_to_field): Update external declaration.
9703
e3c31fd5
GM
97042000-07-24 Gerd Moellmann <gerd@gnu.org>
9705
9706 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9707 if that is nil.
c28da489 9708
c66c29a2
DL
97092000-07-24 Dave Love <fx@gnu.org>
9710
9711 * s/sunos4-0.h, s/sol2.h:
9712 (LIBS_TERMCAP): Move from m/sparc.h.
9713
9714 * m/sparc.h (TERMINFO): Moved to system files (probably only
9715 relevant for sunos4 judging by its vintage).
9716 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9717 __arch64__.
9718
fbe0a958
EZ
97192000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9720
9721 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9722 name to single_keymap_panes.
9723
7d88e5c9
AS
97242000-07-24 Andreas Schwab <schwab@suse.de>
9725
9726 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9727
e024b101
GM
97282000-07-24 Gerd Moellmann <gerd@gnu.org>
9729
9730 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9731 parameters instead of using int parameters. Expect FN to accept
9732 EMACS_INT parameters.
9733 (display_echo_area, resize_echo_area_axactly, current_message)
9734 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9735 with new argument list.
9736 (resize_mini_window_1): New callback function.
9737 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9738 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9739
25c1a9ce
KH
97402000-07-24 Kenichi Handa <handa@etl.go.jp>
9741
9742 * fontset.c (fontset_ref): Remove INLINE declaration.
9743 (fontset_ref_via_base): Likewise.
9744 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9745 to downcase.
9746
7f987ac0
EZ
97472000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9748
9749 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9750 correct order of priority. If help echo was found in an overlay,
9751 use that overlay as the object in which the help echo was found.
9752
e2db3069
MB
97532000-07-22 Miles Bader <miles@gnu.org>
9754
9755 * textprop.c (Fprevious_single_char_property_change): The initial
9756 property value should be from the position preceding POSITION, not
9757 following it.
9758
5e3203e4
EZ
97592000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9760
9761 * coding.c (syms_of_coding): Doc fix for
9762 inhibit-iso-escape-detection.
9763
62145073
GM
97642000-07-21 Gerd Moellmann <gerd@gnu.org>
9765
c20aeb83
GM
9766 * xterm.c (note_mouse_highlight): Process overlays in the right
9767 order of priority.
34a7a267 9768
743934db
GM
9769 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9770
9771 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9772 overlay, use that overlay as the object in which the help was found.
743934db 9773
d1dc7e43 9774 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9775
62145073
GM
9776 * window.c (foreach_window): Instead of a fake variable argument
9777 list, take one USER_DATA argument.
9778 (foreach_window_1): Likewise, and call callback functions with two
9779 args, the window and USER_DATA.
9780 (struct check_window_data): New struct.
9781 (check_window_containing): Use it.
9782 (window_from_coordinates): Set up a struct check_window_data for
9783 foreach_window.
9784 (add_window_to_list, freeze_window_start): Change parameters
9785 according to new calling convention.
9786
9787 * window.h (foreach_window): Change prototype.
9788
9789 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9790
97912000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9792
9793 * xmenu.c (menu_help_callback): Call show_help_echo with
9794 additional arguments OBJECT and POS.
9795
11270583
KH
97962000-07-21 Kenichi Handa <handa@etl.go.jp>
9797
07b14857
KH
9798 * data.c (Faset): Allow storing any multibyte character in a
9799 string. Convert unibyte string to multibyte if necessary.
9800
11270583
KH
9801 * xfns.c (x_encode_text): New function.
9802 (x_set_name): Use x_encode_text.
9803 (x_set_title): Likewise.
9804
9805 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9806
9807 * xterm.h (x_encode_text): Add prototype.
9808
bc75b4fd
DL
98092000-07-20 Dave Love <fx@gnu.org>
9810
9811 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9812 xfree, not free.
9813
48c14970
EZ
98142000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9815
9816 * msdos.c (help_echo_window): New variable.
9817 (syms_of_msdos): Initialize and staticpro it.
9818 (IT_note_mode_line_highlight): Set help_echo_window.
9819 (IT_note_mouse_highlight): Ditto.
9820 (dos_rawgetc): Store help_echo_window in the second event produced
9821 for HELP_EVENTs.
9822
9823 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9824 Record the object that generated the help echo and the position of
9825 that object in help_echo_object and help_echo_pos. Record that
9826 some glyphs in a row are displayed in mouse-face.
9827 (IT_update_begin): Don't clear mouse highlight unless one of the
9828 enabled glyph rows is marked as being displayed in mouse-face.
9829 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9830 and position recorded in help_echo_object and help_echo_pos to the
9831 event queue.
9832 (IT_menu_display): Accept a new argument PN: the pane number of
9833 the current menu pane. Record the pane number and the item
9834 number of the item which has associated help string.
9835 (XMenuActivate): Update the prototype for help_callback in
9836 function declaration. Call IT_menu_display with the current menu
9837 pane number as an additional argument. Call help_callback with
9838 two additional arguments: the pane number and the item number of
9839 the menu item associated with the help text.
9840 (help_echo_object, help_echo_pos): New variables.
9841 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9842
9843 * msdos.h (XMenuActivate): Update prototype.
9844
4279296d
GM
98452000-07-19 Gerd Moellmann <gerd@gnu.org>
9846
47db06aa
GM
9847 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9848 Add some more prototypes.
9849
9850 * xterm.c, xterm.h: Add some more prototypes.
9851
9852 * lisp.h (Fnext_single_char_property_change): Add prototype.
9853
9854 * dispnew.c (direct_output_for_insert): Remove confusing
9855 outer local variable mouse_face_overwritten_p.
9856 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9857
4279296d
GM
9858 * alloc.c (allocate_string_data): Don't copy old string contents.
9859
670acd62
KH
98602000-07-19 Kenichi Handa <handa@etl.go.jp>
9861
9862 * coding.c (code_convert_region): Delete text properties before
9863 shrinking the conversion region.
9864
7cea38bc
GM
98652000-07-18 Gerd Moellmann <gerd@gnu.org>
9866
dc1cac59
GM
9867 * dispnew.c (update_text_area): Write the whole row if it
9868 has mouse-face in it.
9869
85a8aca9
GM
9870 * xfaces.c (face-alternative-font-family-alist): Remove
9871 DEFVAR_LISP; staticpro instead.
9872
34a7a267 9873 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9874 new arguments.
9875
9876 * keyboard.c (show_help_echo): Add parameter WINDOW.
9877 (read_char): Call show_help_echo with window extracted from Lisp
9878 help event.
9879 (gen_help_event): Add parameter WINDOW.
9880
9881 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9882
9883 * xterm.c (help_echo_window): New variable.
52283633 9884 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9885 (XTread_socket): Pass help_echo_window to gen_help_event.
9886 (syms_of_xterm): Initialize and staticpro help_echo_window.
9887
f8276b77
DL
98882000-07-18 Dave Love <fx@gnu.org>
9889
52283633 9890 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9891
088831a6
GM
98922000-07-18 Gerd Moellmann <gerd@gnu.org>
9893
3d6cd763
GM
9894 * alloc.c (allocate_string_data): If string had already data
9895 assigned, copy old contents to new string data.
9896
9897 * coding.c (syms_of_coding): Fix typo in spelling of variable
9898 `inhibit-iso-escape-detection'.
9899
088831a6
GM
9900 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9901
9902 * Makefile.in: Add dependencies on dispextern.h.
9903 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9904 `free'; both can conflict with system header files.
9905
bc8a8d55
KH
99062000-07-18 Kenichi Handa <handa@etl.go.jp>
9907
9908 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9909 undefined.
9910
069f5950
DL
99112000-07-18 Dave Love <fx@gnu.org>
9912
9913 * window.c (Fwindow_list): Declare arg `window'.
9914
aa96c820
KH
99152000-07-18 Kenichi Handa <handa@etl.go.jp>
9916
9917 * coding.c (setup_coding_system): Don't override the explicitly
9918 specified designations.
9919
06be8d32
MB
99202000-07-15 Miles Bader <miles@gnu.org>
9921
9922 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9923 from `text_property_eq' and `text_property_stickiness', respectively.
9924 (find_field, Fconstrain_to_field, char_property_eq)
9925 (char_property_stickiness): Changed to call char-property functions
9926 instead of text-property-only ones.
9927
9928 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9929 `next_single_char_property_change'). Do more error checking, and
9930 cleanup limit behavior.
9931 (Fprevious_single_char_property_change): New function.
9932 (syms_of_textprop): Initialize new subrs.
9933
9934 * xdisp.c (display_prop_end, invisible_text_between_p):
9935 Call Fnext_single_char_property_change instead of
9936 next_single_char_property_change.
9937
3fddcdc3
JR
99382000-07-15 Jason Rumney <jasonr@gnu.org>
9939
9940 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9941 after menu is finished with.
9942 (add_menu_item): Only consider wv->title as a menu title.
9943 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9944
9945 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9946 null title.
9947 (FONT_REGEXP): Remove unused macro, and its sub-components.
9948 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9949
9950 * w32term.c (help_echo_object, help_echo_pos): New variables.
9951 (note_mode_line_highlight): Store additional information about the
9952 help-echo in help_echo_object and help_echo_pos. Check both
9953 `local-map' and `keymap' properties for changing the cursor
9954 (note_mouse_highlight): Store additional information about the
9955 help-echo in help_echo_object and help_echo_pos.
9956 (note_tool_bar_highlight): Set help_echo_object to nil and
9957 help_echo_pos to -1.
9958 (w32_read_socket): Use gen_help_event instead of filling
9959 input_events manually.
9960 (syms_of_w32term): Staticpro help_echo_object.
9961 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9962 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9963 (x_clear_mouse_face): New function.
9964 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9965 (x_update_window_begin): No need to turn off the mouse
9966 highlight here.
9967 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9968 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9969 (x_fill_stretch_glyph_string): Consume runs of stretch
9970 glyphs instead of a single one.
9971 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9972 with new argument list.
9973 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9974 (x_append_glyph, x_append_composite_glyph)
9975 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9976 changes in struct glyph starting 1999-12-27. See comments for
9977 xterm.c on 2000-07-05.
9978
178c5d9c
SS
99792000-07-14 Sam Steingold <sds@gnu.org>
9980
9981 * xfaces.c (realize_x_face): Fix the last patch:
9982 check `default_face' before dereferencing.
9983
6fe533f6
DL
99842000-07-14 Dave Love <fx@gnu.org>
9985
069f5950 9986 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9987
dd7b81cf
KH
99882000-07-14 Kenichi Handa <handa@etl.go.jp>
9989
0693904a 9990 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9991 default_face's fontset, not using the default fontset.
0693904a 9992
dd7b81cf
KH
9993 * coding.c (inhibit_iso_escape_detection): New variable.
9994 (syms_of_coding): Make it a Lisp variable.
9995 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9996 nonzero, ignore ISO2022's escape sequence.
9997
d5aa31d8
GM
99982000-07-14 Gerd Moellmann <gerd@gnu.org>
9999
e5acf0ca
GM
10000 * alloca.c (malloc) [emacs]: Define as xmalloc.
10001
bd23a692
GM
10002 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10003 use that instead of the mouse position. Add parameters DX and DY.
10004
10005 * dispextern.h (Fx_show_tip): Adjust number of parameters
10006 in prototype.
10007
9662da0b
GM
10008 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10009 if HELP is a function, call it with OBJECT and POS as parameters
10010 to get the help to display.
10011 (gen_help_event, kbd_buffer_store_help_event): New functions.
10012 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10013 (read_char): Call show_help_echo with new parameters.
10014
178c5d9c 10015 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10016 Add prototypes.
10017
10018 * xterm.c (help_echo_object, help_echo_pos): New variables.
10019 (note_mode_line_highlight): Store additional information about the
10020 help-echo in help_echo_object and help_echo_pos. Check both
10021 `local-map' and `keymap' properties for changing the cursor
10022 (note_mouse_highlight): Store additional information about the
10023 help-echo in help_echo_object and help_echo_pos.
10024 (note_tool_bar_highlight): Set help_echo_object to nil and
10025 help_echo_pos to -1.
10026 (XTread_socket): Use gen_help_event instead of filling
10027 input_events manually.
10028 (syms_of_xterm): Staticpro help_echo_object.
10029
10030 * xmenu.c (menu_highlight_callback): Use
10031 kbd_buffer_store_help_event instead of setting up and input_event
10032 structure manually.
10033
10034 * xdisp.c (eval_form): GCPRO argument sexpr.
10035 (call_function): New function.
10036 (handle_single_display_prop): Use call_function and FUNCTIONP
10037 instead of checking whether if font_height is a symbol and
10038 using eval_form.
10039
10040 * eval.c (internal_condition_case_2): New function.
10041
10042 * lisp.h (FUNCTIONP): New macro.
10043 (internal_condition_case_2, call_function): Add prototypes.
10044
d5aa31d8
GM
10045 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10046 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10047 Always set `arg' member of input_events.
10048 (construct_menu_click): Unused function removed.
10049
10050 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10051
10052 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10053 (construct_drag_n_drop, x_scroll_bar_handle_click)
10054 (w32_read_socket): Always set `arg' member of input_events.
10055
10056 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10057
10058 * lisp.h (eval_form): Add prototype.
10059
10060 * xdisp.c (eval_form): Make it externally visible.
10061
0f1a9b23
GM
100622000-07-13 Gerd Moellmann <gerd@gnu.org>
10063
10064 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10065 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10066 consing. For prefix events, store the frame in the `arg' slot of
10067 the event, otherwise store the key there.
10068 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10069 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10070
10071 * xmenu.c (menu_highlight_callback): Store help string in the
10072 `arg' member of the input event; don't cons.
10073 (menubar_selection_callback): Use the `arg' slot of input events
10074 to queue additional information, instead of consing.
10075
10076 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10077
10078 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10079 TOOL_BAR_EVENTs.
10080 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10081
10082 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10083 input events to queue additional information, instead of consing.
10084
10085 * keyboard.c (kbd_buffer_gcpro): Renamed from
10086 kbd_buffer_frame_or_window. Now used for all Lisp objects
10087 referenced from the input queue.
10088 (kbd_buffer_store_event): Always use structure assignment for
10089 copying input events. Record all Lisp objects referenced from
10090 events in kbd_buffer_gcpro.
10091 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10092 differently from input events. Test for prefix menu_bar_events
10093 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10094 event in kbd_buffer_gcpro to nil.
10095 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10096 frame_or_window is equal to its arg member as prefix events.
10097 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10098 used by an input event to nil.
10099 (init_keyboard): Use two times the size of the input queue
10100 for kbd_buffer_gcpro.
10101 (syms_of_keyboard): Likewise.
10102
52283633
SM
10103 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10104 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10105
10106 * termhooks.h (struct input_event): Add member `arg'.
10107 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10108 (USER_SIGNAL_EVENT): Renamed from user_signal.
10109
10110 * xfaces.c (ASET): Remove definition.
10111
10112 * lisp.h (AREF, ASET, ASIZE): New macros.
10113
10114 * fontset.c (AREF, ASIZE): Remove definitions.
10115
10116 * fns.c (AREF): Remove definition.
178c5d9c 10117
0f1a9b23
GM
10118 * composite.c (AREF): Remove definition.
10119
712eaef2
GM
101202000-07-12 Gerd Moellmann <gerd@gnu.org>
10121
d8ee7803
GM
10122 * dispnew.c (redraw_overlapped_rows): Add missing local.
10123 (scrolling_window): Remove debug code.
10124
712eaef2
GM
10125 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10126 Before scrolling, turn off a mouse-highlight in the window
10127 being scrolled.
10128
10129 * xterm.c (x_update_window_end): Add parameter
10130 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10131 redisplay in XTframe_up_to_date.
10132 (x_clear_mouse_face): New function.
10133 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10134
10135 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10136 current glyph row.
10137 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10138 it when any row is written to that contains glyphs highlighted in
10139 mouse-face.
10140 (update_window): Call the window update end hook with new
10141 parameter MOUSE_FACE_OVERWRITTEN_P.
10142 (direct_output_for_insert): Give up if row contains mouse-face.
10143
10144 * dispextern.h (struct redisplay_interface): Add parameter
10145 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10146 (clear_mouse_face): New function pointer member.
10147
02010917
SM
101482000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10149
10150 * syntax.c (back_comment): Use one switch rather than a few `if's.
10151 Obey open_paren_in_column_0_is_defun_start.
10152 When reverting to the `slow' method, try to nicely handle the case
10153 of nested comments by checking that the comment-starter we found
10154 does indeed match the comment-ender.
10155 (scan_sexps_forward, scan_sexps_forward):
10156 Ignore excessive opening parenthesis rather than throwing an error.
10157
d76c03ea
GM
101582000-07-11 Gerd Moellmann <gerd@gnu.org>
10159
10160 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10161 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10162
10163 * dispnew.c (direct_output_forward_char): Give up if currently
10164 displaying a message instead of the minibuffer contents.
10165
10166 * xterm.c (x_update_window_begin): No need to turn off the mouse
10167 highlight here.
10168 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10169 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10170
10171 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10172 compare the mouse_face_p flags of both rows.
10173
10174 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10175
d55ead18
EZ
101762000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10177
10178 * keyboard.c (show_help_echo): Accept additional parameter
10179 ok_to_overwrite_keystroke_echo.
10180 (read_char): Call show_help_echo with a zero
10181 ok_to_overwrite_keystroke_echo argument.
52283633 10182 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10183 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10184 ok_to_overwrite_keystroke_echo argument.
10185 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10186 non-zero ok_to_overwrite_keystroke_echo argument.
10187
df75b1a3
GM
101882000-07-10 Gerd Moellmann <gerd@gnu.org>
10189
4b92c49a
GM
10190 * xdisp.c (try_window_id): If changes are all below what is
10191 displayed in the window, and point is in the window, we still
10192 might have to find point on the display.
10193
10194 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10195 glyphs instead of a single one.
10196 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10197 with new argument list.
10198 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10199
df75b1a3
GM
10200 * keymap.c (get_keymap_1): Add comment that this function can GC.
10201 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10202 comment that functions can GC.
10203 (Fset_keymap_parent): GCPRO arg KEYMAP.
10204
4314cf3e
EZ
102052000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10206
10207 * msdos.c (XMenuActivate): After exiting the menu, restore the
10208 echo area message and erase it.
10209
ab49ce15
KH
102102000-07-10 Kenichi Handa <handa@etl.go.jp>
10211
10212 * fontset.c (Ffontset_info): Make the return value more compatible
10213 with that of Emacs 20.
10214
090a072f
GM
102152000-07-07 Gerd Moellmann <gerd@gnu.org>
10216
10217 * eval.c (Fsignal): Handle case that backtrace_list is null.
10218
f92de4a6
KH
102192000-07-07 Kenichi Handa <handa@etl.go.jp>
10220
10221 * ccl.c (Fccl_execute): Typo fixed.
10222
dd8888a1
GM
102232000-07-06 Gerd Moellmann <gerd@gnu.org>
10224
e5c81191 10225 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10226
dd8888a1
GM
10227 * window.c (Fwindow_list): Reverse list at the end.
10228 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10229 means allow windows on OWINDOW's frame, only.
10230 (window_loop): Simplified; use Fwindow_list.
10231
10232 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10233
485266d0
GM
102342000-07-05 Gerd Moellmann <gerd@gnu.org>
10235
10236 * xterm.c (XTread_socket): Increment handling_signal at the start,
10237 decrement it at the end.
10238
10239 * eval.c (handling_signal): New variable.
10240 (Fsignal): Abort if handling_signal is non-zero.
10241
10242 * lisp.h (handling_signal): External declaration.
178c5d9c 10243
485266d0
GM
10244 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10245
80fcd514
KR
102462000-07-05 Ken Raeburn <raeburn@gnu.org>
10247
10248 Sound support for NetBSD through "Linux emulation" support:
10249 * config.in (HAVE_SOUNDCARD_H): Undef.
10250 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10251 * Makefile.in (LIBSOUND): New variable.
10252 (LIBES): Include it.
52283633
SM
10253 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10254 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10255 (vox_open): Use DEFAULT_SOUND_DEVICE.
10256 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10257
d5c5cddd
GM
102582000-07-05 Gerd Moellmann <gerd@gnu.org>
10259
10260 * print.c (print_error_message): If Vsignaling_function is set,
10261 show it in *Messages*.
10262
10263 * lisp.h (Vsignaling_function): External declaration.
10264
10265 * eval.c (Vsignaling_function): New variable.
10266 (Fsignal): Compute it.
10267 (syms_of_eval): Staticpro it.
10268
65171e3a
DL
102692000-07-05 Dave Love <fx@gnu.org>
10270
10271 * syswait.h: Use the autoconf recommended approach. Old code
10272 #if'd out in case we need to revert.
10273
178c5d9c 10274 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10275
e2c46326
AI
102762000-07-05 Andrew Innes <andrewi@gnu.org>
10277
10278 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10279 when non-NULL instead of __morecore, to take account of buffer
10280 memory. This also solves a problem with spurious memory warnings
10281 on Windows.
10282
10283 * ralloc.c: Make real_morecore non-static.
10284
10285 * eval.c (internal_condition_case): Comment out abort if
10286 interrupt_input_blocked is not zero.
10287
10288 * makefile.nt: Add support for `bootstrap' and related targets.
10289 Include minimal debug info in emacs.exe in release build.
10290 Remove all dependencies on lisp.h, and fixup some others.
10291
10292 * w32.c (init_environment): Install code from 20.7 for providing
10293 default values for environment variables, based on the
10294 executable's own location.
52283633 10295 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10296 (sys_socket): Install socket inheritance bug fix from 20.7.
10297
10298 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10299 here via blockinput.h).
10300
a027a91b
SM
103012000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10302
e4b31601
SM
10303 * w32menu.c (w32_menu_display_help):
10304 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10305
10306 * keyboard.h (show_help_echo): Declare.
10307
10308 * keyboard.c (show_help_echo): New function, extracted from read_char.
10309 Feval its `msg' argument if it's a cons cell.
10310 (read_char): Use it.
4cf8d9d5 10311 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10312
178c5d9c 10313 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10314 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10315 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10316 (dos_rawgetc):
10317 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10318 (note_tool_bar_highlight, w32_read_socket):
10319 Do not gratuitously ignore non-string `help-echo' properties.
10320
88d75730
GM
103212000-07-05 Gerd Moellmann <gerd@gnu.org>
10322
969f7e79
GM
10323 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10324
71201b00
GM
10325 * window.c (delete_all_subwindows): Reset Vwindow_list.
10326
88d75730
GM
10327 * xterm.c (x_append_glyph, x_append_composite_glyph)
10328 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10329 changes in struct glyph starting 1999-12-27. Some bit-fields of
10330 struct glyph were not set, which made glyphs unequal when compared
10331 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10332 effects were the result. This also depended on the contents of
10333 memory returned by xmalloc. If flickering happens again, activate
10334 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10335 gone with that, chances are that it is caused by something similar.
88d75730
GM
10336
10337 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10338
88d75730
GM
10339 * dispextern.h: Add some comments.
10340
10341 * window.c (add_window_to_list): Add parameter LIST.
10342 (window_list): Order list so that, for each frame, windows are
10343 in canonical order, and so that frames appear in the list in
10344 the order given by Vframe_list.
10345 (next_window): Reverse the handling of NEXT_P.
10346
53654733
GM
103472000-07-04 Gerd Moellmann <gerd@gnu.org>
10348
87efd256
GM
10349 * window.c (Vwindow_list): New variable.
10350 (make_window, delete_window): Set Vwindow_list to nil.
10351 (check_window_containing): New function.
10352 (window_from_coordinates): Rewritten.
10353 (add_window_to_list, window_list, candidate_window_p)
10354 (decode_next_window_args, next_window): New functions.
52283633 10355 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10356 (Fwindow_list): New function.
10357 (Fother_window): Cleaned up.
10358 (foreach_window): Add a longer "variable argument list". Let
10359 callback function return 0 to indicate that cycling over windows
10360 should stop.
10361 (foreach_window_1): Likewise.
10362 (freeze_window_start): Return int.
10363 (init_window): New function.
10364 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10365
10366 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10367 input_event with bzero.
10368 (main): Call init_window.
10369
53654733
GM
10370 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10371 a menu filter.
10372
4a8c194f
KH
103732000-07-04 Kenichi Handa <handa@etl.go.jp>
10374
10375 * composite.h (make_composition_value_copy): Extern it.
10376
10377 * composite.c (make_composition_value_copy): New function.
10378
10379 * editfns.c (Fformat): While copying text properties, make each
10380 composition property value a copy.
10381
10382 * fns.c (concat): While copying text properties, make each
10383 composition property value a copy.
10384
831a6cb0
GM
103852000-07-03 Gerd Moellmann <gerd@gnu.org>
10386
2f516940
GM
10387 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10388
178c5d9c 10389 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10390 marked already.
10391
831a6cb0
GM
10392 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10393 include those frames as candidates which have their focus
10394 redirected to the minibuffer frame.
10395
d9c4f922
SM
103962000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10397
10398 * fns.c (Fputhash): Return `value' rather than nil.
10399
3780bc22
GM
104002000-06-30 Gerd Moellmann <gerd@gnu.org>
10401
97d176db
GM
10402 * frame.c (next_frame): Don't check focus redirection in case
10403 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10404 unless their focus is redirected, which contradicts the
10405 specification of next-frame, and leads to infinite loops in
10406 certain situations when cycling through windows with next-window.
10407
dca9961d
KH
104082000-06-30 Kenichi Handa <handa@etl.go.jp>
10409
10410 * coding.c (code_convert_region): Even if the length of text is
10411 zero, try to convert it if coding->type is coding_type_ccl.
10412 (decode_coding_string, encode_coding_string): Likewise.
10413
d5483ab1
GM
104142000-06-28 Gerd Moellmann <gerd@gnu.org>
10415
af5c25e1 10416 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10417 the display if windows_or_buffers_changed.
af5c25e1
GM
10418
10419 * dispnew.c (struct row_entry): New structure.
10420 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10421 (row_table_size, old_lines, new_lines, old_lines_size)
10422 (new_lines_size, run_pool, runs_size, runs): New variables.
10423 (add_row_entry): New function.
10424 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10425 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10426 holding them in local variables. Use a larger hash table whose
10427 size depends on glyph matrix sizes. Don't use bzero to clear the
10428 hash table; instead, clear used slots only.
10429
10430 * fns.c (next_almost_prime): Make it externally visible.
10431
10432 * lisp.h (next_almost_prime): Add prototype.
10433
d5483ab1
GM
10434 * s/isc4-0.h (sigunblock): Define.
10435
10436 * s/sco5.h (sigunblock): Define.
10437
93e40f40
DL
104382000-06-27 Dave Love <fx@gnu.org>
10439
10440 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10441 (moved to osf5-0.h).
10442 [!NOT_C_CODE]: Protect string.h stuff.
10443
10444 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10445 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10446
3c4b7685
GM
104472000-06-27 Gerd Moellmann <gerd@gnu.org>
10448
97d176db 10449 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10450 below the last line from the needed window height.
10451
32cad0aa
SM
104522000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10453
10454 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10455 (Fwidget_get): Use it.
10456 (syms_of_fns): Defsubr it.
10457
2c69ced2
GM
104582000-06-26 Gerd Moellmann <gerd@gnu.org>
10459
178c5d9c 10460 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10461 display info for XIM.
10462 (xim_open_dpy): Likewise.
10463 (xim_close_dpy): Don't free the display info's XIM.
10464
10465 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10466
10467 * config.in (USE_XIM): New define.
10468
3fc720e4
GM
10469 * keymap.c (get_keyelt): For menu-items containing a `:filter
10470 FILTER', apply FILTER to the menu-item's definition to get the
10471 real definition to use.
10472
10473 * lisp.h (QCfilter): External declaration.
10474
2c69ced2
GM
10475 * xfns.c (Fimage_size): New function.
10476 (syms_of_xfns): Defsubr it.
10477
f978b2a2
AS
104782000-06-26 Andreas Schwab <schwab@suse.de>
10479
10480 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10481 Fstring_as_unibyte.
10482
94cc7892
DL
104832000-06-25 Dave Love <fx@gnu.org>
10484
52283633 10485 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10486
10487 * Makefile.in (blockinput.h): Depend on atimer.h.
10488 (atimer.h): Depend on systime.h.
10489
52283633 10490 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10491
52283633 10492 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10493
10494 * lisp.h (swap_in_global_binding): Declare.
10495
b8c24556
KR
104962000-06-24 Ken Raeburn <raeburn@gnu.org>
10497
10498 * process.c (Fopen_network_stream): Turn off atimers for duration
10499 of call to connect. (Patch from Gerd.)
10500
8cf8560b
DL
105012000-06-23 Dave Love <fx@gnu.org>
10502
511c7541
DL
10503 * ralloc.c: Maybe include unistd.h
10504
8cf8560b
DL
10505 * emacs.c (setgrp): Undefine before defining.
10506 (malloc_warning, set_time_zone_rule, index): Prototype.
10507
10508 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10509 HAVE_STRUCT_TIMEZONE.
10510
10511 * s/osf1.h: Move string.h hack here from alpha.h and make it
10512 conditional.
10513 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10514 _XOPEN_SOURCE.
10515 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10516 (SOCKLEN_TYPE): Don't define.
10517
10518 * m/alpha.h: Remove string.h hack.
10519
10520 * s/osf5-0.h: New file.
10521
10522 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10523 include time.h, done by systime.h.
10524 [__FreeBSD__]: Remove redundant includes.
10525
3fc720e4 10526 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10527 (delete_temp_file): Return Qnil to avoid warning.
10528
10529 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10530
10531 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10532 HAVE_X_WINDOWS.
10533
10534 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10535
10536 * composite.h (compose_text): Declare.
10537
10538 * xterm.c: Don't include sys/types.h unconditionally. Don't
10539 protect its inclusion with !USG (following xmenu.c).
10540
ea055732
GM
105412000-06-23 Gerd Moellmann <gerd@gnu.org>
10542
10543 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10544 in x_create_frame.
10545
74b01b80
EZ
105462000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10547
10548 * coding.c (decode_eol_post_ccl): Special handling for undecided
10549 and inconsistent EOL types.
10550
64f3a166
GM
105512000-06-22 Gerd Moellmann <gerd@gnu.org>
10552
16cf31f7
GM
10553 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10554 trough color and main window's background color.
10555
52283633 10556 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10557
10558 * xterm.h (Xt_app_con): External declaration.
10559
10560 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10561
486a103d
GM
10562 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10563
64f3a166
GM
10564 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10565 (handle_invisible_prop): Record the start of invisible text in
10566 it->add_overlay_start.
10567 (struct overlay_entry): Add member `overlay'.
10568 (handle_overlay_change): Simplify.
10569 (next_overlay_string): After having processed overlay strings at the
10570 end of the buffer, record that fact in
10571 it->overlay_strings_at_end_processed_p.
10572 (compare_overlay_entries): If before- and after-strings come
10573 from the same overlay, let before-strings come first.
10574 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10575 (load_overlay_strings): Take it->add_overlay_start into account
10576 when adding overlay strings.
10577
10578 * dispextern.h (struct it): Add member add_overlay_start.
10579
bb746ea6
DL
105802000-06-22 Dave Love <fx@gnu.org>
10581
10582 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10583
10584 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10585
a8f573f3
KH
105862000-06-22 Kenichi Handa <handa@etl.go.jp>
10587
10588 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10589 is greater than 0.
10590
9f2bbc92
DL
105912000-06-21 Dave Love <fx@gnu.org>
10592
178c5d9c 10593 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10594
3ee5041c
SM
105952000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10596
10597 * syntax.c (back_comment): Simplify string-parity counting (with
10598 the added benefit of handling multiple string-styles as long as
10599 they are not intertwined).
10600 Jump to the slow code as soon as a comment starter is found in
10601 a "string_lossage" position. Fixes the case: " /* " /* " */.
10602
4c343001
DL
106032000-06-21 Dave Love <fx@gnu.org>
10604
10605 * Makefile.in: Use GETLOADAVG_LIBS.
10606
10607 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10608 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10609
e6365855
SM
106102000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10611
10612 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10613 (Fforward_comment, scan_lists):
10614 Check the comstyle of single-char comment-starters.
10615 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10616 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10617 Check the comstyle of single-char comment-starters.
10618 Clarify control-flow around the Scomment case.
e6365855 10619
5700d2cc
DL
106202000-06-20 Dave Love <fx@gnu.org>
10621
d355bd8a
SM
10622 * fns.c (make_hash_table, maybe_resize_hash_table):
10623 Cast arg of next_almost_prime.
5700d2cc 10624
178c5d9c 10625 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10626
10627 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10628 and unistd.h.
10629
4a27bdfb
GM
106302000-06-20 Gerd Moellmann <gerd@gnu.org>
10631
a61d762c 10632 * keyboard.c (adjust_point_for_property): Check if display
52283633 10633 property should be treated as intangible by looking at its value.
a61d762c 10634
178c5d9c 10635 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10636 (display_prop_intangible_p): New functions.
10637
10638 * dispextern.h (display_prop_intangible_p): Add prototype.
10639
10640 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10641
4a27bdfb
GM
10642 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10643 argument to sigprocmask.
10644
10645 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10646 argument to sigprocmask.
10647
10648 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10649 sigprocmask_set, and pass a pointer to it to sigprocmask.
10650
10651 * sysdep.c (sigprocmask_set): New variable.
10652
10653 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10654 report_file_error.
10655
427ec082
SS
106562000-06-20 Sam Steingold <sds@gnu.org>
10657
10658 * xrdb.c: Don't declare xmalloc, xrealloc.
10659
8972fe79 106602000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10661
10662 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10663 (re_comp): Cast gettext return value to avoid complaints when
10664 !HAVE_LIBINTL.
10665
074b6efe
DL
106662000-06-20 Dave Love <fx@gnu.org>
10667
52283633 10668 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10669
5700d2cc 10670 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10671
d355bd8a 10672 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10673
10674 * m/alpha.h: Don't declare xmalloc, xrealloc.
10675
0af4f205
DL
10676 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10677
10678 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10679
10680 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10681
10682 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10683 HAVE_GETWD.
10684
074b6efe
DL
10685 * keyboard.h (poll_for_input_1): Declare.
10686
10687 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10688
10689 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10690
10691 * doprnt.c: Don't declare xmalloc, xrealloc.
10692
10693 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10694 (getenv, ctime, getwd): Removed.
10695 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10696
10697 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10698 x_set_tool_bar_lines.
10699
10700 * config.in: Add HAVE_GETWD. Move some definitions above
10701 machine/system includes.
10702
68a5e97b
KH
107032000-06-20 Kenichi Handa <handa@etl.go.jp>
10704
95417e1e
KH
10705 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10706
68a5e97b
KH
10707 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10708 contain information about ENCODING.
10709
10710 * fontset.c (FONTSET_ASCII): Use the first element of char table
10711 for an ASCII font, not defalt slot.
10712 (fontset_ref_via_base): If FONTSET doesn't contain information for
10713 C, try the default fontset.
10714 (make_fontset): Don't copy the default fontset.
10715 (fontset_font_pattern): Likewise.
10716 (accumulate_font_info): If ELT is nil, use the corresponding
10717 element in the default fontset.
10718
3b4fa1b2
DL
107192000-06-19 Dave Love <fx@gnu.org>
10720
943e731c
DL
10721 * syntax.c (Fparse_partial_sexp): Doc fix.
10722
10723 * regex.h: Test PROTOTYPES as well as __STDC__.
10724
3b4fa1b2
DL
10725 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10726 errno, strerror. Put text after #endif in comment.
10727
52283633 10728 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10729
10730 * xterm.c (x_frame_of_widget): Likewise.
10731
cdf0357b
GM
107322000-06-19 Gerd Moellmann <gerd@gnu.org>
10733
10734 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10735 to Vfundamental_mode_abbrev_table.
10736
10737 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10738 bogus objects are marked. This slows down GC by ~80 percent, but
10739 it might be worth trying when debugging GC-related problems.
10740 This feature requires conservative stack marking to be enabled.
10741
10742 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10743 returns XLookupChars, reset `modifiers' to zero.
10744
998e9f8c
DL
107452000-06-19 Dave Love <fx@gnu.org>
10746
10747 * mktime.c: Unprotoized.
10748
18e21ce8 107492000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10750
10751 * data.c (set_internal): If variable is frame-local,
10752 store the new value immediately into the frame parameter alist.
10753
140c4ac6
KR
107542000-06-19 Ken Raeburn <raeburn@gnu.org>
10755
14358466
KR
10756 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10757 in the custom handler pointer.
10758
140c4ac6
KR
10759 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10760 value, or checks for CHAR_META can fail when Lisp_Object is a
10761 union type.
10762 * keymap.c (get_keyelt): Likewise.
10763
10d7bf84
KH
107642000-06-19 Kenichi Handa <handa@etl.go.jp>
10765
10766 * ccl.h (struct ccl_program): New member eol_type.
10767 (struct ccl_spec): New member cr_carryover.
10768
10769 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10770 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10771
10772 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10773 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10774 (decode_eol_post_ccl): New function.
10775 (decode_coding): Don't detect EOL format here for CCL based coding
10776 systems.
10777 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10778 decode_eol_post_ccl after running the CCL program.
10779 (code_convert_region): Don't detect EOL format here for CCL based
10780 coding systems.
10781 (decode_coding_string): Likewise.
10782
52e386c2
KR
107832000-06-18 Ken Raeburn <raeburn@gnu.org>
10784
10785 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10786 when treating it as an integer.
10787
10788 * coding.h (encode_coding_string): Declare.
10789
10790 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10791 it as an integer.
10792
10793 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10794 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10795 to be passed to get_local_map.
10796
10797 * sound.c (Fplay_sound): Don't call make_number on
10798 Frun_hook_with_args count argument.
10799
10800 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10801 for lisp objects in X event structure data field, when lisp
10802 objects are represented with unions.
10803 (x_scroll_bar_to_input_event): Ditto.
10804
b357b9d4
KR
108052000-06-16 Ken Raeburn <raeburn@gnu.org>
10806
10807 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10808 termination of string. Fix sense of test whether
10809 Vline_number_display_limit is an integer.
b357b9d4 10810
a871441d
GM
108112000-06-16 Gerd Moellmann <gerd@gnu.org>
10812
a9021acd
GM
10813 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10814 only if HAVE_X_WINDOWS.
10815
6344985d
GM
10816 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10817 of titles.
10818
427ec082 10819 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10820 out of bounds.
10821
228b083e
EZ
108222000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10823
10824 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10825 of its headers.
10826
c25b53a2
KH
108272000-06-15 Kenichi Handa <handa@etl.go.jp>
10828
10829 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10830 start of the while loop.
10831
a6981b11
GM
108322000-06-15 Gerd Moellmann <gerd@gnu.org>
10833
e9924e52
GM
10834 * atimer.c (alarm_signal_handler): Add forward declaration.
10835
a6981b11
GM
10836 * data.c (set_internal): Remove debug code.
10837
25fa6deb
GM
108382000-06-14 Gerd Moellmann <gerd@gnu.org>
10839
dce6b995
GM
10840 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10841
9f817ea4
GM
10842 * unexec.c (toplevel) [COFF]: Include coff.h.
10843
10844 * s/lynxos.h: New file.
10845
10846 * keymap.c (Fsingle_key_description): Enclose function key and
10847 event symbol names in angle brackets.
10848
8a4e3c0c
GM
10849 * xdisp.c (setup_echo_area_for_printing): Call
10850 message_log_maybe_newline if message_buf_print is not set.
10851
10852 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10853 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10854 function does something useful even when message_buf_print is
10855 already set.
10856
52283633
SM
10857 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10858 New variables.
25fa6deb
GM
10859 (ensure_echo_area_buffers): Initialize echo buffer's
10860 truncate lines setting to nil.
10861 (with_echo_area_buffer): Don't set the echo buffer's truncate
10862 lines setting here.
8a4e3c0c 10863 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10864 of message_truncate_lines.
10865 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10866 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10867 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10868
10869 * keyboard.c (read_char): Bind message-truncate-lines to t
10870 while displaying a help-echo.
10871
10872 * lisp.h (Qmessage_truncate_lines): External declaration.
10873
163dcff3
GM
108742000-06-13 Gerd Moellmann <gerd@gnu.org>
10875
1681ead6
GM
10876 * xdisp.c (Vline_number_display_limit): Renamed from
10877 line_number_display_limit.
10878 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10879 Extend documentation string. Initialize
10880 Vline_number_display_limit to nil meaning no limit.
10881 (decode_mode_spec): Use Vline_number_display_limit with its new
10882 meaning.
10883
163dcff3
GM
10884 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10885
18e21ce8 108862000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10887
10888 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10889
163dcff3
GM
10890 * xfns.c (x_set_frame_parameters): Comment fix.
10891
10892 * frame.c (store_frame_param): Call swap_in_global_binding if the
10893 variable's current binding was chosen based on this frame.
10894
10895 * data.c (swap_in_global_binding): New function.
10896
a704139d
EZ
108972000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10898
10899 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10900 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10901
9b6610db
EZ
109022000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10903
10904 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10905
c68833d2
JR
109062000-06-12 Jason Rumney <jasonr@gnu.org>
10907
10908 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10909
10910 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10911
10912 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10913
10914 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10915
ed1056b3
GM
109162000-06-12 Gerd Moellmann <gerd@gnu.org>
10917
10918 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10919 (syms_of_xfaces): Defsubr Sdump_colors.
10920 (x_free_colors): Don't treat b&w specially on default visual.
10921 (x_free_dpy_colors): New function.
10922 (free_face_colors): Don't check visual class; it's done
10923 in x_free_colors.
10924
10925 * xterm.c (x_frame_of_widget): New function.
10926 (x_alloc_nearest_color_for_widget): Use it.
10927 (x_copy_dpy_color): New function.
10928 (x_destroy_window): Free various colors.
10929
5050a2ef
KH
109302000-06-12 Kenichi Handa <handa@etl.go.jp>
10931
10932 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10933
10934 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10935
10936 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10937
10938 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10939
10940 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10941
fb1b041d
DL
109422000-06-11 Dave Love <fx@gnu.org>
10943
10944 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10945
ff96b5f4
EZ
109462000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10947
10948 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10949
db8eeecd
GM
109502000-06-11 Gerd Moellmann <gerd@gnu.org>
10951
ed1056b3 10952 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10953 to `XEvent *'.
10954
49b71c5f
KH
109552000-06-10 Kenichi Handa <handa@etl.go.jp>
10956
c479bd55
KH
10957 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10958 (regex_compile): Fix the code for handling the case of single byte
10959 char and multibyte char being mixed in a range within [...].
10960
ff6a65c2
KH
10961 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10962 and dst_multibyte members of coding.
10963
49b71c5f
KH
10964 * charset.c (update_charset_table): Update the table
10965 bytes_by_char_head.
10966 (init_charset_once): Initialize elements of bytes_by_char_head to
10967 1 except for leading codes for private charases.
10968
10969 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10970 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10971
9e80b57d
KR
109722000-06-09 Ken Raeburn <raeburn@gnu.org>
10973
10974 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10975 access the data it doesn't point to.
10976
f83fe4b4
GM
109772000-06-08 Gerd Moellmann <gerd@gnu.org>
10978
10979 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10980 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10981 event queue. This is necessary because Emacs otherwise won't
10982 perform a switch-frame to a new frame until some other event, for
10983 example a keystroke event, forces it to do so. This has various
10984 effects, one visible being that the cursor of a frame created with
10985 C-x 5 2 or switched to with a window manager key binding like
10986 A-TAB stays hollow because selected_window isn't on the newly
10987 focused frame until the switch-frame is performed.
10988
10989 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10990 generating a switch-frame event if necessary.
10991
10992 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10993
10994 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10995 it's an integer.
10996
0890801b
KH
109972000-06-08 Kenichi Handa <handa@etl.go.jp>
10998
52283633 10999 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11000
173cbca8
GM
110012000-06-07 Gerd Moellmann <gerd@gnu.org>
11002
3091c2a6
GM
11003 * window.c (displayed_window_lines): Take empty lines at
11004 the bottom of a window into account.
427ec082 11005
f38952fe
GM
11006 * window.c (displayed_window_lines): New function.
11007 (Fmove_to_window_line): Use displayed_window_lines to determine
11008 the number of lines to move, instead of using the window's height.
11009
11010 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11011 to stop reading, even if the form read sets point to a different
11012 value when evaluated.
11013
427ec082 11014 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11015 put the cursor.
11016
6ba6c818
KH
110172000-06-07 Kenichi Handa <handa@etl.go.jp>
11018
11019 * fileio.c (e_write): Free composition data if stored in
11020 coding->cmp_data.
11021
5f1aea9a
GM
110222000-06-06 Gerd Moellmann <gerd@gnu.org>
11023
666852af
GM
11024 * xdisp.c (display_line): Set row's and iterator's
11025 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11026 Set cursor even if row ends in the middle of a character.
11027 (dump_glyph_row): Print values of new flags.
11028 (redisplay_window) <cursor movement in unchanged window>: When
11029 point has been moved forward, and PT is at the end of the cursor
11030 row, don't place the cursor in the next row if the cursor row ends
11031 in the middle of a character or at ZV.
11032
11033 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11034 (struct glyph_row): Add starts_in_middle_of_char_p and
11035 ends_in_middle_of_char_p.
11036 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11037 ends_in_middle_of_char_p flag.
11038 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11039
d13f3e2e
GM
11040 * term.c (append_glyph): Revert change of 2000-06-06.
11041
11042 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11043 padding glyph not fitting on line as whole character not
11044 fitting on line.
11045
5f1aea9a
GM
11046 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11047 this isn't true for images with `:ascent 100'.
11048
10cda9b0
KH
110492000-06-06 Kenichi Handa <handa@etl.go.jp>
11050
ed00559d
KH
11051 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11052 as modified if it is originally unmodified.
11053
10cda9b0
KH
11054 * term.c (encode_terminal_code): Change the way to check if
11055 terminal coding does any conversion.
11056 (append_glyph): Set glyph->pixel_width correctly.
11057
11058 * xdisp.c (display_line): While checking line continuation, pay
11059 attention to a padding glyph.
11060
1969fae2
GM
110612000-06-05 Gerd Moellmann <gerd@gnu.org>
11062
11063 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11064
162ccef4
DL
110652000-06-05 Dave Love <fx@gnu.org>
11066
f19f32dd
DL
11067 * xdisp.c: Include fontset.h.
11068
11069 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11070
11071 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11072
11073 * dispnew.c: Conditionally include term.h.
11074
11075 * coding.h: Declare code_convert_string_norecord.
11076
11077 * frame.h (struct frame): Use volatile unconditionally.
11078
11079 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11080
11081 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11082
11083 * systime.h: Protect against multiple inclusion.
11084 (timezone) [USG5_4]: Define as time_t.
11085
11086 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11087 (Foptimize_char_table, make_temp_name): Declare.
11088
11089 * Makefile.in (xdisp.o): Depend on fontset.h.
11090
11091 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11092
11093 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11094 (Foptimize_char_table, make_temp_name): Declare.
11095
427ec082 11096 * s/irix4-0.h:
162ccef4
DL
11097 * s/irix5-0.h:
11098 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11099
2082fe81
DL
111002000-06-02 Dave Love <fx@gnu.org>
11101
11102 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11103
dcf671d2
GM
111042000-06-02 Gerd Moellmann <gerd@gnu.org>
11105
11106 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11107 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11108 be freed.
11109
11110 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11111 glyph, use the ASCII NUL character to determine the face.
11112
d42122a3
DL
111132000-06-02 Dave Love <fx@gnu.org>
11114
11115 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11116 (VFORK_RETURN_TYPE): Remove.
427ec082 11117
d42122a3
DL
11118 * config.in: Add NO_MATHERR.
11119
dd432f16
DL
111202000-06-01 Dave Love <fx@gnu.org>
11121
90aa4ea8
DL
11122 * cmds.c (internal_self_insert): Don't check
11123 Vbefore_change_function, Vafter_change_function.
11124
11125 * insdel.c (signal_before_change, signal_after_change): Likewise.
11126
11127 * buffer.c (Vbefore_change_function, Vafter_change_function):
11128 Variables and their initializations deleted.
11129
2330c9d4
DL
11130 * callint.c (Fcall_interactively): Doc fix.
11131
dd432f16
DL
11132 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11133
bf9e8804
DL
111342000-05-31 Dave Love <fx@gnu.org>
11135
11136 * textprop.c: Revert last change -- duplicated.
11137
3694b4ab
GM
111382000-05-31 Gerd Moellmann <gerd@gnu.org>
11139
11140 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11141 in #if 0.
11142
11143 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11144
f14156cd
JR
111452000-05-31 Jason Rumney <jasonr@gnu.org>
11146
8119aab8
JR
11147 * search.c (Fre_search_forward, Fre_search_backward)
11148 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11149
f14156cd
JR
11150 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11151
4aab9be3
JR
111522000-05-30 Jason Rumney <jasonr@gnu.org>
11153
11154 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11155 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11156
52283633 11157 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11158
11159 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11160 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11161 expand a nil default_filename.
11162
11163 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11164 pointer to glyph_to_pixel_coords, not a frame.
11165
11166 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11167 coding.h to dependencies.
11168
11169 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11170
11171 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11172 window pointer to be consistent with w32term.c and xterm.c.
11173
11174 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11175 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11176 (Qline_spacing, Qcenter): New variables.
11177 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11178 (x_set_line_spacing): New function.
52283633 11179 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11180 (x_specified_cursor_type): New function.
11181 (x_set_cursor_type): Use it.
11182 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11183 and icon strings.
11184 (validate_x_resource_name, x_get_resource_string): Measure lengths
11185 of external strings in bytes.
11186 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11187 GetTextExtentPoint32 with NULL title.
11188 (Fx_create_frame): Initialize Qline_spacing.
11189 (w32_load_system_font): Initialize font->double_byte_p.
11190 (x_to_w32_charset): Use Vw32_charset_info_alist.
11191 (Image, busy cursor, tooltip functions): Merged changes from
11192 xfns.c. Not yet functional on Windows.
11193
11194 * w32gui.h (W32FontStruct): Add double_byte_p member.
11195
11196 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11197 (emacs_button_translation): Use it.
11198 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11199 in `mask' to be set.
11200
11201 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11202 menu strings.
11203
11204 * w32term.c: Format and doc changes to bring closer to xterm.c.
11205 (w32_char_font_type): New enum.
11206 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11207 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11208 (w32_encode_char): New function.
11209 (x_encode_char): Removed.
11210 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11211 x_encode_char and w32_font_is_double_byte.
11212 (x_produce_image_glyph): Use image_ascent.
11213 (x_produce_glyphs): Use new version of w32_per_char_metric and
11214 handle NULL return value. Allow extra line spacing.
11215 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11216 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11217 w32_font_type member of glyph instead.
11218 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11219 (fast_find_position): Make sure not to consider rows not visible
11220 in the window.
11221 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11222 w32_menu_display_help with input blocked, as it can abort.
11223 (x_display_and_set_cursor): Choose cursor depending
11224 on buffer-local value of cursor_type.
11225 (x_draw_bar_cursor): Add parameter WIDTH.
11226
11227 * w32term.h (CP_DEFAULT): Define.
11228 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11229
10fc3187
GM
112302000-05-30 Gerd Moellmann <gerd@gnu.org>
11231
11232 * search.c (Fre_search_forward, Fre_search_backward)
11233 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11234
d0555360
KH
112352000-05-30 Kenichi Handa <handa@etl.go.jp>
11236
11237 * coding.c (detect_coding_iso2022): Fix code for checking
11238 CODING_CATEGORY_MASK_ISO_8_2.
11239
f1ad044f
SM
112402000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11241
11242 * regex.c (PREFETCH_NOLIMIT): New function.
11243 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11244
84ec3b4b
GM
112452000-05-29 Gerd Moellmann <gerd@gnu.org>
11246
66254a13
GM
11247 * syntax.c (find_defun_start): Move test for
11248 open_paren_in_column_0_is_defun_start outside of the loop.
11249
49e70dec
GM
11250 * xdisp.c (redisplay_window): Really switch buffers when
11251 displaying mode lines, and temporarily set selected_frame to the
11252 frame of the window that's redisplayed.
11253
84ec3b4b
GM
11254 * xfaces.c (free_realized_faces): Block/unblock input.
11255 (free_realized_multibyte_face): Ditto.
11256
869a3a14
DL
112572000-05-29 Dave Love <fx@gnu.org>
11258
11259 * textprop.c (Qkeymap): New variable.
11260 (syms_of_textprop): Intern it.
11261
11262 * keymap.c: Include intervals.h.
11263 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11264
11265 * Makefile.in (keymap.o): Depend on intervals.h.
11266
11267 * keyboard.c (menu_bar_items, tool_bar_items)
11268 (Fexecute_extended_command): Deal with `keymap' property.
11269 (read_key_sequence): Track map from `keymap' property as well as
11270 `local_map'.
11271
11272 * intervals.c (get_local_map): Extra arg to allow looking for
11273 `keymap' too.
11274
11275 * intervals.h (map_property): New enum.
11276 (get_local_map): Extra arg using it.
11277 (Qkeymap): Declare.
11278
84ec3b4b 11279 * lisp.h (get_local_map): Don't declare here.
869a3a14 11280
89d0c844
KH
112812000-05-29 Kenichi Handa <handa@etl.go.jp>
11282
11283 * Makefile.in (callproc.o): Depend on composite.h.
11284
11285 * callproc.c: Include composite.h.
11286 (Fcall_process): Handle composition correctly.
11287
11288 * coding.h (coding_allocate_composition_data): Extern it.
11289 (coding_restore_composition): Likewise.
11290
11291 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11292 yet allocated, finish decoding with result
11293 CODING_FINISH_INSUFFICIENT_CMP.
11294 (coding_allocate_composition_data): Make it non-static.
11295 (coding_restore_composition): Likewise.
11296
797a084a
EZ
112972000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11298
11299 * charset.c (syms_of_charset): Revert last change.
11300
cf872af5
EZ
113012000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11302
11303 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11304 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11305 Handa.
cf872af5 11306
5b1ae051
EZ
113072000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11308
11309 * charset.c (syms_of_charset): Set width of character sets
11310 eight-bit-control and eight-bit-graphic to 1 column.
11311
34ec9ebe
GM
113122000-05-26 Gerd Moellmann <gerd@gnu.org>
11313
11314 * config.in (HAVE_SPEED_T): New define.
11315
11316 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11317 `extern speed_t'.
11318
dd854dc2
DL
113192000-05-26 Dave Love <fx@gnu.org>
11320
11321 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11322
11323 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11324 (Fsubr_arity): New function.
11325 (syms_of_data): Install them.
11326
ba9f8f95
KH
113272000-05-26 Kenichi Handa <handa@etl.go.jp>
11328
0f3e0672
KH
11329 * charset.c (init_charset_once): Set the table bytes_by_char_head
11330 correctly.
11331
cebefb44
KH
11332 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11333 the default fontset to what Emacs uses by default.
0f3e0672
KH
11334 (check_registry_encoding): This function deleted.
11335 (Fset_fontset_font): Remove the adhoc condition for the default
11336 fontset. Allow cons in FONTNAME.
cebefb44 11337
0f3e0672
KH
11338 * fns.c (map_char_table): Ignore char-table entries for
11339 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11340
7a18af49
KR
113412000-05-25 Ken Raeburn <raeburn@gnu.org>
11342
11343 * emacs.c (main): Initialize keyboard syms before initializing
11344 window code, so face names are available.
11345
d2af47df
SM
113462000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11347
11348 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11349 of an anchor at the beginning of a shy-group.
11350
fc6a6a4e
GM
113512000-05-25 Gerd Moellmann <gerd@gnu.org>
11352
11353 * xdisp.c (handle_invisible_prop): Don't try to skip over
11354 invisible text if end of text is already reached.
11355
005f0d35
DL
113562000-05-25 Dave Love <fx@gnu.org>
11357
02513cdd
DL
11358 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11359
005f0d35
DL
11360 * coding.c (encode_eol): Add null statement after label.
11361
89f6ca4e
EZ
113622000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11363
11364 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11365 2000-05-20.
11366
a4e1759e
KH
113672000-05-25 Kenichi Handa <handa@etl.go.jp>
11368
11369 * ccl.c (ccl_driver): Fix previous change.
11370
eacfd7fe
KH
113712000-05-25 Kenichi Handa <handa@etl.go.jp>
11372
46ab33a9
KH
11373 * coding.c (run_pre_post_conversion_on_str): Set point to the
11374 beginning of buffer before calling coding->post_read_conversion.
11375 (decode_coding_string): Give correct args to
11376 run_pre_post_conversion_on_str.
11377 (encode_coding_string): Likewise.
11378
eacfd7fe
KH
11379 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11380 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11381 eight-bit-graphic correctly.
11382
f8569325
DL
113832000-05-24 Kenichi HANDA <handa@etl.go.jp>
11384
11385 * fileio.c (Finsert_file_contents): Even if a file is not found,
11386 execute codes for setting up coding system. Call
11387 after-insert-file-functions unconditionally.
11388
04545643
GM
113892000-05-24 Gerd Moellmann <gerd@gnu.org>
11390
11391 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11392 BSD_PGRPS are not defined.
11393
747d90ea
KH
113942000-05-24 Kenichi Handa <handa@etl.go.jp>
11395
11396 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11397 DESCRIPTION.
11398 (syms_of_charset): Avoid building same strings.
11399
716e3b88
GM
114002000-05-23 Gerd Moellmann <gerd@gnu.org>
11401
11402 * lread.c (Fload): Add a comment about the meaning of
11403 Vuser_init_file being t.
11404
11405 * puresize.h (BASE_PURESIZE): Increase to 675000.
11406
11407 * s/gnu-linux.h (setpgrp): Don't define it here because this
11408 prevents compilation on GNU/Linux systems with glib 2.2.
11409
11410 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11411 as setpgid.
427ec082 11412
9aeb39fa
EZ
114132000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11414
11415 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11416 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11417 version.
11418 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11419
29ced61b
KH
114202000-05-23 Kenichi Handa <handa@etl.go.jp>
11421
52283633 11422 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11423
3d80f24d
KH
11424 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11425
52283633 11426 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11427
29ced61b
KH
11428 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11429
d7e00792
KH
114302000-05-22 Kenichi Handa <handa@etl.go.jp>
11431
c9d80d38
KH
11432 * keyboard.c (read_char): Allow character codes 128..255 to be
11433 handled by input-method-function.
11434
d7e00792
KH
11435 * insdel.c (adjust_markers_for_replace): Fix previous change.
11436 (adjust_after_replace): If PREV_TEXT is nil, call
11437 adjust_markers_for_insert, not adjust_markers_for_replace.
11438
087121cc 114392000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11440
087121cc
GM
11441 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11442 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11443 [HAVE_GRANDPT]: Define.
11444 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11445
11446 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11447 like SYSV_PTYS.
11448
11449 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11450
11451 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11452
c9671f81
KH
114532000-05-20 Kenichi Handa <handa@etl.go.jp>
11454
11455 The following changes are to handle 8-bit characters in a
11456 multibyte buffer/string without facing with byte combining
11457 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11458 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11459
11460 * Makefile.in (fns.o): Depend on charset.h.
11461
11462 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11463 convert it to unibyte.
11464 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11465
11466 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11467 apparent char boundary.
11468 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11469 0x80..0x9F to/from multibyte form.
11470
11471 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11472 to unibyte.
11473
11474 * callproc.c (Fcall_process): Always encode an argument string if
11475 it is multibyte. Setup src_multibyte and dst_multibyte members of
11476 process_coding properly.
ce75fd23 11477
c9671f81
KH
11478 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11479 SPLIT_NON_ASCII_CHAR.
11480
11481 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11482 as is.
11483 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11484
52283633 11485 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11486 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11487 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11488 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11489 and eight-bit-graphic.
11490 (char_to_string): Likewise. Signal an error for too large
11491 character code.
11492 (char_printable_p): Return 0 for 8-bit characters.
11493 (update_charset_table): Update iso_charset_table only when a final
11494 character is non-negative.
11495 (find_charset_in_text): Renamed from find_charset_in_str.
11496 Arguments and return value changed. Callers changed.
11497 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11498 be -1 if CHARSET is used only internally.
11499 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11500 eight-bit-graphic.
11501 (Fcharset_after): Simplified.
11502 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11503 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11504 (multibyte_chars_in_text): Simplified by assuming there's no
11505 invalid multibyte sequence.
52283633
SM
11506 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11507 (str_as_unibyte): New functions.
11508 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11509 (init_charset_once): Initialization for
11510 LEADING_CODE_8_BIT_CONTROL.
11511 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11512 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11513 eight-bit-control and eight-bit-graphic.
11514
52283633
SM
11515 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11516 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11517 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11518 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11519 (CHARSET_REVERSE_CHARSET): Likewise.
11520 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11521 eight-bit-graphic.
11522 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11523 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11524 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11525 encounter an invalid multibyte sequence.
11526 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11527 sequence is always valid.
11528 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11529 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11530 (CHAR_STRING): For 8-bit characters, call char_to_string.
11531 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11532 multibyte sequence is always valid.
11533 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11534 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11535 (str_as_unibyte): Extern them.
c9671f81 11536 (BCOPY_SHORT): Fix a bug.
52283633 11537 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11538 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11539 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11540 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11541
bd4bde7f 11542 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11543 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11544 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11545 (EMIT_BYTES): New macros.
11546 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11547 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11548 macros deleted.
11549 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11550 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11551 check the validity of multibyte sequence.
11552 (decode_coding_emacs_mule): New function.
11553 (encode_coding_emacs_mule): New macro.
11554 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11555 the source.
11556 (DECODE_ISO_CHARACTER): Just return a character code.
11557 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11558 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11559 EMIT_CHAR to produced decoded characters. Exit the loop only by
11560 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11561 block here.
11562 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11563 only position codes for an invalid character.
11564 (encode_designation_at_bol): Return new destination pointer. 5th
11565 arg DSTP is changed to DST.
11566 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11567 from the source by ONE_MORE_CHAR. Don't handle the case of last
11568 block here.
11569 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11570 macros deleted.
52283633
SM
11571 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11572 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11573 TWO_MORE_BYTES to fetch a byte from the source.
11574 (encode_eol): Pay attention to coding->src_multibyte.
11575 (detect_coding, detect_eol): Preserve members src_multibyte and
11576 dst_multibyte.
11577 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11578 (encoding_buffer_size): Set magnification to 3 for all coding
11579 systems that require encoding.
11580 (ccl_coding_driver): For decoding, be sure that the result is
11581 valid multibyte sequence.
11582 (decode_coding): Initialize coding->errors and coding->result.
11583 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11584 and raw-text, always call decode_eol. Handle the case of last
11585 block here. If not coding->dst_multibyte, convert the resulting
11586 sequence to unibyte.
11587 (encode_coding): Initialize coding->errors and coding->result.
11588 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11589 and raw-text, always call encode_eol. Handle the case of last
11590 block here.
11591 (shrink_decoding_region, shrink_encoding_region): Detect cases
11592 that we can't skip data more rigidly.
11593 (code_convert_region): Setup src_multibyte and dst_multibyte
11594 members of coding. For decoding, if the buffer is multibyte,
11595 convert the source sequence to unibyte in advance. For encoding,
11596 if the buffer is multibyte, convert the resulting sequence to
11597 multibyte afterward.
11598 (run_pre_post_conversion_on_str): New function.
11599 (code_convert_string): Deleted and divided into the following two.
11600 (decode_coding_string, encode_coding_string): New functions.
11601 (code_convert_string1, code_convert_string_norecord): Call one of
11602 above.
11603 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11604 MAKE_NON_ASCII_CHAR.
52283633
SM
11605 (Fset_terminal_coding_system_internal)
11606 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11607 and dst_multibyte members.
11608 (init_coding_once): Initialize iso_code_class with new enum
11609 ISO_control_0 and ISO_control_1.
11610
11611 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11612 devided into ISO_control_0 and ISO_control_1.
11613 (struct coding_system): New members src_multibyte, dst_multibyte,
11614 errors, and result. Delete member fake_multibyte.
11615 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11616 nonzero.
11617 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11618 nonzero.
11619
11620 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11621 (Faset): Likewise.
11622
11623 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11624 multibyte form.
11625 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11626 combining occurs.
11627 (Ftranspose_region): Delete codes for handling byte combining.
11628
11629 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11630 dst_multibyte members of coding. On handling REPLACE on unibyte
11631 buffer, convert the result of decode_coding to unibyte. On
11632 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11633 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11634 multibyteness of the source (buffer or string).
11635
11636 * fns.c (concat): Handle 8-bit characters correctly.
11637 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11638 unibyte in the result.
11639 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11640 valid multibyte form in the result.
11641 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11642 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11643 return -1, signal an error.
11644 (base64_encode_1): New arg MULTIBYTE. Get each character by
11645 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11646 character is found, return -1.
11647 (Fbase64_decode_region): Delete codes for handling byte-combining.
11648 Treat each decoded byte as a unibyte character.
11649 (Fbase64_decode_string): Return unibyte string.
11650 (Fcompare_strings, concat, string_byte_to_char): Use
11651 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11652 FETCH_STRING_CHAR_ADVANCE.
11653 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11654 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11655
11656 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11657 SPLIT_NON_ASCII_CHAR.
11658 (fontset_ref_via_base, fontset_set): Likewise
11659
11660 * insdel.c (adjust_markers_for_record_delete): Deleted.
11661 (adjust_markers_for_insert): Argument changed. Caller changed.
11662 (adjust_markers_for_replace): Likewise.
52283633
SM
11663 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11664 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11665 (copy_text): Delete unused local varialbe c_save. For converting
11666 to multibyte, be sure to make all 8-bit characters in valid
11667 multibyte form.
11668 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11669 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11670 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11671 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11672 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11673 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11674 handling byte combining.
11675 (adjust_before_replace): Deleted.
427ec082 11676
c9671f81
KH
11677 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11678 SPLIT_NON_ASCII_CHAR.
11679 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11680 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11681 (Fkey_description): Likewise.
11682
11683 * lread.c (read1): On reading multibyte string, be sure to make
11684 all 8-bit chararacters in valid multibyte form.
11685 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11686
11687 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11688 unconditionally.
11689
11690 * process.c (Fstart_process): GCPRO current_dir before calling
11691 Ffind_operation_coding_system. Encode arguments here.
11692 (create_process): Don't encode arguments here. Setup
11693 src_multibyte and dst_multibyte members of struct coding.
11694 (read_process_output): Setup src_multibyte and dst_multibyte
11695 members of struct coding. If the output is to multibyte buffer,
11696 always decode the output of the process. Adjust the
52283633 11697 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11698 (send_process): Setup coding->src_multibyte according to the
11699 multibyteness of the source.
11700
52283633 11701 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11702 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11703 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11704
52283633 11705 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11706
11707 * w16select.c (Fw16_set_clipboard_data): Setup members
11708 src_multibyte and dst_multibyte of coding. Adjusted for the
11709 change for find_charset_in_str.
11710 (Fw16_get_clipboard_data): Likewise.
11711
11712 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11713 dst_multibyte of coding.
11714 (x_to_w32_font): Likewise.
11715
11716 * w32select.c (Fw32_set_clipboard_data): Setup members
11717 src_multibyte and dst_multibyte of coding. Adjusted for the
11718 change for find_charset_in_str.
11719 (Fw32_get_clipboard_data): Likewise.
11720
11721 * xdisp.c (get_next_display_element): Handle 8-bit characters
11722 correctly.
52283633
SM
11723 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11724 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11725
11726 * xselect.c (selection_data_to_lisp_data): Setup members
11727 src_multibyte and dst_multibyte of coding. Adjusted for the
11728 change for find_charset_in_str.
11729 (lisp_data_to_selection_data): Likewise.
11730
5f64c9e0
GM
117312000-05-19 Gerd Moellmann <gerd@gnu.org>
11732
52283633 11733 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11734
5f64c9e0
GM
11735 * dispextern.h (Vimage_types): Add extern declaration.
11736
11737 * xdisp.c (Vimage_types): Moved here from xfns.c.
11738 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11739
11740 * xfns.c (Vimages_types): Moved to xdisp.c.
11741 (syms_of_xfns): Move `image-types' to xdisp.c.
11742
11743 * w32fns.c (Vimage_types): Removed.
11744 (syms_of_w32fns): Remove `image-types'.
11745
813086ea
KH
117462000-05-18 Kenichi Handa <handa@etl.go.jp>
11747
11748 * fns.c (map_char_table): Pay attention to character number of
11749 charset. Check the validity of charset at the first level. For
11750 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11751 the default value.
11752
11753 * fontset.c: Include "buffer.h".
11754 (fs_load_font): If the face has fontset, record the face ID in
11755 that fontset.
11756 (Finternal_char_font): New function.
11757 (accumulate_font_info): New function.
11758 (Ffontset_info): Rewritten for the new fontset implementation.
11759 (syms_of_fontset): Register Vdefault_fontset in the first element
11760 of Vfontset_table. Include Vdefault_fontset in
11761 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11762 function.
11763
bdaebbf0
DL
117642000-05-16 Dave Love <fx@gnu.org>
11765
11766 * m/iris5d.h: Deleted -- unused.
11767
cb613bb8
GM
117682000-05-16 Gerd Moellmann <gerd@gnu.org>
11769
b15f3b77
GM
11770 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11771 `invalid' instead of `illegal'.
11772
11773 * indent.c (Fmove_to_column): When ending within a tab, insert
11774 spaces first so that markers at the end of the tab get adjusted.
11775
835c1b36
GM
11776 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11777 buffer list that wasn't selected in that frame.
11778
cb613bb8
GM
11779 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11780 is needed on mescaline, use a 2 char prefix, and call
11781 make_temp_name with second arg non-zero.
11782
11783 * fileio.c (make_temp_name): New function, extracted from
11784 Fmake_temp_name.
11785 (Fmake_temp_name): Use it.
11786
f685bea9
EZ
117872000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11788
52283633 11789 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11790
a1b8d58b
GM
117912000-05-15 Gerd Moellmann <gerd@gnu.org>
11792
11793 * Makefile.in (lisp): Add env.elc.
11794
11795 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11796
a265079f
GM
117972000-05-12 Gerd Moellmann <gerd@gnu.org>
11798
11799 * search.c (Freplace_match): Handle case of `\N' in the
11800 replacement when there's no group N.
11801
da4496b6
GM
118022000-05-11 Gerd Moellmann <gerd@gnu.org>
11803
0ace421a
GM
11804 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11805 of the message to message_dolog.
11806
1172eb8d
GM
11807 * keyboard.c (read_char): Don't clear current message for help
11808 events; let the code handling help events handle this. Change
11809 code detecting help events that should be ignored.
11810
da4496b6
GM
11811 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11812 we're interating over a string.
11813
0623e40f
DL
118142000-05-09 Dave Love <fx@gnu.org>
11815
11816 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11817 that offset before writing. Move gcpro region past call of
11818 Ffile_regular_p.
11819
bae2503b
DL
118202000-05-04 Dave Love <fx@gnu.org>
11821
11822 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11823
ec82fb2f
GM
118242000-05-04 Gerd Moellmann <gerd@gnu.org>
11825
11826 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11827 of inserted characters when BUF equals the current buffer, and PT
11828 is in front of or equal to FROM.
11829
cbf18892
GM
118302000-05-03 Gerd Moellmann <gerd@gnu.org>
11831
4ff40dd0
GM
11832 * xdisp.c (handle_single_display_prop): If display property value
11833 is invalid, or something not supported on the frame, restore
11834 iterator's position to what it was initially. Make sure to return
11835 0 for invalid and unsupported property values.
11836
cbf18892
GM
11837 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11838 that x_per_char_metric returns null.
11839
1b0672c3
GM
118402000-05-02 Gerd Moellmann <gerd@gnu.org>
11841
576da55d
GM
11842 * xterm.h (struct face): Add forward declaration.
11843 (struct image): Ditto.
11844 (image_ascent): Add prototype.
11845
11846 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11847 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11848 image_ascent instead of using IMAGE_ASCENT.
11849
11850 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11851 (IMAGE_ASCENT): Removed.
11852
11853 * xfns.c (Qcenter): New variable.
11854 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11855 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11856 (image_ascent): New function.
11857 (lookup_image): Recognize `:ascent center'.
11858 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11859 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11860 (xbm_load): Don't set image's ascent here.
11861 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11862 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11863 check ascent values here.
11864 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11865 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11866 (syms_of_xfns): Initialize Qcenter.
11867
1b0672c3
GM
11868 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11869 to the limits, increase the limits.
11870
0d7811ed
KH
118712000-05-01 Kenichi Handa <handa@etl.go.jp>
11872
11873 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11874 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11875
a943a5ca
GM
118762000-04-28 Gerd Moellmann <gerd@gnu.org>
11877
11878 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11879 taller than the window.
11880
5dba1e29
KH
118812000-04-28 Kenichi Handa <handa@etl.go.jp>
11882
11883 * xfaces.c (realize_x_face): Fix the argument of the second
11884 xassert. BASE_FACE may not be a face for ASCII.
11885
353964e3
GM
118862000-04-27 Gerd Moellmann <gerd@gnu.org>
11887
c76e04a8
GM
11888 * print.c (print_object): Treat print-length < 0 as nil.
11889
11890 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11891
11892 * s/freebsd.h (TERMCAP_OBJ): Removed.
11893 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11894
11895 * lread.c (read1): Don't treat period followed by certain
11896 characters as symbol start.
11897
11898 * xfns.c (slurp_file): New function.
11899 (xbm_image_p): Handle case of in-memory XBM files.
11900 (xbm_scan): Rewritten to work on memory buffers instead of files.
11901 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11902 Work on memory buffers instead of files. If DATA is null test
11903 if buffer looks like an in-memory XBM file.
11904 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11905 memory buffers instead of files.
11906 (xbm_file_p): New function.
11907 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11908
353964e3
GM
11909 * lread.c (end_of_file_error): New function.
11910 (read1): Call it instead of signaling `end-of-file' directly.
11911
427ec082 11912 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11913 with Fprinc instead of Fprin1.
11914
24d744ac
KR
119152000-04-26 Ken Raeburn <raeburn@gnu.org>
11916
11917 * window.c (freeze_window_start): Check that minibuffer scroll
11918 window isn't nil before extracting the window structure pointer
11919 from it.
11920
11921 * undo.c (record_delete): If we hit the end of the undo list, stop
11922 picking elements apart.
11923
7464346d
GM
119242000-04-26 Gerd Moellmann <gerd@gnu.org>
11925
11926 * xdisp.c (display_line): If lines are continued, restore
11927 iterator's ascent/descent information to the values before the
11928 first glyph not fitting on the line.
11929
612839b6
GM
119302000-04-25 Gerd Moellmann <gerd@gnu.org>
11931
11932 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11933 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11934
11935 * dispnew.c (increment_matrix_positions): Renamed from
11936 increment_glyph_matrix_buffer_positions.
11937 (increment_row_positions): Renamed from
11938 increment_glyph_row_buffer_positions.
11939
11940 * dispextern.h: Change names of renamed functions from dispnew.c
11941 in prototypes.
11942
cc181e95
GM
119432000-04-24 Gerd Moellmann <gerd@gnu.org>
11944
abfcc168
GM
11945 * fileio.c (Fdo_auto_save): Create directories for auto-save
11946 list file if necessary.
11947
cc181e95
GM
11948 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11949 from buffer or frame.
11950 (automatic_hscrolling_p): New variable.
11951 (hscroll_windows): Scroll windows horizontally only if automatic
11952 hscrolling is allowed.
11953 (syms_of_xdisp): New variable `automatic-hscrolling'.
11954
11955 * frame.h (struct frame): Add member extra_line_spacing.
11956
11957 * xfns.c (x_set_line_spacing): New function.
11958 (Fx_create_frame): Set line spacing from resources.
11959 (Qline_spacing): New variable.
11960 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11961
cc181e95
GM
11962 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11963
11964 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11965 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11966 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11967 extra_line_spacing from default value.
11968 (init_buffer_once): Initialize default value of extra_line_spacing.
11969
11970 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11971 and extra3.
11972
11973 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11974 prompt_width. Add extra line spacing.
11975
11976 * term.c (produce_glyphs): Remove reference to struct it's
11977 prompt_width.
11978
11979 * dispextern.h (struct it): Remove member prompt_width, add
11980 extra_line_spacing.
11981
58827478
GM
119822000-04-22 Gerd Moellmann <gerd@gnu.org>
11983
11984 * dispnew.c (update_frame_line): When writing a whole line, make
11985 sure cursor is in the right row afterwards, otherwise a use of
11986 capability `ch' in cmgoto might leave the cursor in the row below.
11987
25a87f42
GM
119882000-04-21 Gerd Moellmann <gerd@gnu.org>
11989
11990 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11991
11992 * keyboard.c (timer_check): Fix typo in comment.
11993
54edf5c2
KH
119942000-04-21 Kenichi Handa <handa@etl.go.jp>
11995
11996 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11997 name change: ch -> character.
11998
3a64eef5
GM
119992000-04-20 Gerd Moellmann <gerd@gnu.org>
12000
12001 * keyboard.c (echo_message_buffer): New variable.
12002 (echo_now): Set echo_message_buffer to the echo area buffer used
12003 to display the echo.
12004 (cancel_echoing): Reset echo_message_buffer to nil.
12005 (read_char): Code rewritten that handles canceling an echo or
12006 echoing a dash, respectively.
12007
12008 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12009 directory doesn't exist.
12010
6142fdcb
DL
120112000-04-19 Dave Love <fx@gnu.org>
12012
12013 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12014 (concat): Don't allow numeric args.
12015 (Fconcat): Doc change.
6142fdcb 12016
ac6b5352
SM
120172000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12018
12019 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12020 instead define end_match(1|2) more carefully.
12021 Use GET_CHAR_BEFORE_2 for `begline'.
12022
cb9215e4
GM
120232000-04-19 Gerd Moellmann <gerd@gnu.org>
12024
5e3dac3f
GM
12025 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12026 on 64-bit systems where NULL is defined as `0'.
12027
12028 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12029 the `variable argument list' to make it work on Alpha.
12030
cb9215e4
GM
12031 * m/alpha.h (_LP64) [!_LP64]: Define.
12032 (ORDINARY_LINK): Define for NetBSD.
12033
12034 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12035
f532dca0
DL
120362000-04-19 Dave Love <fx@gnu.org>
12037
c750667e
DL
12038 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12039 change.
12040
12041 * Makefile.in (LIBS): Don't use.
12042 (GETLOADAVG_OBJ): Define again.
12043 (otherobj): Add GETLOADAVG_OBJ.
12044
f532dca0
DL
12045 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12046
1c7e22fd
GM
120472000-04-18 Gerd Moellmann <gerd@gnu.org>
12048
f6d3257b
GM
12049 * lread.c (read_filtered_event): Cancel and start busy cursor.
12050
427ec082 12051 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12052 that the per-character metrics may be null.
12053
e10f64e7
GM
120542000-04-17 Gerd Moellmann <gerd@gnu.org>
12055
0daee095
GM
12056 * buffer.c (clone_per_buffer_values): New function.
12057 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12058 clone_per_buffer_values if CLONE is not nil.
12059
e10f64e7
GM
12060 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12061
38687d43
DL
120622000-04-16 Dave Love <fx@gnu.org>
12063
12064 * Makefile.in: Remove obsolete localcpp stuff.
12065 (GETLOADAVG_OBJ): Don't define.
12066 (obj): Move LIBOBJS...
12067 (otherobj): ... to here.
12068 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12069 whitespace-only lines after the continuation (Irix).
12070
c21c7262
GM
120712000-04-14 Gerd Moellmann <gerd@gnu.org>
12072
12073 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12074
12075 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12076
314767c0
DL
120772000-04-14 Dave Love <fx@gnu.org>
12078
12079 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12080 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12081 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12082 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12083 NLIST_STRUCT.
12084
12085 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12086 autoconfiscated HAVE_GETLOADAVG.
12087
12088 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12089 BROKEN_MKTIME.
12090
a2522dca
GM
120912000-04-14 Gerd Moellmann <gerd@gnu.org>
12092
12093 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12094 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12095
33744b5d
DL
120962000-04-14 Dave Love <fx@gnu.org>
12097
c21c7262 12098 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12099 (INTERVAL_SRC): Convert to make variable.
12100 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12101 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12102 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12103 add LIBOBJS.
12104 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12105 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12106 (shortlisp): Add facemenu, float-sup, frame.
12107 (SOME_MACHINE_LISP): Remove them from here.
12108 (LIBES): Change unused LDLIBS to autoconf LIBS.
12109
12110 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12111
9d3d5916
KH
121122000-04-14 Kenichi Handa <handa@etl.go.jp>
12113
12114 * composite.c (update_compositions): If FROM and TO are not in a
12115 valid range, do nothing.
12116
198e3c7a
GM
121172000-04-13 Gerd Moellmann <gerd@gnu.org>
12118
52283633 12119 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12120
52283633 12121 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12122
12123 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12124 as TERMCAP_OBJ.
12125
055a28c9
EZ
121262000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12127
12128 * fileio.c (a_write): Remove redundant semi-colons.
12129 (e_write): Return -1 if failed to write all the data.
12130 This fixes the changes made at 1999-12-15.
12131
f5c75033
DL
121322000-04-12 Dave Love <fx@gnu.org>
12133
12134 * fns.c (mapcar1): Test for null vals to support mapc.
12135 (Fmapc): New function.
12136
0c3cfc51
EZ
121372000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12138
12139 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12140 (IT_frame_up_to_date): Support the buffer local value of
12141 cursor-type, if defined.
12142
33465a31
DL
121432000-04-10 Dave Love <fx@gnu.org>
12144
12145 * editfns.c (preceding-char, following-char): Doc fix.
12146
6ed56568
KR
121472000-04-10 Ken Raeburn <raeburn@gnu.org>
12148
12149 * Makefile.in (temacs): Revert 2000-03-12 change.
12150
7cf80d4e
JR
121512000-04-10 Jason Rumney <jasonr@gnu.org>
12152
12153 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12154
34f3f342
GM
121552000-04-10 Gerd Moellmann <gerd@gnu.org>
12156
1a1b1895
GM
12157 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12158 area buffer, if it's not set up yet.
12159
34f3f342
GM
12160 * indent.c (compute_motion): Set immediate_quit.
12161
be0dbdab
GM
121622000-04-09 Gerd Moellmann <gerd@gnu.org>
12163
52283633 12164 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12165 (realize_tty_face): Suppress boldness if colors are the inverse of
12166 the default colors, and tty_suppress_bold_inverse_default_colors_p
12167 is set.
12168 (Ftty_suppress_bold_inverse_default_colors): New function.
12169 (syms_of_xfaces): Defsubr it.
12170
be0dbdab
GM
12171 * buffer.c (Frestore_buffer_modified_p): New function.
12172 (syms_of_buffer): Defsubr it.
12173
e8413c3b
KR
121742000-04-08 Ken Raeburn <raeburn@gnu.org>
12175
87f67317
KR
12176 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12177 charset id (int) argument, not a charset (Lisp_Object).
12178
e8413c3b
KR
12179 * coding.h (code_convert_string): Declare.
12180 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12181 object, as the fourth argument to code_convert_string.
12182
52283633 12183 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12184 (Fset_fontset_font): Use EQ to compare lisp objects.
12185
7c752c80
KR
121862000-04-05 Ken Raeburn <raeburn@gnu.org>
12187
c0333abc
KR
12188 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12189 a pointer that looks like a lisp object.
12190 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12191 zero, instead see whether it's an integer object, since they can't
12192 have intervals.
12193 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12194
52283633
SM
12195 * dispnew.c (allocate_matrices_for_frame_redisplay)
12196 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12197 to convert between (unsigned) int values and lisp integers.
12198 * keyboard.c (read_key_sequence): Likewise.
12199 * lread.c (substitute_object_recurse): Likewise.
12200 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12201 * minibuf.c (do_completion, Fminibuffer_complete_word)
12202 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12203 * term.c (produce_special_glyphs): Likewise.
12204
12205 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12206 * print.c (print_preprocess, print_object): Likewise.
12207
12208 * search.c (compile_pattern): Use NILP when checking for nil.
12209
74e49b38
KR
12210 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12211 __OPTIMIZE__]: Provide a GNU C macro version that handles
12212 lisp-object unions.
12213 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12214 field, to better cope with ENABLE_CHECKING and calls that modify a
12215 Lisp_Object using its old value.
12216
685e5ed2
GM
122172000-04-04 Gerd Moellmann <gerd@gnu.org>
12218
c407c570
GM
12219 * window.c (compare_window_configurations): Signal an error
12220 if parameters C1 or C2 aren't window configurations.
12221
685e5ed2
GM
12222 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12223 AFTER_POTENTIAL_GC calls around calls to functions that can
12224 signal an error and thus invoke the debugger.
12225
587a49ab
GM
122262000-04-03 Gerd Moellmann <gerd@gnu.org>
12227
62f20204
GM
12228 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12229 an error if decoding fails.
12230
587a49ab
GM
12231 * keyboard.c (lispy_mouse_names): Variable removed.
12232 (Vlispy_mouse_stem): New variable.
12233 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12234 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12235 for any mouse button number. Increase size of mouse_syms and
12236 button_down_location as needed. Call modify_event_symbol with
12237 different arguments.
12238 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12239 Call modify_event_symbol with different arguments.
12240 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12241 for any button number. Call modify_event_symbol with different
12242 arguments.
12243 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12244 Accept a string for NAME_ALIST_OR_STEM.
12245
12246 * lisp.h (larger_vector): Add prototype.
12247
12248 * fns.c (larger_vector): Make externally visible.
12249
12250 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12251
2d1675e4
SM
122522000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12253
12254 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12255 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12256 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12257 we are between str1 and str2.
12258 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12259 (PATFETCH): Use `TRANSLATE'.
12260 (PATFETCH_RAW): Fetch multibyte char if applicable.
12261 (PATUNFETCH): Remove.
12262 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12263 When writing a char, write it directly into the pattern buffer rather
12264 than going needlessly through a temp char-array.
12265 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12266 multibyte magic and remove the useless `#ifdef emacs'.
12267 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12268 buffer.
12269
12270 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12271 conditional on `emacs'.
12272
12273 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12274
cc2d8c6b
KR
122752000-04-01 Ken Raeburn <raeburn@gnu.org>
12276
12277 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12278 non-union-type versions of XMARK and friends here, because XMARK
12279 and friends won't work on an integer field if NO_UNION_TYPE is not
12280 defined.
52283633 12281 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12282
52283633 12283 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12284 (syms_of_composite): Delete local var NARGS, pass an int as first
12285 argument to Fmake_hash_table.
12286
2387b382
KR
12287 * editfns.c (text_property_stickiness): Use NILP to test
12288 Lisp_Object boolean value.
12289 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12290 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12291 problems reading from and changing the same lisp value in an
12292 XSETSTRING call.
12293
27660e89
GM
122942000-04-01 Gerd Moellmann <gerd@gnu.org>
12295
12296 * term.c (TN_no_color_video): New variable.
12297 (term_init): Intitialize TN_no_color_video.
12298 (enum no_color_bit): New enumeration.
12299 (MAY_USE_WITH_COLORS_P): New macro.
12300 (turn_on_face): Use it to determine if attributes may be used
12301 combined with colors.
12302
3578db3c
KR
123032000-04-01 Ken Raeburn <raeburn@gnu.org>
12304
12305 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12306 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12307 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12308 proper accessor macros.
12309 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12310 (grow_mini_window): Fix typo getting int value of root->height.
12311
6fc556fd
KR
12312 * xdisp.c (compute_string_pos): Fix order of arguments to
12313 string_pos_nchars_ahead.
12314 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12315 count arg to variable-arg routines like Frun_hook_with_args and
12316 Fformat.
587a49ab
GM
12317 (back_to_previous_visible_line_start)
12318 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12319 fixed-arg routines like Fget_char_property and Fmake_string.
12320 (reconsider_clip_changes): Use XINT when comparing integer lisp
12321 objects, or passing them as int arguments.
587a49ab
GM
12322 (mark_window_display_accurate, insert_left_trunc_glyphs)
12323 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12324 storing or passing integer values as lisp objects.
12325 (set_cursor_from_row, highlight_trailing_whitespace): Use
12326 INTEGERP, not implicit test against zero, for glyph object.
12327 (try_window_id): Don't use make_number when we want an int value.
12328
12329 * xfaces.c (xlfd_symbolic_value): Make last argument a
12330 Lisp_Object, to be consistent with callers.
12331 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12332 (lface_hash): Apply XFASTINT to lisp values before folding in.
12333
12334 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12335 fill in window width and height. Pass an int, not a lisp object,
12336 as first arg to Finsert.
12337
6e7b2457
GM
123382000-04-01 Gerd Moellmann <gerd@gnu.org>
12339
610d841e
GM
12340 * xfaces.c (realize_basic_faces): Block input while realizing
12341 the faces.
12342
6e7b2457
GM
12343 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12344
12345 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12346
aa110c0c
GM
123472000-03-31 Gerd Moellmann <gerd@gnu.org>
12348
12349 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12350 or ASCII, handle case that per-char metric is null.
aa110c0c 12351
8801a864
KR
123522000-03-30 Ken Raeburn <raeburn@gnu.org>
12353
c6129d7e
KR
12354 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12355
52283633
SM
12356 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12357 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12358 pointer, using eassert.
12359 * frame.h (XFRAME): Likewise.
12360
52283633
SM
12361 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12362 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12363 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12364 * data.c (set_internal): Likewise.
52283633
SM
12365 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12366 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12367 * fileio.c (auto_save_1): Likewise.
12368 * insdel.c (check_markers): Likewise.
12369 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12370 * undo.c (record_insert): Likewise.
12371 * vmsproc.c (child_sig): Likewise.
12372 * window.c (unshow_buffer, window_loop): Likewise.
12373 * xterm.c (x_erase_phys_cursor): Likewise.
12374
8e7af858
GM
123752000-03-30 Gerd Moellmann <gerd@gnu.org>
12376
12377 * xfns.c (free_image_cache): Free the cache structure itself
12378 last, after all its members have been freed.
12379
12380 * lisp.h (xstrdup): Add prototype.
12381
12382 * alloc.c (xstrdup): Moved here from xfaces.c.
12383 (allocating_for_lisp): Variable removed.
52283633 12384 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12385
12386 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12387 of Fsymbol_value.
12388 (xstrdup): Moved to alloc.c.
12389
e0b8c689
KR
123902000-03-29 Ken Raeburn <raeburn@gnu.org>
12391
b96f9fb7
KR
12392 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12393
12394 * emacs.c (main): Fix sense of no-loadup test.
12395
e0b8c689
KR
12396 * config.in (ENABLE_CHECKING): Undef.
12397
12398 * lisp.h (struct interval): Replace "parent" field with a union of
12399 interval pointer and Lisp_Object; add new bitfield to use as
12400 discriminant. Change other flag fields to bitfields.
12401 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12402 is defined and the supplied test fails, print a message and abort.
12403 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12404
12405 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12406 pointers; abort if the value looks like a lisp object.
52283633
SM
12407 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12408 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12409 Modify for new interval parent definition.
12410
52283633
SM
12411 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12412 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12413 addressable lisp object in the interval structure.
12414 (die): New function.
12415 (suppress_checking): New variable.
12416
12417 * intervals.c (interval_start_pos): Just return 0 if there's no
12418 parent object.
12419
f83c5440
GM
124202000-03-29 Gerd Moellmann <gerd@gnu.org>
12421
12422 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12423 and earlier Emacs versions.
12424
12425 * keyboard.c (Ftop_level): Cancel busy-cursor.
12426
12427 * eval.c (call_debugger): Cancel busy-cursor.
12428
fdce64ff
KH
124292000-03-29 Kenichi Handa <handa@etl.go.jp>
12430
12431 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12432 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12433
f6a3f532
SM
124342000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12435
12436 * regex.c (analyse_first): New function obtained by ripping out most
12437 of re_compile_fastmap and generalizing it a little bit so that it
12438 can also just return whether a given (sub)pattern can match the empty
12439 string or not.
12440 (regex_compile): Use `analyse_first' to decide whether the loop-check
12441 needs to be done or not for *, +, *? and +? (the loop check is costly
12442 for non-greedy repetition).
12443 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12444
e9b309ac
DL
124452000-03-28 Dave Love <fx@gnu.org>
12446
52283633 12447 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12448
e9b309ac
DL
12449 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12450
ed0767d8
SM
124512000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12452
12453 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12454 an expression.
12455 (enum re_opcode_t): Update description of succeed_n.
12456 (PATFETCH): Always define.
12457 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12458 operators, char classes, shy-groups and intervals).
12459 Optimize special cases of intervals so as to only use succeed_n and
12460 jump_n when really needed.
12461 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12462 that we don't have to handle the special cases any more.
12463 Simplify on_failure_jump handling as well.
12464
e11e7e46
JR
124652000-03-28 Jason Rumney <jasonr@gnu.org>
12466
12467 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12468
88faab89
GM
124692000-03-27 Gerd Moellmann <gerd@gnu.org>
12470
182ff242
GM
12471 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12472
12473 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12474
182ff242
GM
12475 * alloc.c (mark_maybe_object): New function.
12476 (mark_memory): Use it.
12477 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12478 (setjmp_tested_p, longjmp_done): New variables.
12479 (test_setjmp): New function.
12480 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12481 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12482
c1005d06
GM
12483 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12484 to DEC_TEXT_POS and INC_TEXT_POS.
12485
12486 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12487 with parameter MULTIBYTE_P.
12488
52283633 12489 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12490
7439e5b9 12491 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12492 buffers because it looks for multibyte character byte sequences
12493 which don't exist in unibyte text.
7439e5b9 12494
d9c545da
GM
12495 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12496
11fd416e 12497 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12498 [DEBUG_X_COLORS]: New functions.
12499 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12500
12501 * xfns.c (x_set_cursor_color): Get color reference counts right.
12502
12503 * xterm.c (x_copy_color): New function.
12504 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12505
12506 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12507 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12508 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12509 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12510 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12511 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12512 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12513 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12514 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12515 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12516
11fd416e
GM
12517 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12518 names for handling per-buffer variables.
d9c545da
GM
12519
12520 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12521 instead of MAX_BUFFER_LOCAL_VARS.
12522 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12523
12524 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12525
88faab89
GM
12526 * xfns.c (x_specified_cursor_type): New function.
12527 (x_set_cursor_type): Use it.
12528
12529 * buffer.h (struct buffer): Add cursor_type.
12530
d80f42b7
SM
125312000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12532
12533 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12534 (print_partial_compiled_pattern, re_compile_fastmap):
12535 Handle new opcode.
d80f42b7
SM
12536 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12537 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12538 executing it as well as when popping it off the stack to find infinite
12539 loops in non-greedy repetition operators.
12540
89e80928
GM
125412000-03-26 Gerd Moellmann <gerd@gnu.org>
12542
3d4ff2dd
GM
12543 * doc.c (Qfunction_documentation): New variable.
12544 (syms_of_doc): Initialize Qfunction_documentation.
12545 (Fdocumentation): If FUNCTION is a symbol with non-nil
12546 `function-documentation' property, return a documentation derived
12547 from that.
12548
bd96bd79
GM
12549 * buffer.c (syms_of_buffer): Add default-cursor-type.
12550 (init_buffer_once): Don't let cursor_type have a local value
12551 in every buffer.
12552
19d1bc27
GM
12553 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12554 on buffer-local value of cursor_type.
12555 (x_draw_bar_cursor): Add parameter WIDTH.
12556
12557 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12558 (init_buffer_once): Set default cursor_type value to t.
12559 Mark cursor_type as local everywhere.
12560 (syms_of_buffer): New per-buffer variable cursor-type.
12561
89e80928
GM
12562 * buffer.h (struct buffer): Remove member local_var_flags,
12563 add local_flags.
12564 (MAX_BUFFER_LOCAL_VARS): New macro.
12565 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12566 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12567 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12568 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12569
52283633 12570 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12571
12572 * category.c (Fset_category_table): Use new macros for per-buffer
12573 variables.
12574
12575 * buffer.c (buffer_permanent_local_flags): Make a char array.
12576 (max_buffer_local_idx): New variable.
12577 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12578 for new handling of per-buffer variables.
12579 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12580 (init_buffer_once): Initialize per-buffer vars differently.
12581 Set max_buffer_local_idx.
12582
12583 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12584 variables.
12585
52283633 12586 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12587
12588 * data.c (do_symval_forwarding, store_symval_forwarding)
12589 (find_symbol_value, set_internal, default_value, Fset_default)
12590 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12591 per-buffer variables.
12592
12593 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12594
9a0dd3dc
GM
125952000-03-24 Gerd Moellmann <gerd@gnu.org>
12596
b68c375f
GM
12597 * xterm.c (x_term_init): Unblock input around call1 of
12598 Qvendor_specific_keysyms.
12599
9a0dd3dc
GM
12600 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12601 (find_defun_start): Consider an open parenthesis in column 0
12602 a defun start only if open_paren_in_column_0_is_defun_start is set.
12603 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12604
7973e637
SM
126052000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12606
12607 * eval.c (Fautoload): Add entry in load-history (if after dump).
12608 * lread.c (load-history): Update docstring.
12609
39210e90
GM
126102000-03-24 Gerd Moellmann <gerd@gnu.org>
12611
12612 * indent.c (Fvertical_motion): Always use the current buffer.
12613 Temporarily change the window's buffer, if necessary.
12614
72db3ab5
GM
126152000-03-23 Gerd Moellmann <gerd@gnu.org>
12616
12617 * xterm.c (fast_find_position): Make sure not to consider rows
12618 not visible in the window.
12619
990b2375
SM
126202000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12621
12622 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12623 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12624
ff4df011
JR
126252000-03-22 Jason Rumney <jasonr@gnu.org>
12626
12627 * w32menu.c (single_submenu): Set help string to NULL if none.
12628 (w32_menu_show): Set help string correctly.
12629 (add-menu-item): Set help string in MIIM_DATA for menu item.
12630 Load SetMenuItemInfoA explicitly.
12631 (w32_menu_display_help): New function.
427ec082 12632
ff4df011
JR
12633 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12634 (QCdata): Moved to xdisp.c.
12635
12636 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12637 (Vw32_charset_to_codepage_alist): Removed.
12638 (Vw32_charset_info_alist): New variable.
52283633
SM
12639 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12640 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12641 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12642 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12643 with TODO comment.
12644 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12645 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12646 Define Vw32_charset_info_alist and w32_charset symbols.
12647
126482000-03-22 Jason Rumney <jasonr@gnu.org>
12649
12650 * makefile.nt (w32bdf.obj): Update dependencies.
12651
12652 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12653
12654 * w32fns.c: Include fontset.h after dispextern.h.
12655 (Fx_create_frame): Do not create fontset.
12656 (w32_load_system_font): Doc fix.
12657 (Fx_close_connection): Free full_name if it is not shared.
12658
12659 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12660 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12661 Callers updated.
ff4df011
JR
12662 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12663 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12664 (w32_font_is_double_byte): New function, needs body.
12665 (x_append_glyph): Set glyph->glyph_not_available_p.
12666 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12667 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12668 character, convert it to a unibyte character.
12669 (struct glyph_string): Delete member `charset'.
12670 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12671 calculating it is found.
12672 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12673 the case that per char metric is not available correctly.
12674 (x_fill_glyph_string): Handle the case that the specific glyph is
12675 not available correctly.
12676 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12677 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12678 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12679 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12680 fontset. Don't call FS_LOAD_FONT.
12681
439d5cb4
KR
126822000-03-22 Ken Raeburn <raeburn@gnu.org>
12683
12684 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12685 (INT_LISPLIKE): New macro.
12686 (NULL_INTERVAL_P): Use it.
52283633
SM
12687 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12688 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12689 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12690
12691 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12692 explicit references to "parent" field of struct interval and
12693 associated unclean type conversions.
52283633
SM
12694 * intervals.c (create_root_interval, root_interval, rotate_right)
12695 (rotate_left, balance_possible_root_interval, split_interval_right)
12696 (split_interval_left, interval_start_pos, find_interval)
12697 (next_interval, previous_interval, update_interval)
12698 (adjust_intervals_for_insertion, delete_node, delete_interval)
12699 (adjust_intervals_for_deletion, merge_interval_right)
12700 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12701 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12702 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12703 Likewise.
12704 * syntax.c (update_syntax_table): Likewise.
12705
12706 * intervals.c (reproduce_tree_obj): New function, like
12707 reproduce_tree but takes a Lisp_Object for the parent. Declare
12708 with prototype.
12709 (graft_intervals_into_buffer): Use it when appropriate.
12710 (reproduce_tree): Declare with prototype.
12711 (balance_possible_root_interval): Check that the parent is a lisp
12712 object before trying to examine its type.
12713
ee1c5b21
GM
127142000-03-22 Gerd Moellmann <gerd@gnu.org>
12715
12716 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12717 as strings only if both are known to be strings.
12718
12719 * s/openbsd.h (LIBS_TERMCAP): Undef.
12720
1fb352e0
SM
127212000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12722
12723 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12724 definitions for non-Emacs compilation.
12725 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12726 outside of `#ifdef emacs'.
12727 (print_partial_compiled_pattern): Update.
12728 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12729 (re_compile_fastmap): Merge handling of charset and charset_not (for
12730 emacs and non-emacs compilation as well).
12731 Similarly for (not)categoryspec and (not)syntaxspec.
12732 Don't use the fastmap when reaching `anychar' since the added
12733 complexity is not justified.
12734 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12735 and (not)syntaxspec. Merge (not)categoryspec.
12736
fdaa1f77
KH
127372000-03-22 Kenichi Handa <handa@etl.go.jp>
12738
52283633
SM
12739 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12740 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12741 --without-x.
fdaa1f77 12742
d152fb46
DL
127432000-03-21 Dave Love <fx@gnu.org>
12744
12745 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12746 doc string.
12747
d2cafc8c
GM
127482000-03-21 Gerd Moellmann <gerd@gnu.org>
12749
12750 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12751 (lface_fully_specified_p): Don't check contents of
12752 LFACE_FONT_INDEX because that attribute is optional.
12753 (realize_x_face): Remove now unwarranted xassert.
12754
9111d4b5
KH
127552000-03-21 Kenichi HANDA <handa@etl.go.jp>
12756
12757 The following changes are to make font selection based on
12758 characters, not charset. In addition, they recover fontset
12759 facilities while utilizing the new font selection mechanism.
12760
6c4bfdc0
KH
12761 * Makefile.in (fontset.o): Depend on dispextern.h.
12762
12763 * alloc.c (mark_face_cache): Don't mark face->registry.
12764
9111d4b5
KH
12765 * dispextern.h (struct glyph): New member glyph_not_available_p.
12766 Use 22 bits for face_id.
12767 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12768 (struct face): Delete member registry, new member ascii_face.
12769 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12770 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12771 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12772 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12773
12774 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12775 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12776 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12777 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12778 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12779 (fs_free_face_fontset, fontset_font_pattern)
12780 (face_suitable_for_char_p, face_for_char)
12781 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12782 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12783 (FS_LOAD_FACE_FONT): New macro.
12784
12785 * fontset.c: All codes rewritten or adjusted for the change of
12786 fontset implementation. Now fontset is represented by char table.
52283633
SM
12787 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12788 Variables removed.
9111d4b5 12789 (my_strcasecmp): Function removed.
52283633 12790 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12791 (AREF, ASIZE): New macros.
52283633
SM
12792 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12793 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12794 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12795 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12796 (fontset_id_valid_p, font_family_registry, fontset_name)
12797 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12798 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12799 New functions.
12800 (fs_load_font): New arg FACE. Caller changed.
12801 (fs_query_fontset): Argument changed. Caller changed.
12802 (Fquery_fontset): call fs_query_fontset.
12803 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12804 Functions removed.
52283633
SM
12805 (clear_fontset_elements, check_registry_encoding)
12806 (check_fontset_name): New functions.
9111d4b5
KH
12807 (syms_of_fontset): Set char-table-extra-slots property of fontset
12808 to 3. Staticpro and initialize Vfontset_table and
12809 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12810
12811 * frame.h (struct frame): Member `fontset_data' removed.
12812 (FRAME_FONTSET_DATA): Macro removed.
12813
12814 * frame.c (make_frame): Don't allocate f->fontset_data.
12815 (Fdelete_frame): Don't free f->fontset_data.
12816
6c4bfdc0
KH
12817 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12818
9111d4b5
KH
12819 * xdisp.c (charset_at_position): Function removed.
12820 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12821 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12822 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12823 Likewise.
12824 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12825 FACE_FOR_CHARSET.
52283633
SM
12826 (get_next_display_element, append_space)
12827 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12828
12829 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12830 Variables removed.
12831 (clear_font_table, frame_update_line_height, load_face_font):
12832 Adjusted for the change of fontset implementation.
12833 (load_face_fontset_font): Function removed.
12834 (pixel_point_size): New function.
12835 (font_list): Argument type changed. Caller changed.
12836 (LFACE_FONT): New macro.
12837 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12838 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12839 Lisp_Object. Determine the font name by actually loading a font
12840 by the specified pattern. Set LFACE_FONT (lface) to the specified
12841 pattern. Even if a font is not found, don't try alternatives.
12842 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12843 (set_font_frame_param): If `font' is specified in lface, use it.
12844 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12845 (lface_same_font_attributes_p): Likewise.
12846 (make_realized_face): Arguent changed. Caller changed. Set
12847 face->ascii_face to face itself.
12848 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12849 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12850 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12851 (free_realized_multibyte_face): New function.
12852 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12853 changed. Caller changed.
12854 (try_font_list): Argument type changed.
12855 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12856 (choose_face_font): Argument changed. Handle fontset properly.
12857 (choose_face_fontset_font): Function removed.
12858 (realize_default_face, realize_named_face): Don't remove the
12859 former face here.
12860 (realize_face): Argument changed. Caller changed. Remove face
52283633 12861 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12862 (realize_x_face): Argument changed. Caller changed. For a
12863 multibyte character, share fontset with base_face. For a single
52283633 12864 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12865 (realize_tty_face): Argument changed. Caller changed.
12866 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12867 (face_at_buffer_position): Don't check multibyte_p for returning
12868 DEFAULT_FACE_ID.
12869 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12870 FACE_SUITABLE_FOR_CHARSET_P.
12871 (syms_of_xfaces): Remove code for Qx_charset_registry and
12872 Vface_default_registry.
12873
6c4bfdc0
KH
12874 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12875 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12876 (x_per_char_metric): Don't try FONT->default_char. Even if
12877 pcm->width is zero, glyph bits may exist.
12878 (x_encode_char): Always initialize char2b->byte1.
12879 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12880 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12881 (x_append_glyph): Set glyph->glyph_not_available_p.
12882 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12883 it->charset. Handle the case that per char metric is not
12884 available. If it->multibyte_p is zero and it->c is a multibyte
12885 character, convert it to a unibyte character.
12886 (struct glyph_string): Delete member `charset'.
12887 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12888 the case that per char metric is not available correctly.
12889 (x_fill_glyph_string): Handle the case that the specific glyph is
12890 not available correctly.
12891 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12892 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12893 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12894 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12895 fontset. Don't call FS_LOAD_FONT.
12896
12897 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12898 (x_create_tip_frame): Likewise.
12899 (Fx_close_connection): Free full_name of font_info.
12900
12901 * fns.c (optimize_sub_char_table): New function.
12902 (Foptimize_char_table): New function.
12903 (syms_of_fns): Defsubr Soptimize_char_table.
12904
b33dd3b0
GM
129052000-03-20 Gerd Moellmann <gerd@gnu.org>
12906
12907 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12908 only if buffer is displayed in some window.
12909
12910 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12911 (try_window_reusing_current_matrix): Don't call scroll run
12912 function if run's current and desired position are the same;
12913 this prevents cursor flickering.
12914
4e8a9132
SM
129152000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12916
12917 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12918
12919 * regex.c (RE_STRING_CHAR): New macro.
12920 (GET_CHAR_AFER_2): Remove.
12921 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12922 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12923 (print_partial_compiled_pattern, re_compile_fastmap)
12924 (re_match_2_internal): Remove on_failure_jump_exclusive.
12925 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12926 optimization only need to work for * (ie. can use of_keep_string_jump).
12927 Remove the special case for .*\n since it is now covered by the general
12928 optimization.
12929 (re_search_2): Don't bother with `room'.
12930 (skip_one_char): New function.
12931 (skip_noops): Simplify since `memory' is not needed any more.
12932 (mutually_exclusive_p): Restructure slightly to use `switch' and
12933 add handling for "all" remaining cases.
12934 (re_match_2_internal): Change on_failure_jump_smart to use
12935 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12936 rather than on_failure_jump_exclusive.
12937
2136fdd4
GM
129382000-03-19 Gerd Moellmann <gerd@gnu.org>
12939
12940 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12941 number of bits per RGB because it's everywhere used as the depth
12942 of the visual.
12943
12944 * term.c (calculate_costs): Remove code dealing with X frames.
12945
18e21ce8 129462000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12947
12948 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12949
d7b511c4
GM
129502000-03-18 Gerd Moellmann <gerd@gnu.org>
12951
12952 * lread.c (read_integer): Unread the last char not consumed.
12953
16b5d424
GM
129542000-03-17 Gerd Moellmann <gerd@gnu.org>
12955
12956 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12957 which are in the process of being deleted.
16b5d424 12958
1fa28578
GM
129592000-03-16 Gerd Moellmann <gerd@gnu.org>
12960
83488cce
GM
12961 * Makefile.in (mostlyclean): Add `*.core'.
12962 (clean): Add `bootstrap-emacs'.
12963
1fa28578
GM
12964 * lread.c (read_integer): New function.
12965 (read1): Support read syntax #o, #x, #b, #r.
12966
99633e97
SM
129672000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12968
1fa28578
GM
12969 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12970 make sure POINTER_TO_OFFSET gives the same value before and after
12971 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12972 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12973 (debug): Now only active if > 0 rather than if != 0.
12974 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12975 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12976 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12977 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12978 (store_op1, store_op2, insert_op1, insert_op2)
12979 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12980 (group_in_compile_stack): Move to after its arg's types are
12981 declared and add a prototype.
99633e97 12982 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12983 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12984 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12985 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12986 indentation of the greedy-op and shy-group code.
99633e97
SM
12987 (at_(beg|end)line_loc_p): Fix argument's types.
12988 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12989 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12990 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12991 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12992 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12993 QUIT unconditionally.
99633e97 12994
699238d9
GM
129952000-03-15 Gerd Moellmann <gerd@gnu.org>
12996
12997 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12998 a sole completion.
12999
13000 * process.c (send_process): Add a hint that the function
13001 can call Lisp code to its comment.
13002
13003 * lread.c (load_dangerous_libraries): New variable.
13004 (Vbytecomp_version_regexp): New variable.
13005 (safe_to_load_p): New function.
13006 (Fload): Handle files not compiled with Emacs specially.
13007 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13008
34e23e5a
GM
130092000-03-14 Gerd Moellmann <gerd@gnu.org>
13010
9c763cca
GM
13011 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13012
13013 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13014 support functions only if HAVE_X11R6_XIM is defined.
13015 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13016
13017 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13018
13019 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13020 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13021 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13022
13023 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13024 (HAVE_X11R6_XIM): Define.
13025
13026 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13027
34e23e5a
GM
13028 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13029 If set, call XSynchronize.
13030
66f0296e
SM
130312000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13032
34e23e5a
GM
13033 * regex.c: Declare a new type `re_char' used throughout the code
13034 for the string char type. It's `const unsigned char' to match the
13035 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13036 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13037 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13038 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13039 code duplication.
66f0296e
SM
13040
13041 * charset.h (GET_CHAR_AFTER_2): Remove.
13042 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13043
854a025c
KR
130442000-03-12 Ken Raeburn <raeburn@gnu.org>
13045
13046 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13047 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13048 of them try to use backquotes.
13049
b9d2c7e2
DL
130502000-03-12 Dave Love <fx@gnu.org>
13051
13052 * unexelf.c: Restore changes of 1999-10-19.
13053 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13054 fix its type and alignment; copy it from current process.
13055
5e5dff44
GM
130562000-03-12 Gerd Moellmann <gerd@gnu.org>
13057
9b2f3c38
GM
13058 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13059 has been found. Fix bug not computing timer's predecessor.
13060
427ec082 13061 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13062 file name.
13063
e1cff360
GM
13064 * window.c (Fsave_window_excursion): Doc fix.
13065
52283633 13066 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13067
e411ce4b
EZ
130682000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13069
13070 * msdos.c (vga_installed): New function, code moved from
13071 dos_set_window_size.
13072 (Qbar, Qcursor_type, outside_cursor): New variables.
13073 (syms_of_msdos): Intern and staticpro them.
13074 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13075 shape used outside Emacs when called for the first time.
13076 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13077 cursor shape used outside Emacs.
13078 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13079 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13080 type has changed.
13081 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13082 parameters specify the cursor. Make qreverse a global
13083 variable (renamed to Qreverse).
13084
80460654
GM
130852000-03-09 Gerd Moellmann <gerd@gnu.org>
13086
13087 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13088
95cd4c40
SM
130892000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13090
13091 This is a big redesign of failure-stack and register handling, prompted
13092 by bugs revealed when trying to add shy-groups. Overall, what happened
13093 is that loops are now structured a little differently, groups can be
13094 shy and the code is a little simpler.
13095
13096 * regex.h: Update the copyright.
13097 (RE_SHY_GROUPS): New value.
13098 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13099 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13100
80460654
GM
13101 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13102 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13103 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13104 for (start|stop)_memory since they now only take one argument (the
13105 second has becomes unnecessary).
52283633 13106 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13107 (print_compiled_pattern): Use %ld to printf long ints and flush to
13108 make debugging a little easier.
95cd4c40
SM
13109 (union fail_stack_elt): Make the integer unsigned.
13110 (struct fail_stack_type): Add a `frame' element.
13111 (INIT_FAIL_STACK): Init `frame' as well.
13112 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13113 (DEBUG_PUSH, DEBUG_POP): Remove.
13114 (NUM_REG_ITEMS): Remove.
13115 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13116 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13117 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13118 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13119 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13120 New macros.
80460654
GM
13121 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13122 address pushed is not the destination of the jump but the source
13123 of it instead.
95cd4c40
SM
13124 (NUM_FAILURE_ITEMS): Remove.
13125 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13126 registers before the actual failure point). Don't hardcode any
13127 meaning for str==NULL anymore.
95cd4c40 13128 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13129 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13130 Remove.
95cd4c40
SM
13131 (REG_UNSET_VALUE): Use NULL (why not?).
13132 (compile_range): Remove declaration since it doesn't exist.
13133 (struct compile_stack_elt_t): Remove inner_group_offset.
13134 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13135 (regex_grow_registers): Remove dead code.
13136 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13137 (regex_compile): Add shy-groups Change loops to use
13138 on_failure_jump_smart&jump instead of
13139 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13140 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13141 variable to me). Use `jump' instead of `jump_past_alt' and don't
13142 bother with push_dummy_failure in alternatives since it is now
13143 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13144 emacs' for (re)allocating the stack.
13145 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13146 from loop when bufp->can_be_null rather than jumping to `done'.
13147 Avoid jumping backwards so as to ensure termination. Use
13148 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13149 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13150 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13151 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13152 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13153 (lowest_active_reg, highest_active_reg)
13154 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13155 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13156 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13157 variables. Push register (in `start_memory') on the stack rather
13158 than storing it in old_reg(start|end). Remove the cycle detection
13159 from `stop_memory', replaced by the use of on_failure_jump_loop
13160 for greedy loops. Add code for the new on_failure_jump_<foo>.
13161 Remove ad-hoc code in `on_failure_jump' to push more registers in
13162 the case of a loop. Take out code from `maybe_pop_jump' into
13163 separate functions and adapt it to the semantics of
13164 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13165 and push_dummy_failure. Remove dummy_failure handling and
13166 handling of `failures to jump to on_failure_jump' (this last one
13167 was already dead code, it seems).
13168 (group_match_null_string_p, alt_match_null_string_p)
13169 (common_op_match_null_string_p): Remove.
95cd4c40 13170
7397acc4
DL
131712000-03-08 Dave Love <fx@gnu.org>
13172
13173 * config.in: Don't depend on __STDC__ for volatile.
13174 Add POINTER_TYPE, PTR, PROTOTYPES.
13175
13176 * hftctl.c, strftime.c: Use PROTOTYPES.
13177 * eval.c (find_handler_clause): Likewise.
13178
13179 * mem-limits.h: Use POINTER_TYPE.
13180
13181 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13182 (memory_warnings): Declare using POINTER_TYPE.
13183
5e91ff9e
GM
131842000-03-08 Gerd Moellmann <gerd@gnu.org>
13185
feab4fba
GM
13186 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13187
52283633 13188 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13189
5e91ff9e
GM
13190 * xfns.c: Remove obsolete code in #if 0.
13191 (Fx_focus_frame): New function.
13192
a735b7e1
KH
131932000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13194
13195 * coding.c (coding_category_name): Add coding-category-utf-8,
13196 coding-category-utf-16-be, coding-category-utf-16-le.
13197 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13198 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13199 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13200 (detect_coding_utf_8): New function.
13201 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13202 UTF_16_LOW_SURROGATE_P): New macros.
13203 (detect_coding_utf_16): New function
13204 (detect_coding_mask): When priorities are specified, skip any
13205 categories that have `nil' coding-system. Fix bug of returning
13206 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13207 returns a mask not set in PRIORITIES.
13208 (detect_eol_type_in_2_octet_form): New function.
13209 (detect_eol): selects detect_eol_type_XXX to call according to
13210 cooding->category_idx.
13211 (detect_coding_system): Remove `nil' coding-system in the result.
13212 (Fupdate_coding_systems_internal): Update all coding-categories.
13213
52283633
SM
13214 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13215 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13216 New macros.
13217 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13218 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13219 (CODING_CATEGORY_IDX_UTF_16_LE)
13220 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13221 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13222 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13223 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13224
9994cc69
GM
132252000-03-07 Gerd Moellmann <gerd@gnu.org>
13226
e9b4e5ff
GM
13227 * doc.c (Fdocumentation_property): If value is not a string,
13228 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13229
f7daf1e1
GM
13230 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13231 close the display with XtCloseDisplay. This caused a bus error
13232 on OpenWindows.
13233
9994cc69
GM
13234 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13235 complete but not unique.
13236
4336c705
GM
132372000-03-06 Gerd Moellmann <gerd@gnu.org>
13238
18bb0684
GM
13239 * process.c (send_process): Remove local variable `procname' that
13240 might become invalid when a GC happens. Instead, access the
13241 process name slot directly.
13242
4336c705
GM
13243 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13244 orig_height if set.
13245
13246 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13247 orig_height if set.
13248
515d0d0e
EZ
132492000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13250
13251 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13252 glyph matrices have been freed.
13253
100b3cbb
GM
132542000-03-05 Gerd Moellmann <gerd@gnu.org>
13255
50df5e5a 13256 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13257 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13258
13259 * xfns.c (QCdata): Moved to xdisp.c.
13260
13261 * xdisp.c (QCdata): Moved here from xfns.c.
13262 (syms_of_xdisp): Initialize QCdata.
13263
13264 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13265
13266 * window.c (coordinates_in_window): Use
13267 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13268 FRAME_INTERNAL_BORDER_WIDTH.
13269
100b3cbb 13270 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13271 it is obviously invalid.
100b3cbb
GM
13272
13273 * xterm.c (x_term_init): Create a colormap if not using the
13274 default visual.
13275
13276 * xterm.h (select_visual): Change prototype.
13277
13278 * xfns.c (select_visual): Rewritten. Recognize user-specified
13279 visual classes.
13280 (visual_classes): New variable.
13281
64d739c4
GM
132822000-03-04 Gerd Moellmann <gerd@gnu.org>
13283
13284 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13285 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13286 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13287 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13288 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13289 XtNcolormap resources.
13290 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13291 (Fx_create_frame): Initialize color members of x_output structure.
13292 (xpm_load): Pass colormap to XPM lib.
13293
13294 * xfaces.c (x_free_colors): Access colormap of frame using
13295 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13296 when default colormap is used.
13297
13298 * xterm.c (x_term_init): Set Colormap member of x_display_info
13299 structure. Copy colormap if resource `privateColormap' is
13300 specified (PseudoColor only).
13301 (x_setup_relief_color): Access colormap of frame using
13302 FRAME_X_COLORMAP.
13303
13304 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13305 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13306
c3cee013
JR
133072000-03-04 Jason Rumney <jasonr@gnu.org>
13308
13309 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13310 other non-platform-specific equivalents.
64d739c4 13311 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13312 specific functions and macros as their w32 equivalents where
13313 non-platform-specifics are not available.
13314 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13315 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13316 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13317 (frame_update_line_height): Use macros to access f->output_data.
13318 (defined_color): Remove FIXME comments; fixed.
13319 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13320 into #ifdef blocks. Add WINDOWSNT blocks.
13321 (Fx_list_fonts): Use macros for accessing font data.
13322 (set_lface_from_font_name): Different default fonts for X and
13323 WINDOWSNT.
13324 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13325 scalable for backward compatibility.
64d739c4 13326 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13327 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13328
64d739c4 13329 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13330 syms_of_w32faces.
13331
13332 * makefile.nt (w32faces.obj): Remove.
13333 (xfaces.obj): Add.
13334
807cc41c
JR
133352000-03-03 Jason Rumney <jasonr@gnu.org>
13336
13337 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13338 correct parameters.
13339
0007072a
KR
133402000-03-03 Ken Raeburn <raeburn@gnu.org>
13341
13342 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13343 standard ELF definitions here if the system header does not.
13344
71a6ba55
GM
133452000-03-03 Gerd Moellmann <gerd@gnu.org>
13346
13347 * xterm.c (PER_CHAR_METRIC): Removed.
13348 (x_per_char_metric_1, x_default_char): New functions.
13349 (x_per_char_metric): If font's default char is invalid, return
13350 metrics of a suitably chosen usable default char.
13351 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13352 char, replace occurrences of unprintable chars with a suitably
13353 chosen usable default char.
71a6ba55 13354
900fa1f1
GM
133552000-03-02 Gerd Moellmann <gerd@gnu.org>
13356
42f55fe0
GM
13357 * xterm.c (note_mouse_highlight): Return quickly if frame's
13358 glyph matrices have been freed.
13359
13360 * dispnew.c (free_glyphs): Block input while freeing matrices.
13361
900fa1f1
GM
13362 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13363
52283633
SM
13364 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13365 Use x_free_colors.
900fa1f1
GM
13366
13367 * dispextern.h (x_free_colors): Add prototype.
13368
13369 * xfaces.c (x_free_colors): New function.
13370 (unload_color, free_face_colors): Use it.
13371
2f950292
EZ
133722000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13373
13374 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13375
13376 * window.c [MSDOS]: Include msdos.h.
13377
54d04320
DL
133782000-03-02 Dave Love <fx@gnu.org>
13379
13380 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13381
13382 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13383 set C_OPTIMIZE_SWITCH for gcc.
13384
0ba93ac4
KH
133852000-03-02 Kenichi Handa <handa@etl.go.jp>
13386
13387 * coding.c (coding_save_composition): Be sure to allocate
13388 composition data area in coding even if there's no composition in
13389 the current run.
13390
a2bc11d4
JR
133912000-03-01 Jason Rumney <jasonr@gnu.org>
13392
13393 * w32term.c: Equivalent changes to those made to xterm.c on
13394 2000-02-25 and 2000-02-24.
13395
13396 * w32fns.c: Equivalent changes to those made to xfns.c on
13397 2000-02-25 and 2000-02-21.
13398
13399 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13400 correct line-end convention is followed.
13401
13402 * w32menu.c [HAVE_BOXES]: Remove #undef.
13403 (single_keymap_panes): Remove code for simulating checkmarks.
13404 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13405 Remove code for drawing simulated checkmarks.
13406 (w32_menu_show): make unibyte help string correctly.
13407 (add_menu_item): draw standard Windows checkmarks. Draw radio
13408 buttons as radio buttons if possible.
13409
72d19d75
GM
134102000-03-01 Gerd Moellmann <gerd@gnu.org>
13411
2df636f4
GM
13412 * sysdep.c (start_of_text): Don't define this function for NetBSD
13413 with ELF.
13414
427ec082 13415 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13416 Don't define.
13417 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13418 (LINKER): Don't undef if __NetBSD__ is defined.
13419
13420 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13421
13422 * fileio.c [__NetBSD__]: Define `unix'.
13423
72d19d75
GM
13424 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13425
ed4d0512
GM
134262000-02-29 Gerd Moellmann <gerd@gnu.org>
13427
50b1039f
GM
13428 * atimer.c (start_atimer): Don't abort when timers are stopped.
13429 (append_atimer_lists): New function.
13430 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13431 arbitrary lists of stopped and running atimers.
13432
ed4d0512
GM
13433 * atimer.c (cancel_atimer): Handle canceling an atimer when
13434 some timers are stopped.
13435
13436 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13437 after canceling it.
13438
13439 * fns.c (maybe_resize_hash_table): Handle case of new size
13440 coming out as being the same as old size.
13441
387023ee
JR
134422000-02-27 Jason Rumney <jasonr@gnu.org>
13443
13444 * makefile.nt: Add atimer.h to dependencies.
13445 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13446 * w32console.c: Only disable window system features for dispextern.h
13447 (initialize_w32_display): Build a display info for the console.
13448 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13449 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13450 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13451 as 2 button mice.
13452 * w32gui.h (struct W32FontStruct): Revert last change after change
13453 to xdisp.c.
13454 * w32menu.c (single_submenu): Set up help string.
13455 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13456 (w32_dialog_show): Set up help string.
13457 * w32term.c (w32_display_info_for_display): Remove unused function.
13458 (w32_draw_bitmap): Use pre-built bitmaps.
13459 (w32_initialize_display_info): New function to initialize parts of
13460 display info that are common to both GUI and console frames.
13461 (w32_term_init): Use w32_initialize_display_info. Do not set
13462 Vw32_num_mouse_buttons here, as it is not called for console
13463 frames. Build bitmaps for indicating truncated lines etc.
13464 (x_delete_display): Destroy pre-built bitmaps.
13465 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13466 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13467
4516715a
DL
134682000-02-27 Dave Love <fx@gnu.org>
13469
13470 * lisp.h: Add a bunch of prototypes.
13471
171ca836
KH
134722000-02-26 Kenichi Handa <handa@etl.go.jp>
13473
13474 * keyboard.c (read_char): Set `usec' correctly.
13475
4013921d
KH
134762000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13477
13478 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13479 `lambda', set reg[RRR] to the map index.
13480 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13481 reg[RRR] to 0. Otherwise, set it to -1.
13482
9244a058
GM
134832000-02-25 Gerd Moellmann <gerd@gnu.org>
13484
2df636f4 13485 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13486
18e21ce8 134872000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13488
f43d79c1
GM
13489 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13490 and contains a `:', prepend `/:'.
13491
13492 * window.c (select_window_1): If selected_window is nil,
13493 don't "swap out" the buffer's point.
13494 (Fset_window_configuration): Set selected_window to nil
13495 before calling Fselect_window.
13496 (unshow_buffer): Don't set point in buffer from window's point
13497 if another more recently selected window also shows the buffer.
13498
bed0c171
GM
134992000-02-25 Gerd Moellmann <gerd@gnu.org>
13500
449c3c52
GM
13501 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13502
f5b58615
GM
13503 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13504 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13505 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13506 New variables.
f5b58615
GM
13507 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13508 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13509 (hide_busy_cursor): New functions.
13510 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13511
13512 * minibuf.c (read_minibuf): Cancel busy-cursor.
13513
13514 * keyboard.c (command_loop_1): Call start_busy_cursor before
13515 Fcommand_execute and cancel_busy_cursor after it.
13516 (timer_check): Remove busy-cursor code.
13517 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13518 cursor timer.
13519
13520 * process.c (wait_reading_process_input): Remove busy-cursor code.
13521
13522 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13523 Fx_hide_busy_cursor.
13524
13525 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13526 Remove prototyoes.
13527 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13528
13529 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13530
13531 * xterm.c (XTread_socket): Remove busy-cursor code.
13532
4eb8436f
GM
13533 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13534 (build_frame_matrix_from_leaf_window): Put code handling
13535 glyph row's not being a slice of a frame row in #if 0.
13536 (sync_window_with_frame_matrix_rows): New function.
13537 (frame_row_to_window): New function.
13538 (mirror_line_dance): Handle copies between windows.
13539
3cb65b0e
GM
13540 * lread.c (Fload): Use `xfree' instead of `free'.
13541 (init_obarray): Use `xmalloc' instead of `malloc'.
13542
bed0c171
GM
13543 * window.c (Fset_window_buffer): Set WINDOW to the window
13544 after decoding.
2add4349
GM
13545 (coordinates_in_window): Take frame's internal border width
13546 into account.
bed0c171 13547
42088c12
GM
135482000-02-24 Gerd Moellmann <gerd@gnu.org>
13549
13550 * xterm.c (x_display_and_set_cursor): Display cursor of
13551 non-selected windows depending on the setting of
13552 cursor_in_non_selected_windows.
13553
13554 * xdisp.c (cursor_in_non_selected_windows): New variable.
13555 (syms_of_xdisp): DEFVAR_BOOL it.
13556
d1e103b2
GM
135572000-02-23 Gerd Moellmann <gerd@gnu.org>
13558
723e779c
GM
13559 * data.c (Fstring_to_number): If number is greater than what
13560 fits into an integer, return a float.
13561
d1e103b2
GM
13562 * eval.c (specbind): Remove references to
13563 keyword_symbols_constant_flag.
13564
13565 * data.c (keyword_symbols_constant_flag): Removed.
13566 (Fmakunbound, set_internal, syms_of_data): Remove references to
13567 keyword_symbols_constant_flag.
13568
13569 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13570
214f877f
KH
135712000-02-23 Kenichi Handa <handa@etl.go.jp>
13572
13573 * syntax.c (multibyte_syntax_as_symbol): New variable.
13574 (syms_of_syntax): Declare it as a Lisp variable.
13575 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13576 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13577 nonzero, treat all multibyte characters as symbol.
52283633 13578 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13579
130adcb7
EZ
135802000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13581
3cb65b0e 13582 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13583 a deleted frame.
130adcb7 13584
17cbbf95
GM
135852000-02-21 Gerd Moellmann <gerd@gnu.org>
13586
13587 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13588
13589 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13590 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13591
beb0bc36
DL
135922000-02-21 Dave Love <fx@gnu.org>
13593
13594 * frame.c (Vmouse_position_function): New variable.
13595 (Fmouse_position): Use it.
13596 (syms_of_frame): Install it.
13597
13598 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13599
1d92afcd
GM
136002000-02-20 Gerd Moellmann <gerd@gnu.org>
13601
13602 * fileio.c (Finsert_file_contents): Unbind the binding of
13603 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13604
13605 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13606 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13607 (specbind, unbind_to): Handle most common case of non-constant
13608 symbol with trivial value specially.
13609
13610 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13611
18e21ce8 136122000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13613
13614 * data.c (Fmake_variable_buffer_local): Doc fix.
13615 Init found_for_buffer to 0.
13616 (Fmake_variable_frame_local): If the variable has already
13617 been buffer-local, set the check_frame field.
13618
1d4311c3
EZ
136192000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13620
13621 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13622 produced for CODING_MODE_LAST_BLOCK requires.
13623
2dc95ddd
DL
136242000-02-18 Dave Love <fx@gnu.org>
13625
13626 * keyboard.c (echo_keystrokes): Remove declaration.
13627 (Vecho_keystrokes) New variable.
13628 (read_char, record_menu_key, read_key_sequence): Use it to allow
13629 use of float value.
13630 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13631
13632 * lread.c: Undef feature selection macros before defining.
13633
f0930f35
GM
136342000-02-18 Gerd Moellmann <gerd@gnu.org>
13635
13636 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13637 for symbols other than the symbol in question.
13638
e3d4de90
DL
136392000-02-17 Dave Love <fx@gnu.org>
13640
13641 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13642
0b378936
GM
136432000-02-17 Gerd Moellmann <gerd@gnu.org>
13644
d621caf7
GM
13645 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13646
0b378936
GM
13647 * alloc.c (enum mem_type): Compile unconditionally.
13648
3b451f74
EZ
136492000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13650
13651 * xfaces.c (tty_defined_color): Don't return faulire indication
13652 for unspecified-fg and unspecified-bg pseudo-colors.
13653
10689a01
GM
136542000-02-17 Gerd Moellmann <gerd@gnu.org>
13655
1216f5e4
GM
13656 * alloc.c (mark_object): Don't mark symbol names in pure space.
13657 (gc_sweep): Don't unmark symbol names in pure space.
13658
13659 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13660 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13661 [GC_MARK_STACK]: New defines.
427ec082 13662 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13663 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13664
13665 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13666
13667 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13668 allocate_buffer instead of xmalloc.
13669
13670 * alloc.c (toplevel): Include setjmp.h.
13671 (PURE_POINTER_P): New define.
13672 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13673 (Vdead) [GC_MARK_STACK]: New variable.
13674 (lisp_malloc): Add parameter TYPE, call mem_insert if
13675 GC_MARK_STACK is defined.
13676 (allocate_buffer): New function.
427ec082 13677 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13678 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13679 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13680 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13681 (MEM_NIL) [GC_MARK_STACK]: New define.
13682 (struct mem_node) [GC_MARK_STACK]: New structure.
13683 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13684 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13685 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13686 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13687 (mark_stack) [GC_MARK_STACK]: New functions.
13688 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13689 (clear_marks): Removed.
13690 (gc_sweep): Set free conses' car, free floats' type, free
13691 symbols' function to Vdead. Use lisp_free to free buffers.
13692 (init_alloc_once): Initialize Vdead.
13693 (survives_gc_p): Return non-zero for pure objects.
13694
13695 * alloc.c: Add comments throughout the file.
13696
2503c8b1
GM
13697 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13698 that unblocks alarms.
13699
8389e1e2
GM
13700 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13701 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13702 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13703
10689a01 13704 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13705
bfc17d18
KH
137062000-02-17 Kenichi Handa <handa@etl.go.jp>
13707
4a09dee0
KH
13708 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13709 avoid infinite error signaling. Allocate sufficient memory for
13710 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13711
2b927d02
SM
137122000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13713
13714 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13715 depends on the previous behavior.
13716
b49cb764
GM
137172000-02-16 Gerd Moellmann <gerd@gnu.org>
13718
13719 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13720
99e95407
GM
137212000-02-15 Gerd Moellmann <gerd@gnu.org>
13722
13723 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13724
13725 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13726 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13727 write(2).
13728
6ffd3cf7
RS
137292000-02-15 Richard M. Stallman <rms@gnu.org>
13730
13731 * data.c (set_internal): Don't make variable buffer-local
13732 if within a let-binding for the same buffer.
13733 (let_shadows_buffer_binding_p): New function.
13734
13735 * eval.c (specbind): For buffer-local value,
13736 record the current buffer also.
13737 (unbind_to): Cope with that change.
13738
cad53475
GM
137392000-02-15 Gerd Moellmann <gerd@gnu.org>
13740
13741 * window.c (Fsave_window_excursion): Doc fix.
13742
1aa963c8
SM
137432000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13744
13745 * syntax.c (back_comment): Make sure we only consider comment-starters
13746 of the relevant style and return -1 in case of a failure to find the
13747 beginning of the comment.
13748 (Fforward_comment): If back_comment fails, go back to the position just
13749 after the comment-end.
13750 (scan_lists): Add comment describing a very minor bug.
13751
b9b84fd3
SM
137522000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13753
13754 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13755 `completion-regexp-list' in the docstring.
13756
3a28db80
DL
137572000-02-14 Dave Love <fx@gnu.org>
13758
13759 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13760
fb4a568d
SM
137612000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13762
13763 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13764 to Emacs' syntax. Also fix the comment about set/not-set meanings
13765 since Emacs syntax is not the value 0 any more.
13766 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13767 since it's now part of RE_SYNTAX_EMACS.
13768
1063ebb5
DL
137692000-02-12 Dave Love <fx@gnu.org>
13770
52283633 13771 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13772
fb07a302
GM
137732000-02-12 Gerd Moellmann <gerd@gnu.org>
13774
13775 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13776
aaf2320c
DL
137772000-02-12 Dave Love <fx@gnu.org>
13778
13779 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13780
13781 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13782 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13783 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13784
13785 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13786
13787 * s/nextstep.h: Don't define HAVE_ALLOCA.
13788
13789 * config.in: Add vfork bits.
13790
eedf8bde
GM
137912000-02-12 Gerd Moellmann <gerd@gnu.org>
13792
13793 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13794 unwind function to undo the effect of stopping atimers.
13795
52283633 13796 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13797
13798 * atimer.c (stopped_atimers): New variable.
13799 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13800 New functions.
13801
13802 * atimer.h (stop_other_atimers, run_all_atimers)
13803 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13804
eedf8bde
GM
13805 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13806
8476c2f8
KR
138072000-02-11 Ken Raeburn <raeburn@gnu.org>
13808
13809 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13810 library may depend on jpeg.
13811 (atimer.o): Depends on atimer.c.
13812
0e85e4a3
KH
138132000-02-11 Kenichi Handa <handa@etl.go.jp>
13814
13815 * insdel.c (del_range_1): Call update_compositions.
13816 (del_range_both): Call update_compositions just once..
13817
97fa0cc8
DL
138182000-02-10 Dave Love <fx@gnu.org>
13819
13820 * xfns.c (create_frame_xic): Fix initialization of automatic
13821 aggregates for pcc.
13822
25566a3c
KH
138232000-02-09 Kenichi Handa <handa@etl.go.jp>
13824
13825 * ccl.c (CCL_MAKE_CHAR): New macro.
13826 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13827 registers by CCL_MAKE_CHAR before calling translate_char.
13828 <CCL_TranslateCharacterConstTbl> Likewise.
13829
69da54ba
DL
138302000-02-08 Dave Love <fx@gnu.org>
13831
13832 * lread.c (__EXTENSIONS__): Define.
13833
f7136ee8
GM
138342000-02-08 Gerd Moellmann <gerd@gnu.org>
13835
13836 * puresize.h (BASE_PURESIZE): Increase to 650000.
13837
7768790b
EZ
138382000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13839
13840 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13841 the help message.
13842
38fd211b
EZ
138432000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13844
13845 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13846 md, mh, mb, mr, and me to the fake termcap entry.
13847
66e4690f
KR
138482000-02-06 Ken Raeburn <raeburn@gnu.org>
13849
13850 * sound.c (sound_cleanup): Don't call device close routine if the
13851 function pointer is null.
13852
a75dfea0
AI
138532000-02-06 Andrew Innes <andrewi@gnu.org>
13854
13855 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13856 around image definitions and prototypes.
13857 (gamma_correct) [WINDOWSNT]: New prototype.
13858
13859 * w32term.c (x_make_frame_visible): Replace call to
13860 input_poll_signal with poll_for_input.
13861
13862 * window.c [WINDOWSNT]: Include w32term.h.
13863
13864 * xdisp.c [WINDOWSNT]: Include w32term.h.
13865
13866 * makefile.nt: Add dependencies on w32gui.h.
13867 (OBJ1): Include atimer.obj.
13868 ($(BLD)\atimer.obj): New dependency rule.
13869
13870 * w32.c (sigmask): New function (does nothing).
13871 (sigunblock): Ditto.
13872
13873 * frame.c [WINDOWSNT]: Include w32term.h.
13874
13875 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13876
13877 * lread.c (syms_of_lread): Fix literal newlines.
13878
13879 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13880 the string constant limit (2048 bytes) in MSVC.
13881 (main): Ditto.
13882
59ddecde
GM
138832000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13884
52283633 13885 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13886 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13887 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13888 dispatch the event.
13889
07590973
DL
138902000-02-04 Dave Love <fx@gnu.org>
13891
13892 * fileio.c: Remove some unused vars.
13893 (_GNU_SOURCE): Define (for euidaccess).
13894
13895 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13896
13897 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13898 gcpro1, gcpro2.
13899 (read_minibuf): Deal with allow_props correctly.
13900
649351f9
EZ
139012000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13902
13903 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13904
66e4690f 139052000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13906
13907 * search.c (compile_pattern): If a cache entry has a nil regexp,
13908 fill in that entry instead of clobbering a previously cached
13909 string regexp.
13910
66e4690f 139112000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13912
13913 * puresize.h (BASE_PURESIZE): Increase to 610000.
13914
d240a249
GM
139152000-02-02 Gerd Moellmann <gerd@gnu.org>
13916
13917 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13918 can GC.
13919
ca91fb26
KH
139202000-02-02 Kenichi Handa <handa@etl.go.jp>
13921
25660570
KH
13922 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13923 instead of incrementing ic directly.
13924 <CCL_WriteExprConst> Likewise.
13925 <ccl_set_expr>: Set ic to jump_address.
13926
ca91fb26
KH
13927 * fileio.c (e_write): Fix the handling of
13928 CODING_FINISH_INSUFFICIENT_SRC.
13929
2ede9689
DL
139302000-02-01 Dave Love <fx@gnu.org>
13931
13932 * editfns.c (Fpropertize): Doc fix.
13933
13934 * process.c (Fstart_process): Doc fix.
13935
13936 * eval.c: Fix various doc strings not to duplicate information
13937 from help-manyarg-func-alist.
13938
52283633 13939 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13940
13941 * doc.c (Vhelp_manyarg_func_alist): New variable.
13942 (Fdocumentation): Use it.
13943 (syms_of_doc): Define it.
13944
b6680a0e
GM
139452000-01-31 Gerd Moellmann <gerd@gnu.org>
13946
2cb750ba
GM
13947 * xterm.c (xim_open_dpy): Remove unused local variable.
13948
52283633 13949 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13950
13951 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13952 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13953
b6680a0e
GM
13954 * fns.c (sweep_weak_table): New function.
13955 (sweep_weak_hash_tables): Use it. Keep on marking until there
13956 is no more change.
13957
994c5afe
GM
139582000-01-30 Gerd Moellmann <gerd@gnu.org>
13959
13960 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13961 that XTread_socket does not crash by trying to call XNoOp on a
13962 closed display.
427ec082 13963
f00276e3
JR
139642000-01-30 Jason Rumney <jasonr@gnu.org>
13965
13966 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13967 Change selected_frame to SELECTED_FRAME ().
13968 (w32_console_mouse_position): Remove #ifndef MULE from around
13969 `insist' parameter.
13970
13971 * makefile.nt: Remove dosfns.obj.
13972
13973 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13974
13975 * w32fns.c (w32_defined_color): Check for valid frame before
13976 applying gamma correction. Eliminate dependency on frame elsewhere.
13977 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13978 (w32_to_x_font): Use resx and resy not height_in and width_in.
13979 (x_to_w32_font): Doc fix.
13980 (xlfd_strip_height): New function to strip and return font height.
13981 (w32_font_match): Compare height separately from rest of xlfd
13982 spec, using xlfd_strip_height.
13983
13984 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13985 width_in. Use w32_defined_color in place of defined_color.
13986
13987 * w32faces.c: Merge more of DOS and X specifics in preparation for
13988 merge with xfaces.c.
13989 (defined_color): Remove FIXME comment.
13990 (tty_color_name): Provide w32-specific function.
13991 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13992
13993 * w32console.c (turn_on_face, turn_off_face): Removed.
13994 (w32_face_attributes): New function.
13995 (Global_variables): Reduce scope where possible.
13996 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13997 fill attribute.
13998 (hl_mode): Don't modify text attributes.
13999 (write_glyphs): Don't do anything if len <= 0. Use
14000 w32_face_attributes to get attributes for drawing. Write
14001 terminating codes using char_attr_normal.
14002 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14003 (update_begin, update_end): Likewise.
14004 (vga_stdcolor_name): New function.
14005 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14006 (Fset_screen_color): Remove char_attr_reverse.
14007
b08e8bb2
GM
140082000-01-29 Gerd Moellmann <gerd@gnu.org>
14009
14010 * xfns.c (xic_set_preeditarea): Take window parameter and
14011 window-relative pixel-positions.
14012
14013 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14014 is its frame's selected window.
14015 (xim_instantiate_callback): Likewise.
14016
14017 * xfns.c (x_create_im): Removed.
14018 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14019 (supported_xim_styles): Renamed from supported_styles.
14020 (best_xim_style): Renamed from best_style.
14021 (create_frame_xic): Renamed from xic_create_frame.
14022 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14023
b08e8bb2
GM
140242000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14025
14026 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14027 our frames, call XFilterEvent with 2nd parameter `None'.
14028 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14029 returning XBufferOverflow.
52283633 14030 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14031 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14032 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14033 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14034 (xim_initialize, xim_close)
14035 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14036 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14037 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14038 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14039
14040 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14041 and `xim_styles'.
14042 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14043 `xic_style' and `xic_xfs'.
14044 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14045 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14046 (FRAME_XIM): Removed.
14047
14048 * xfns.c (supported_styles): New variable.
14049 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14050 (xic_create_xfontset, best_style, xic_create_frame)
14051 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14052 (xic_set_xfontset): New functions.
14053
142e109c
DL
140542000-01-28 Dave Love <fx@gnu.org>
14055
14056 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14057
14058 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14059
b02786f9
GM
140602000-01-28 Gerd Moellmann <gerd@gnu.org>
14061
d060bc9f
GM
14062 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14063 for *scratch* if it already existed.
14064
b02786f9
GM
14065 * emacs.c (USAGE): New macro.
14066 (main): Use it to display usage information.
14067
2c52d7e4
EZ
140682000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14069
14070 Support for the menu-help feature:
14071
52283633 14072 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14073
14074 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14075 part of the line to the termscript file.
14076 (IT_clear_to_end): Clear the entire line, not just its beginning.
14077 (menu_help_message, prev_menu_help_message): New variables.
14078 (IT_menu_make_room): Make room for the help_text member.
14079 (IT_menu_display): New argument disp_help; all callers changed.
14080 If disp_help is non-zero, store the help text of the active menu
14081 item in menu_help_message.
14082 (XMenuAddPane): Initialize the help_text member to NULL.
14083 (XMenuAddSelection): New argument help_text. Store it in the
14084 XMenu structure.
14085 (XMenuActivate): New argument help_callback. If the value of
14086 menu_help_message has changed since the last time, display the
14087 menu help message text while waiting for the mouse to move. Clear
14088 the echo area before exiting.
14089 (XMenuDestroy): Free the help_text member.
14090
ffe0bcd1
GM
140912000-01-27 Gerd Moellmann <gerd@gnu.org>
14092
14093 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14094 XMenuAddSelection. Pass help callback to XMenuActivate.
14095 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14096
50dbd23f
EZ
140972000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14098
14099 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14100 and EMACS_SET_USECS.
14101
f5941bf8
GM
141022000-01-26 Dave Love <fx@gnu.org>
14103
6c67ddee
DL
14104 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14105
f5941bf8
GM
14106 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14107 an error may be signalled.
14108
9e49c990
GM
141092000-01-26 Gerd Moellmann <gerd@gnu.org>
14110
fc3cb460
GM
14111 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14112 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14113
9e49c990
GM
14114 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14115
d0c037d8
GM
141162000-01-25 Gerd Moellmann <gerd@gnu.org>
14117
14118 * charset.c (Fstring): If there is a multibyte char among
14119 the args, always return a multibyte string.
14120
e12489f9
GM
141212000-01-25 Gerd Moellmann <gerd@gnu.org>
14122
14123 * sysdep.c (sys_select): Turn atimers off and on instead of
14124 recording and restoring old alarm handler
14125
14126 * process.c (toplevel): Include atimer.h.
14127 (create_process_1): Rewritten.
14128 (create_process): Use atimers instead of alarm.
14129 (wait_reading_process_input) [hpux]: Turn atimers off instead
14130 of turning off SIGALRM.
14131 (wait_reading_process_input): Turn off atimers instead off
14132 calling stop_polling.
14133
14134 * emacs.c (main): Call init_atimer.
14135
14136 * keyboard.c (toplevel): Include systime.h and atimer.h.
14137 (polling_for_input): Removed because unused.
14138 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14139 (poll_timer): New variable.
14140 (poll_for_input, poll_for_input_1): New functions.
14141 (start_polling, stop_polling): Rewritten.
14142
14143 * keyboard.h (polling_for_input): Removed.
427ec082 14144
e12489f9
GM
14145 * atimer.h, atimer.c: New files.
14146
14147 * Makefile.in (obj): Add atimer.o.
14148 (atimer.o): New target.
14149
14150 * blockinput.h (pending_atimers): Add extern declaration.
14151 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14152
14153 * lisp.h (popup_activated_flag): Add extern declaration.
14154
14155 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14156 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14157 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14158
14159 * xterm.c (toplevel): Include atimer.h.
14160 (toolkit_scroll_bar_interaction): New variable.
14161 (Fxt_process_timeouts): Removed.
14162 (x_process_timeouts): New function.
14163 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14164 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14165 (x_make_frame_visible): Call poll_for_input_1 instead of
14166 input_poll_signal. Don't call alarm.
14167 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14168
1e5279b9
DL
141692000-01-24 Dave Love <fx@gnu.org>
14170
6c67ddee 14171 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14172 Don't use -cckr -- apparently not now necessary.
14173
edf6aeb8
EZ
141742000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14175
14176 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14177 screen boundary.
14178
9badad41
JR
141792000-01-23 Jason Rumney <jasonr@gnu.org>
14180
14181 * w32fns.c (w32_defined_color): Apply gamma correction before
14182 trying to map to the palette.
14183 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14184 to w32_clear_rect.
14185
14186 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14187 here. Callers changed to always pass real device context.
14188 (w32_draw_bitmap): Likewise.
14189 (w32_get_glyph_overhangs): Likewise.
52283633 14190 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14191 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14192 pfnSetScrollInfo and SetScrollRange.
14193 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14194 back into MULE characters after decoding them.
14195 (x_get_glyph_face_and_encoding): Likewise.
14196 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14197 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14198 (x_produce_glyphs): Calculate per char metrics for a character
14199 that we know exists in default font when font_not_found_p is true.
14200
63bd786b
JR
142012000-01-22 Jason Rumney <jasonr@gnu.org>
14202
14203 * makefile.nt (intervals.obj, composite.obj): New modules.
14204 (composite.h): Added as dependency where appropriate.
14205
14206 * w32gui.h (XGCValue): New struct for emulating X GCs.
14207
14208 * w32term.h (XCharStruct): New struct for emulating X.
14209
14210 * w32console.c (turn_on_face, turn_off_face): New functions.
14211 (change_line_highlight): New prototype for new redisplay.
14212 (write_glyphs): Support multibyte text. Support faces.
14213
52283633 14214 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14215
14216 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14217 throughout. struct frame * in place of FRAME_PTR.
14218 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14219 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14220 (w32_get_arg): Renamed from x_get_arg.
14221 (Fx_file_dialog): New function.
14222 (w32_list_fonts): Check cache before asking system.
14223 (Vw32_enable_synthesized_fonts): New variable.
14224 (Vw32_enable_italics): Obsolete, removed.
14225
14226 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14227 Use SELECTED_FRAME macro.
14228
14229 * w32menu.c: Add skeleton support for help strings on menus.
14230 (add_menu_item): Native checkbox and radio support added, but not
14231 yet enabled due to bugs.
14232 (push_menu_item): Add parameters type, selection and help.
14233 Callers updated.
14234 Formatting changes to reduce unnecessary diffs with xmenu.c.
14235
14236 * w32select.c (Fw32_set_clipboard_data): Update call to
14237 find_charset_in_str.
14238
14239 * w32term.c: Complete rewrite for new redisplay based on new
14240 xterm.c with necessary sections merged back in from old w32term.c.
14241
6ffd3cf7 142422000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14243
14244 * data.c (set_internal): Further fix in same criterion.
14245
6ffd3cf7 142462000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14247
14248 * data.c (set_internal): Fix the criteria for whether
14249 to swap out the old cached binding.
14250
60af03f1
DL
142512000-01-19 Dave Love <fx@gnu.org>
14252
14253 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14254
f9be074f
KH
142552000-01-18 Kenichi Handa <handa@etl.go.jp>
14256
14257 * regex.c (re_compile_fastmap): While checking a range table for
14258 `charset', skip flag bits for a character class correctly.
14259
52b8dbf9
GM
142602000-01-17 Gerd Moellmann <gerd@gnu.org>
14261
d36100c9
GM
14262 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14263
52283633 14264 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14265
14266 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14267 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14268
14269 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14270 MENU_ITEMS_ITEM_.*.
14271 (MENU_ITEMS_ITEM_HELP): New enumerator.
14272 (push_menu_item): Add parameter HELP. Record help in menu_items.
14273 (single_menu_item, single_submenu, list_of_items): Call
14274 push_menu_item with new parameter.
14275 (single_submenu): Set help string in widget value.
14276 (menu_highlight_callback): New function.
14277 (set_frame_menubar): Call lw_create_widget with new
14278 parameter list.
14279 (xmenu_show, xdialog_show): Ditto.
14280
3139018f
GM
142812000-01-13 Gerd Moellmann <gerd@gnu.org>
14282
14283 * sound.c (Fplay_sound): Improve doc string.
14284
83c8f461
RS
142852000-01-11 Richard M. Stallman <rms@gnu.org>
14286
14287 * lisp.h (set_internal): Enter the new arg.
14288
14289 * eval.c (specbind): Record buffer-local variables specially,
14290 indicating which buffer's binding was saved.
14291 (unbind_to): Restore buffer-local variables specially
14292 in the proper buffer.
14293
14294 * data.c (set_internal): New arg BUF.
427ec082 14295
83c8f461
RS
14296 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14297 * data.c (Fset): Pass new arg to set_internal.
14298 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14299
1fab1775
GM
143002000-01-11 Gerd Moellmann <gerd@gnu.org>
14301
52283633 14302 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14303
83c8f461 143042000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14305
14306 * minibuf.c (Ftry_completion): Doc fix.
14307
7a85e4df
GM
143082000-01-11 Gerd Moellmann <gerd@gnu.org>
14309
14310 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14311 vector, too.
14312
a970dae4
AS
143132000-01-11 Andreas Schwab <schwab@suse.de>
14314
14315 * coding.c (code_convert_region): Initialize total_skip.
14316
c65d14ee
DL
143172000-01-08 Dave Love <fx@gnu.org>
14318
14319 * eval.c (Fuser_variable_p): Check customizability too.
14320
834938d2
GM
143212000-01-07 Gerd Moellmann <gerd@gnu.org>
14322
14323 * minibuf.c (Fcompleting_read): Doc fix.
14324
e0303cd6
GM
143252000-01-05 Gerd Moellmann <gerd@gnu.org>
14326
8a26744b
GM
14327 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14328 -L /usr/local/lib.
14329
e0303cd6
GM
14330 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14331 Check that input style is supported before trying to create an
14332 IC for it.
14333 (x_window): Call x_create_im.
427ec082 14334
2e471eb5
GM
143352000-01-04 Gerd Moellmann <gerd@gnu.org>
14336
560a7bd2
GM
14337 * xfns.c (current_gif_memory_src): New variable.
14338 (gif_load): Record the address of the current memory source
14339 in current_gif_memory_src.
14340 (gif_read_from_memory): Use current_gif_memory_src.
14341
f9ee84a3
GM
14342 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14343 macros statement form.
14344
d1299cde
GM
14345 * sound.c (struct sound): Renamed from struct sound_file.
14346 (struct sound): Add members `data' and `header_size'.
14347 (enum sound_attr): Add SOUND_DATA.
14348 (current_sound, current_sound_device): Variables renamed from
14349 sound_file and sound_device.
14350 (parse_sound): Parse :data.
14351 (parse_sound): Handle sound data in strings.
14352 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14353 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14354 needed header size.
14355 (wav_play, au_play): Play sounds from string data.
14356
2e471eb5
GM
14357 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14358
14359 * lisp.h: Add prototype for allocate_string_data.
14360
52283633 14361 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14362
14363 * alloc.c (mark_buffer): Remove code in #if 0.
14364 (gc_sweep): Ditto.
14365 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14366 (strings_consed): New variable.
14367 (allocate_string): Set it.
14368 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14369 (Fmemory_use_counts): Return strings_consed. Use Flist.
14370
14371 * alloc.c: General cleanup in comments etc. Remove conditional
14372 compilation for `standalone'.
14373
14374 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14375
14376 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14377 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14378 (DONT_COPY_FLAG): Removed.
14379 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14380 (struct sdata, struct sblock): New
14381 (struct string_block): Rewritten.
14382 (STRINGS_IN_STRING_BLOCK): New macro.
14383 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14384 (large_sblocks, string_blocks, string_free_list): New variables.
14385 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14386 (init_strings): Rewritten.
14387 (allocate_string, allocate_string_data, compact_small_strings)
14388 (free_large_strings, sweep_strings): New functions.
14389 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14390 (struct string_block_head, current_string_block)
14391 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14392 (STRING_PAD): Removed.
14393 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14394 (Fgarbage_collect): Don't set mark bit in large strings.
14395 (mark_object): Mark strings differently. Mark symbol names
14396 differently.
14397 (survives_gc_p): Test marked strings differently.
427ec082 14398 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14399 symbol names.
14400 (compact_strings): Removed.
14401
42608ba8
EZ
144022000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14403
14404 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14405 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14406
e0a09e1a
KH
144072000-01-04 Kenichi Handa <handa@etl.go.jp>
14408
dd9f0750 14409 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14410 in a non-empty buffer.
dd9f0750 14411
3c0f3b15 14412 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14413
44cd3ae5
GM
144142000-01-03 Gerd Moellmann <gerd@gnu.org>
14415
14416 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14417 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14418
14419 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14420
c182a70f
EZ
144212000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14422
14423 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14424 need to test for MSDOS frames.
14425
24480d5b
EZ
144262000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14427
14428 * dosfns.c (unspecified_colors): Remove.
14429 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14430 unspecified_bg.
14431 (msdos_stdcolor_name): Return strings for unspecified fore- and
14432 back-ground colors.
14433
14434 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14435 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14436 (tty_color_name): Return Lisp strings for unspecified fore- and
14437 back-ground colors.
14438 (Finternal_set_lisp_face_attribute): Remove the special treatment
14439 for Qunspecified_{f,b}g.
52283633 14440 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14441
047f434a
GM
144422000-01-03 Gerd Moellmann <gerd@gnu.org>
14443
14444 * xdisp.c (reseat_at_next_visible_line_start): Position before
14445 newline only if ending up on a newline.
14446 (next_element_from_ellipsis): Return success. Handle case of
52283633 14447 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14448 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14449 returns 0.
14450
d684c676
EZ
144512000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14452
14453 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14454 (Fcolor_supported_p): Renamed from face-color-supported-p.
14455
5fe1d139
EZ
144562000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14457
14458 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14459 list of colors renamed to tty-defined-color-alist.
14460 (tty_color_name): Pass the frame to tty-color-by-index.
14461 (realize_tty_face): tty-color-alist is now a function which
14462 accepts the frame as argument.
14463
52283633 14464 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14465
816be8b8
EZ
144662000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14467
14468 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14469 encode_terminal_code.
14470
b635321e
EZ
144712000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14472
14473 * dispnew.c (mode_line_string): Support termcap frames as well.
14474
9b784e96
GM
144752000-01-01 Gerd Moellmann <gerd@gnu.org>
14476
27189709
GM
14477 * syntax.c (Fforward_word): Undo previous change.
14478
14479 * editfns.c (Fconstrain_to_field): Don't constrain if
14480 inhibit-field-text-motion is non-nil.
14481 (Fline_beginning_position): Undo previous change.
14482 (Fline_end_position): Ditto.
14483
14484 * syntax.c (Fforward_word): Notice field boundaries only if
14485 inhibit-field-text-motion is nil.
14486
14487 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14488
14489 * editfns.c (Vinhibit_field_text_motion): New variable.
14490 (inhibit-field-text-motion): New DEFVAR_LISP.
14491 (Fline_beginning_position, Fline_end_position): Notice field
14492 boundaries only if inhibit-field-text-motion is nil.
14493
45158a91
GM
14494 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14495 All calls adjusted.
14496 (x_build_heuristic_mask): Likewise.
14497 (xbm_load_image_from_file): Change error output.
14498 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14499 (gif_load, gs_load, x_kill_gs_process): Ditto.
14500
9b784e96
GM
14501 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14502 color indices when accessing raster pixels.
63cec32f
GM
14503 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14504 one of :file or :data.
14505 (enum pbm_keyword_index): Add PBM_DATA.
14506 (pbm_format): Add :data.
14507 (pbm_image_p): Allow either :file or :data.
14508 (pbm_read_file): New function.
14509 (pbm_scan_number): Rewritten to read from string.
14510 (pbm_load): Support :data.
9b784e96 14511
2cb085db 14512See ChangeLog.8 for earlier changes.
6922b018
KH
14513
14514;; Local Variables:
49b3bd82 14515;; coding: iso-2022-7bit
6922b018 14516;; End:
2a34a036
GM
14517
14518 Copyright (C) 2001 Free Software Foundation, Inc.
14519 Copying and distribution of this file, with or without modification,
14520 are permitted provided the copyright notice and this notice are preserved.